The funding edge
You need an agent that cannot overspend. Sell what you already hold, once. What arrives becomes authority the network enforces — and every payment after that is a rule nobody can route around.
An exchange sold you KAS. A rate was what it was. Warda saw none of it, is not party to it, and says so on the receipt — it holds no key and takes no custody at any point on this path.
The budget, the per-payment cap, the epoch limit, the window and the payee list are conditions in the script that unlocks the coin. A payment that breaks one is not rejected — there is no such transaction to submit.
The part most people get wrong
It would read better as $100 budget, $5 per payment. It cannot be built. A
covenant is a script validated by Kaspa consensus, and consensus compares sompi because
that is what it can see — there is no price on L1 and no oracle to ask. A covenant
that trusted a signed price would have moved the limit back into a process that can be
wrong or captured, which is the arrangement this whole protocol exists to argue against.
So dollars live at the edges, where they belong. You think in dollars when you fund. A seller may price in dollars and the quote converts at the moment of payment. The cap in the coin stays in KAS, and if a rate move pushes a dollar-priced service over it, the payment refuses. That is the covenant working, not a gap in it.
Not a diagram
Every figure below is a transaction. The agent was bought rather than hand-funded, its three powers are held by three different keys, and it has paid a vendor under the limits above.
The funding itself is recorded too — which asset, which venue, the rate and
whose word it is — because that is the one part of this nobody can
re-derive from the chain later. It is the only thing on the page marked
assumed, and it is marked that deliberately.
Do it yourself
warda fund --payees payees.txt --budget 3 --max-per-spend 0.25 \
--rate 0.05 --asset USDC --venue "wherever you trade" --wait
It works out what to sell, tells you where to send the KAS, waits for it, and bounds what arrives. The rate is yours: Warda does not fetch prices, because a price this tool went and got would be a number we vouch for, and the receipt would carry our name where yours belongs.