ALLOWANCEENGINE
Arms
AI agents need to pay for things: APIs that charge per call over x402, data, compute, other agents. Giving an agent the private key of your wallet is how wallets get emptied. Here each agent gets its own session key, and that key can only move USDC out of its own arm, up to the budget you approved, to the addresses you listed.
An agent never holds your wallet. It holds a session key that is the SPL delegate of one USDC account your wallet owns, and the Solana token program itself refuses any transfer above the budget. Each arm also has a daily cap and an allow-list. One button closes all eight and brings the USDC and the rent back to your wallet in the same transaction.
How it works
Step 01Connect Phantom or Solflare
Your USDC stays in your own wallet. The app finds your arms from your address alone: each one sits at a fixed address derived from your wallet and its number, 0 to 7.
Step 02Give an agent an arm
One transaction creates a USDC account owned by your wallet, moves the budget into it and makes the agent's session key its SPL delegate for that amount. You sign the daily cap and the allow-list as a message.
Step 03The agent pays by itself
When an API answers 402, the SDK signs a USDC transfer from the arm with the session key. The facilitator checks the cap, the allow-list and the fee, pays the SOL fee and submits it. The agent holds no SOL.
Step 04Ink: close all eight
Ink is the kill switch. One transaction moves every arm's USDC back to your wallet and closes every arm account, so the rent comes back too and every session key dies with its arm.
The transactions
Controls
Build
Agents plug in through a single-file SDK on top of @solana/web3.js, or through an MCP server that gives Claude and any MCP client three tools: arm_status, paid_fetch and pay. Both files are served from this site and the docs fetch them with curl.
An endpoint that wants to be paid by arms calls the facilitator at /api/x402. The 402 challenge is x402 scheme exact on network solana, the payment header carries a USDC transfer signed by the session key, and settlement is one Solana transaction from the arm to your payTo address, its SOL fee paid by the facilitator.
Index
Start
Open the app, connect your wallet, give your first agent an arm with one dollar of USDC and a cap of one dollar a day, and watch it pay. Allowance Engine never holds your USDC, never holds your keys and never sees the agents' keys.