A card is all or nothing
Give an agent a card number and it can spend anything, anywhere. Give it nothing and the task dies at checkout.
Allowance by Codesmith
All systems operationalAgents can already find the product, compare prices and fill in the checkout. Allowance lets them pay: inside a mandate the person signed, for the task they actually asked for, settled exactly once.
The problem
Give an agent a card number and it can spend anything, anywhere. Give it nothing and the task dies at checkout.
A $500 cap can't tell a seat renewal from a wrong flight. Whether a payment is right depends on what the person asked for.
Agents buy APIs, data and compute a fraction of a cent at a time. Card rails were never built for a million $0.002 payments.
How it works
The agent never holds a card. It holds a mandate, and Allowance decides each payment against it.
The person signs a spend policy once: budget, merchants, categories, a cap per payment, an expiry. The agent carries the mandate, not the money.
mdt_7Hq · ed25519 signed
Claude reads the delegated task, the cart and the merchant, then approves, holds the payment for a human, or refuses it. The reason is written down.
approve · hold · refuse
Approved payments settle in stablecoins or through card partners into a double-entry ledger. A retrying agent cannot pay twice.
idempotent · double-entry
Each decision keeps the task, the mandate version, the model's reason and the ledger entry, so anyone can see why money moved.
task → reason → entry
Developers
Allowance is a remote MCP server. Add it to Claude Code, the Claude Agent SDK or your own agent loop, and paying becomes a tool call. The sandbox mandate below works right now, from any MCP client or plain HTTP.
{
"mcpServers": {
"allowance": {
"type": "http",
"url": "https://mcp.codesmith.work/allowance",
"headers": {
"Authorization": "Mandate mdt_sandbox"
}
}
}
}
// mdt_sandbox is a public sandbox mandate: try it now
// tools: mandate · quote · paycurl https://mcp.codesmith.work/allowance \
-H "Authorization: Mandate mdt_sandbox" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"pay","arguments":{
"task":"Renew our Figma seats",
"merchant":"figma.com","amount":180,
"currency":"USD","category":"software"}}}'
# Claude checks the payment against the task, then it settles:
# "status": "approved", "receipt": { "ledger_entry": "led_…" }Built on Claude
Spend limits are code. Whether a $412 flight fits “under $400, cheapest” is judgment. Claude makes that call on every payment and explains it.
We evaluate the intent check on payment sessions replayed from the rails we operate, including the ones that should be refused.
Any Claude agent that speaks MCP can pay. The same server runs locally for Claude Code and remotely for production agents.
In production
Codesmith designs and operates payment systems for online businesses. Allowance settles on the same infrastructure.
Crypto payment infrastructure for online businesses. A deposit address per customer, crediting exactly once, sweeps, refunds and the ledger behind them.
landfallpay.comKorean gift voucher payments for online services, with settlement computed from every payment for each merchant.
marupay.appCompany
We have run payment infrastructure since 2025. Allowance grew out of it in 2026 and now checks agent payments for teams building on Claude.
Sign a mandate, connect the MCP server and make the first payment in minutes. For anything larger, our team will help you set it up.
Talk to our team