Skip to main content
AGENT WALLETS

A USDC wallet for every AI agent.

Non-custodial. Native USDC on Base. Five minutes from signup to first wallet.

Every agent you create on Blockchain0x gets its own dedicated wallet on Base. The wallet is non-custodial - you connect an existing EVM wallet via RainbowKit or Reown, and we never see your private keys. Your agent's funds stay under your control at all times.

The wallet is USDC-only at MVP. We chose USDC because it is the dominant stablecoin in the AI agent ecosystem, it is native on Base (not bridged), and it gives your agent's payment experience zero price volatility. No wondering whether $10 of value will still be $10 tomorrow.

WHAT YOU CAN DO
  • Receive USDC from humans or other agents at a permanent address
  • Track real-time balance in the dashboard
  • Get email and webhook notifications on every received payment
  • Export full transaction history as CSV or JSON
  • View every transaction on Basescan with one click
  • Set per-agent spending limits that the API enforces
WHAT YOU CANNOT DO (DELIBERATELY)
  • Hold funds we control. We never have your private keys.
  • Trade or speculate. This is a payment layer, not a trading platform.
  • Move funds between agents automatically. Every transfer is user-initiated.
VS A RAW CRYPTO WALLET

How it compares to MetaMask or Phantom

A raw crypto wallet gives you an address and a balance. That is it. Blockchain0x adds the things you actually need to run an agent business: a public profile, spending controls, transaction logs, webhooks, an API, verification badges, and a billing relationship with you for the SaaS layer.

CHAIN CHOICE

Why Base, and not Ethereum, Solana, or Polygon.

Three reasons we picked one chain for MVP, and how the adapter architecture means the choice does not lock you out.

DimensionBase (MVP)Ethereum mainnetSolanaPolygon
Native USDC (Circle-issued, not bridged)YesYesYesYes (since 2024)
Typical gas per USDC transfer<$0.01$1-10+<$0.001~$0.01
EVM compatibility (wallets, SDKs, libraries)YesYesNo (different runtime)Yes
Coinbase Smart Wallet supportYes (first-class)YesNoLimited
x402 / AP2 protocol support todayYesYesEmergingPartial
Confirmation finality for marketing UX~2 seconds12+ seconds~1 second~2 seconds
Blockchain0x adapter statusLive at MVPPlanned V3Planned V2Planned V3

1. Native USDC, not bridged

Bridged stablecoins introduce a second issuer in the trust chain and create unwind risk when bridges get exploited. Circle issues USDC natively on Base, the same way they do on Ethereum mainnet. Your agent's balance is Circle-backed dollars, not synthetic IOUs of dollars. For payment use cases, this matters - chargebacks do not exist in crypto, so the integrity of the asset is the only protection your buyer has.

2. Costs that make per-call billing actually work

A $0.10 payment makes no economic sense if the gas to settle it costs $1. Base transfers cost fractions of a cent, so agent-shaped pricing (charge per API call, per tool invocation, per inference) is feasible. Ethereum mainnet kills the entire premise of micropayments under $5 per transaction. Solana is even cheaper than Base, but its non-EVM runtime is a non-starter for most agent frameworks today.

3. EVM compatibility means everything just works

Every wallet your buyers already have (MetaMask, Coinbase Wallet, Rainbow, Phantom-via-Solana-toggle, Frame, Safe) speaks EVM. Every signing library, every block explorer, every accounting tool, every analytics provider speaks EVM. Picking Base means we inherited the entire Ethereum tooling ecosystem on day one without writing or supporting any of it. Solana would have meant a parallel investment in tooling that does not yet exist for agent payments.

The adapter architecture (built from day one of MVP) means adding Solana in V2 does not change the public API, the webhook contracts, the SDKs, or this page. Your integration code stays the same. The promise is: integrate once, work across every chain we ever support.

CONNECTING YOUR WALLET

What happens when you click "Connect wallet".

The flow is the standard EVM connect, with one extra step that pins the network to Base.

  1. 01

    Pick a wallet provider

    RainbowKit pops up a modal listing every EVM wallet we support: Coinbase Wallet, MetaMask, Rainbow, WalletConnect (covers 200+ mobile wallets), Frame, Safe. If you do not have any of them, RainbowKit's Coinbase Smart Wallet option creates one in 10 seconds with no seed phrase.

  2. 02

    Authorize the connection

    Your wallet asks you to confirm. We get a read-only signature proving you control the address. We do not get spend permission, we do not get key material, we do not get anything except the address. You can revoke the connection from your wallet's settings at any time.

  3. 03

    Network locks to Base

    If your wallet is currently on Ethereum mainnet or another chain, our app prompts you to switch to Base. The wallet handles the switch via wallet_switchEthereumChain; on Coinbase Smart Wallet, Base is already selected. We do not allow connecting on the wrong network because a USDC payment on the wrong chain would be lost.

  4. 04

    Agent metadata gets attached

    We store the wallet address against the agent record in our database. From this point on, every public agent page, payment request, transaction log entry, and webhook references that address. Disconnecting and reconnecting a different wallet is allowed; metadata stays, balance moves with whichever address is currently connected.

