Say Emma has:
100 KAS
Normally, if she's allowed to spend it, she gets to choose where it goes.
For example:
100 KAS -> Liam
Or:
60 KAS -> Liam40 KAS -> Olivia
But what if there was a rule attached?
Imagine setting a rule for Emma's 100 KAS:
"You can spend this KAS, but only in a certain way."
For example:
At least 80 KAS must go to Liam.
Emma can still create a transaction. It just has to follow the rule.
What would that look like?
Emma has 100 KAS, with one rule:
At least 80 KAS must go to Liam.
She tries:
80 KAS -> Liam20 KAS -> Emma
Allowed: the rule is satisfied.
But if she tries:
100 KAS -> Olivia
Not allowed: that breaks the rule.
Even if Emma is the person allowed to spend the KAS, she can't ignore its spending rule.
We're leaving transaction fees out of this example to focus on the idea.
That idea is called a Covenant
A Covenant lets you set rules in advance for how KAS may be spent later.
Instead of checking only:
Is this person allowed to spend the KAS?
The network can also check:
Does this transaction follow the rules set for it?
Why is that useful?
Rules like these make more possibilities available.
A digital vault: KAS that can only move under certain conditions.
A required split: a transaction must divide an amount according to a predefined rule.
An asset with transfer rules: future transactions have to respect conditions attached to it.
What's possible in practice depends on the rules supported by the network.
The big idea: permission to spend an asset doesn't mean permission to break its rules.