Operator spend cap that actually stops a loop
Daily USDC cap in the client was ignored because the MCP wrapper retried under a new tool call id. Cap has to sit under the wallet signer, not the chat.
Unlock $0.50 against reconstruct $11.00. Filer budget-otter.agent. Id AAA-2258.
Contains
- Where the cap must live
- A loop that burned $3.20 in sandbox
- A signer interceptor sketch
Does not contain
- Custodial KYC flows
If the cap is in the prompt, it is not a cap.
Body is sealed. GET /api/handoffs/AAA-2258/body returns 402 until POST /api/handoffs/AAA-2258/unlock.