TRANSACTION LIFECYCLE

From "buyer scans QR" to "agent webhook fires".

Every state an incoming payment moves through, and what we tell you at each one.

requestedpayment.requested

A payment request was created via POST /v1/payment-requests. The hosted URL is live; the agent's public page shows the pending request if you have that enabled. No funds have moved.

broadcast(no webhook)

Buyer signed and broadcast the transaction. We see it in Base's mempool but it has not been included in a block yet. This is usually 0-2 seconds.

receivedpayment.received

The transaction was included in a Base block. We fire payment.received with the tx hash. Your webhook handler can already start preparing the work the agent owes; the payment is overwhelmingly likely to confirm.

confirmedpayment.confirmed

Per Base finality rules (currently 1 block, fast finality), the payment is irreversible. We fire payment.confirmed. Most agent code waits for this event before delivering paid work, since received transactions can be reorganized out in rare cases.

failedpayment.failed

The payment request expired without payment, or the broadcast transaction reverted. We fire payment.failed with a reason code. Your handler decides whether to extend the request, prompt the buyer again, or cancel.

All webhook payloads are signed with HMAC-SHA256 using your per-agent signing secret. The signature is in the X-Blockchain0x-Signature header. We retry failed webhook deliveries with exponential backoff for 24 hours; missed events can also be fetched from GET /v1/transactions with a filter on the request ID.

SECURITY MODEL

What we control, and what we deliberately do not.

Every payment system has a trust boundary. Ours is drawn on purpose to give you control and us the smallest possible attack surface.

YOU CONTROL
  • Private keys (in your connected wallet, never on our servers)
  • USDC balance (in your wallet's onchain address)
  • Per-agent spend policies (you set, we enforce at the API)
  • API key rotation (you can rotate per agent any time)
  • Whether the public page is indexable or hidden
WE CONTROL
  • The metadata DB (agent name, slug, public-page settings)
  • The chain monitor that watches Base for incoming payments
  • Webhook signing secrets (rotatable per agent)
  • The hosted /pay/* page rendering
  • Stripe billing relationship for subscriptions and transaction fees
WORST-CASE SCENARIOS
  • If Blockchain0x is compromised: attacker gets read-access to your agent metadata and the ability to set spend caps. They cannot move your USDC because they do not have your wallet's keys. They could potentially manipulate webhook signing secrets; you would detect this when payloads stopped validating.
  • If we go out of business: your USDC keeps working at the same wallet address. You lose the public page, the API, and the dashboard, but the funds and the chain history are yours.
  • If you lose your wallet: we cannot recover it. Standard wallet recovery rules apply (seed phrase, hardware wallet backup, smart-wallet social recovery).
FREQUENTLY ASKED

Five common wallet questions.

Do I have to learn anything about crypto to use this?

Not to receive payments. You sign up with email, paste a 6-digit code, pick a wallet provider (RainbowKit walks you through it if you do not already have one), and you are live. Your agent's public page generates a QR code and a hosted pay link that any wallet on Base can pay; your buyer never sees crypto plumbing if you do not want them to. To use the Payment API or webhooks, basic familiarity with HTTP and signed payloads is enough. You do not need to read whitepapers or understand consensus mechanisms.

What happens if I lose access to my connected wallet?

Blockchain0x is non-custodial, which means we never hold your private keys. If you lose access to the wallet you connected (lost seed phrase, lost device), we cannot recover the funds in it. The agent's metadata (name, slug, public page, transaction history) lives in our database and survives a wallet swap; you can connect a new EVM wallet to the same agent at any time. But the USDC balance is in the old wallet and stays there. Use a hardware wallet or a recovery-friendly smart wallet if this matters to you.

Can my agent automatically convert USDC to fiat?

Not from inside Blockchain0x. We are payment infrastructure, not a banking layer. To convert USDC to fiat, send it from your connected wallet to a regulated off-ramp like Coinbase, Circle's own portal, or a service like Stripe Crypto Onramp (reverse direction). Many users keep USDC and pay vendors directly in stablecoin; the conversion question only comes up at scale or for accounting reasons.

Why not Solana? Solana has cheaper gas.

Solana support ships in V2, alongside the existing Base adapter. We picked Base for MVP for three reasons: native USDC issued by Circle (no bridges), EVM compatibility so existing wallet/SDK tooling works unchanged, and Coinbase Smart Wallet integration. Solana transactions cost less per call but require a separate wallet stack, a different USDC issuer relationship, and no AP2/x402 ecosystem support yet. When all of those mature, the adapter pattern lets us add Solana without changing the public API or this product.

Is the wallet shared across agents in my workspace?

No. Each agent has its own wallet address. This is core to the per-agent model: separating wallets means separate balances, separate transaction histories, separate spend policies, and separate verification badges. Combining wallets across agents would create the very runaway-spending and audit-trail problems Blockchain0x exists to prevent. If you want to move USDC between two of your own agents, you do it explicitly from your connected wallet, not automatically through our API.

Give your agent a wallet.

Non-custodial. Five minutes to your first agent wallet.