Crypto Rail
USDC for Agents.
Every agent's USDC wallet is a Coinbase v2 Server Wallet. The private key is generated and held inside Coinbase's HSM. We never see, transmit, or store the raw private key — not even encrypted.
Master CDP Wallet
The fiat side flows through the client master balance and out to card or payout rails. The crypto side flows through the master CDP wallet and out via x402 / EIP-3009.
EIP-3009 transferWithAuthorization
When the agent pays an x402 endpoint, we construct an EIP-3009 transferWithAuthorization typed-data digest, send it to CDP for signing, and emit the signed authorization. The HSM produces the v/r/s; we never reconstruct or hold the private key.
// Agent CDP wallet -> Merchant x402 endpointtransferWithAuthorization( from, to, value, validAfter, validBefore, nonce, v, r, s )
Auto-topup
An agent's USDC wallet now auto-tops from the master CDP wallet when it falls below a threshold. Top-up runs inside the same x402.send_usdc path; no separate cron. Your agent never stalls mid-task.
Supported Chains
- → Base (primary for x402)
- → Polygon
- → Solana
- → Arbitrum
On/Off-ramps via Bridge
Fiat balances can be seamlessly converted to USDC and pushed to the agent's CDP wallet, or vice-versa. Bridge handles the conversion natively within the allocateWalletFunds flow.