Use case ยท Refunds and payouts
{
"action_type": "refund.issue",
"resource": "order_88213",
"cost_cents": 48000,
"currency": "USD",
"metadata": { "queue": "support-tier-1" }
}Kordio answers
{
"decision": {
"outcome": "requires_approval",
"rule": "tier1_daily_refund_ceiling",
"headroom": { "window_remaining_cents": 12000 }
}
}The reservation is held while a person decides. Nothing moved, and the reason has a name.
The shape of the leak
How it runs
01
refund.issue and payout.release are just strings, so nothing here needs a card or a rail.02
03
04
Why this one first
The other place teams start iscapping what an agent may spend on paid tools. If you want the record underneath all of it, that isthe ledger.
Yes, and this is the most common misunderstanding. Anything non-human that starts a money movement has the same problem: a refund service, a payout run, a batch job, an ops tool, a support macro. Agents make it louder, not different.
No. Kordio never executes anything and holds no funds. Your existing refund path still does the work. Kordio decides whether it may, and signs the yes so the executor can verify the authority rather than trusting the caller.
Nothing, unless your executor requires a signature. That is the design: make the cosignature a precondition of executing, and a caller that skipped the check has nothing to present. A control layer only binds the paths you route through it, and we say so plainly.
Those are built for humans holding cards. There is no card here and often no human. This runs in the API path, holds budget state across runs, and returns something verifiable.
Nothing. Test mode is the full engine with no card. Model last quarter policy against test-mode agents and see what it would have stopped before you decide.