Spend controls.
Before money moves.
Set budgets, enforce limits, and bring a person in when it matters. Before money leaves.
Explore spend controlsrefund.issueSet budgets, approve payments, and reconcile balances with Kordio. One API platform for fintech, marketplaces, and AI agents.
Every decision. Every balance. One place.
Review exceptions before money moves.
Northwind marketplace · payout.create
Try reviewing this example payout.
A clear, balanced record of your money.
Balanced by construction. Traceable to the original posting.
Free sandbox · No credit card required
Explore the workspace aboveFor teams building
the next way money moves.
Give every action a rule and every balance a source of truth. Use Control, Ledger, or both. One plan includes them all.
Set budgets, enforce limits, and bring a person in when it matters. Before money leaves.
Explore spend controlsrefund.issueDouble-entry books, reconciliation, and period close. A financial record your whole team can trust.
Explore the ledger APISet spending limits, allowed actions, and approval thresholds outside the software they govern.
Keep your payment providers. Kordio authorizes the action; your executor moves the money.
Trace decisions, approvals, and postings back to the action that started them.
Add a decision point between intent and execution. Keep everything else that already works.
Explore the developer integrationEngineering, finance, and operations finally work from the same context.
Routine actions run within policy. Exceptions arrive with the amount, the reason, and the budget attached.
Refunds & payout approvalsOne shared budget across tools, models, and runs. Held outside the agent.
Explore AI agent spending limitsDefine a policy. Send an action. Get a decision your executor can verify. Test it all in a free sandbox.
{
"mode": "allowlist",
"imports": ["vendor-allowlist"],
"rules": [
{ "kind": "cost_cap", "max_cents": 50000,
"action_types": ["payment.create"] },
{ "kind": "spend_window", "max_cents": 200000,
"window_seconds": 86400 },
{ "kind": "rate_limit", "max_actions": 100,
"window_seconds": 60, "action_types": ["tool.invoke"] },
{ "kind": "condition", "effect": "require_approval",
"rule_name": "new_counterparty",
"when": { "all_of": [
{ "field": "action_type", "operator": "starts_with",
"value": "payment." },
{ "not": { "field": "resource", "operator": "in",
"value": ["stripe.com", "api.openai.com"] } }
] } }
]
}{
"decision": {
"outcome": "allowed",
"rule": null,
"headroom": {
"session_remaining_cents": 148000,
"per_action_cap_cents": 50000,
"approval_threshold_cents": 10000
}
},
"cosignature": "eyJraWQiOiJFN185cXBTV3RrU1VuOTEwIiwiYWxnIjoiRVMyNTYifQ..."
}Control + Ledger in every plan. Choose the capacity your product needs, and use either capability or both.
Test the rules and the books. No card. No time limit.
For your first product moving real money.
For growing products and more financial activity.
For larger workloads on one financial foundation.
Need more capacity? Get contracted allowances with Enterprise.
Talk to usOne subscription per workspace. Automatic ledger postings from Control do not use your independent-posting allowance. Sandbox is test mode only. Control is in early access.
See usage details and billing questionsWork through the decisions behind reliable balances, payment retries, and software spending limits.
Compare the work behind postings, reconciliation, and period close.
Estimate your ledger build costUnderstand idempotency keys and what should happen when a request is retried.
Plan a double-entry ledger migrationPut the budget outside the agent and share limits across tools and runs.
Create an agent spending policyA double-entry ledger API lets your software record financial transactions as balanced debits and credits. Kordio Ledger provides accounts, postings, reconciliation, and period close so your team can trace balances back to the transactions that created them.
Spend controls decide whether an action is allowed before execution. A ledger records the financial entries associated with that activity. Kordio includes both in one plan; automatic Control postings do not consume the independent ledger-posting allowance.
Kordio is an API platform for spend controls and double-entry bookkeeping. Control checks budgets and approval rules before software moves money. Ledger records balanced debits and credits and supports reconciliation and period close. Your payment provider moves the funds.
No. Kordio is a required signer, never a custodian. It holds no funds, no accounts and none of your credentials. Your rails keep the money, which is why we price on authorized volume rather than taking a cut of a payment we never touch.
No, 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. Agents make it louder and faster, they did not invent it.
An allowed decision comes back signed, expiring in minutes. Your executor verifies it offline against a public key set. Once the executor requires a signature, 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.
Where a workspace has the ledger enabled, decisions are mirrored as balanced postings, so what was permitted and what posted sit in one history. The projection never sits in the authorization path, so the books can never slow a decision down.
Kordio Control fails closed: if we cannot answer, nothing is authorized and nothing is signed. A control layer that fails open is not a control layer. Decide that failure mode deliberately rather than discovering it during an incident.
Kordio Control is metered on live authorized dollars a month, never on a count of API calls or decisions, and a denial is not billed. The sandbox is test mode with no card and no time limit, running the same engine as live, and there is deliberately no free live allowance. Every Kordio plan includes Control and Ledger, with an authorized-spend allowance and an independent ledger-posting allowance. Automatic Control postings are included and do not use the independent-posting allowance. Every number is published on the pricing page and there is no call to read them.
Sign up at app.kordio.io and get sandbox keys in under five minutes, no card. Test and live share the same API surface with separate keys.
You build the product. Kordio keeps the rules and the record.
Start building for free