Otsukai gives an agent a budget instead of a wallet. You open an account, fund it in USDG and create a key for the agent. The key can sign payments, and the account pays them only when they follow your rules. Every payment leaves a receipt onchain.
Agent
signs with its key
API server
otsukaiPaywall()
Your account
checks every rule
Payee
+ Receipt event
The rule
An agent key can only pay allow-listed payees, at most the per-call cap, at most the daily limit. The contract refuses everything else, whoever submits it. There is no server in that decision: the check runs inside pay() on the account itself.
Who it is for
- People running agents (Claude, an OpenAI agent, a script) who want them to buy data and API calls without handing over a wallet.
- API developers who want agents to pay per call. They return a 402 with a price and get paid before they answer.
How it works
- You open an account from the app. It is a small contract owned by your wallet, created and funded in one transaction.
- You add a key with a label, a daily limit, a per-call cap and an expiry, and you list the payees it may pay.
- The agent calls a paid URL, gets a 402, signs the payment with its key and retries.
- The server settles the payment on chain, then answers 200 with the transaction hash and the receipt id.
What is live
The first payees are Otsukai's own two endpoints: a stock quote at $0.01 and a holdings read at $0.02, both priced in USDG. The directory lists only payees that really accept Otsukai. Any API can join by adding the middleware in Accept Otsukai payments.
Payments use Otsukai's own scheme, otsukai, over the HTTP 402 flow. The payer is a contract account, so the standard x402 exact scheme, which expects an EIP-3009 signature from a plain wallet, does not apply. Generic x402 clients on other chains cannot pay these endpoints; the Otsukai SDK and MCP server can.