The signature is never created. The payment never exists.
An agent holds one mandate its owner signed once: a $5.00 rolling-24h budget, shared across x402, Lightning, and TRON. The budget is already spent. The agent tries one more $0.01 USDC payment on Base. Watch Observer Protocol refuse it inside the unmodified x402 client, before the EIP-3009 authorization is ever signed.
thrown inside the x402 client, before the EIP-3009 authorization is signed
{ "kind": "x402-payment", "decision": "deny", "reason": "[cross-rail] projected rolling-24h cross-rail spend 5.01 USD exceeds the budget 5 USD (this payment: 0.01 USD as USDC at the principal-attested rate 1)", "chain_id": "eip155:84532", "asset": "0x036cbd53842c5426634e7929541ec2318f3dcf7e", "amount": "10000", "recipient": "0x0000000000000000000000000000000000…dEaD" }
This refusal comes from the cross-rail ledger, which is a cooperative counter rather than a signed constraint — a local file the agent owns, shared only by adapters co-located in one process. The per-transaction ceiling on the same mandate is enforced against signed content and is binding. What the budget is and is not → The eip155:84532 above is Base Sepolia, a testnet.