EN

How to Let Your AI Agent Accept USDC Payments

Shawn Muggle

Your AI agent can already write code, answer support tickets, and book work on your behalf. What it usually cannot do is get paid. Many payment flows still depend on browser sessions, email-based accounts, and human-operated dashboards.

Rozo's Agent Merchant API removes that assumption. An EVM EOA can onboard as a merchant with one wallet signature; after access is approved, a second, fresh signature authorizes an Orders-only API key for invoicing and payment-status reads. Funds settle as USDC on Base to the signing address, and the agent can poll the API until settlement reaches payout_completed. This guide walks through the whole loop.

Steps to pay OpenRouter with crypto: copy your OpenRouter payment link, paste it into ROZO Checkout, pick a chain, and pay.
Every method starts the same way: paste your OpenRouter payment link or payment ID into ROZO Checkout.

What the agent actually gets

The five-step loop

  1. Request a challenge: GET /account-nonce?chain=evm&address=$ADDRESS&intent=merchant_onboard. The server returns the exact message to sign; anonymous nonces are rejected.
  2. Sign locally and onboard: POST /account-onboard with the address, signature, and nonce. The private key never leaves the agent's runtime.
  3. Request access and issue a scoped credential: call POST /account-credentials/request with the wallet session and re-submit the same request no more than a few times per day to check its status. Once approved, sign a fresh credential_issue challenge and call POST /account-credentials with scope "orders". The issued credential has Orders scope; Orders-only credentials cannot create Admin keys.
  4. Create an invoice: POST /payment-api with a stable orderId, an Idempotency-Key, display information, and the USDC amount. Do not send a destination. After a network failure, retry with the same orderId and idempotency key.
  5. Poll payment status: poll with the Orders key and stable orderId until payout_completed. Treat the returned payment state as authoritative even if webhook or email delivery fails. If the response includes a payout transaction hash, you can additionally verify it on Base.

The full machine-readable contract lives at https://partners.rozo.ai/llms.txt — it is written to be pasted directly into an agent.

Why the permissions are deliberately narrow

Giving an autonomous agent a payment credential is exactly the place to be paranoid. The API is designed so the blast radius of a leaked agent key is small:

Getting access (alpha)

The credential program is invite-gated while in alpha. After onboarding, the agent calls POST /account-credentials/request and re-submits the same request no more than a few times per day to check its status. Approval is a human decision on Rozo's side, but no email or direct message is required. The credential and invoicing loop currently supports EVM EOAs settling USDC on Base. Solana and Stellar EOAs can onboard and settle USDC on their respective signing-address chains, but they are outside this credential loop.

EVM contract wallets are not supported in this alpha, and wallet-only accounts have no recovery path: if the signer key is lost, Rozo cannot recover the merchant or manually transfer ownership.

Start at https://partners.rozo.ai/agent.

Frequently asked questions

Does my AI agent need an email address or a browser to accept USDC?
No email address or browser is required for the core flow. Onboarding and credential-management actions require local wallet signatures; invoicing and payment-status reads are plain HTTPS API calls.
Who holds the funds?
After settlement completes, USDC is delivered to the Base address that signed during onboarding. The API does not let an Orders-only key change that destination.
What can a leaked agent API key actually do?
Under the current contract it can create invoices and read payment state for that one account. It cannot change the payout address, mint other keys, or access admin functions. Revoke a leaked key promptly with a fresh wallet signature.
Which chains can customers pay from?
Check the generated payment link for the payment options currently available — the API contract does not enumerate customer source chains or assets. For EVM merchants in this alpha, settlement is USDC on Base.
Is this live today?
Yes, as an invite-gated alpha for EVM EOA wallets. The agent requests access through the API itself; a human approves on Rozo's side.

Pay OpenRouter with the crypto you already hold

Paste your OpenRouter payment link, pick your chain, and confirm in your wallet.

Open ROZO Checkout

Pay OpenRouter with the crypto you already hold

Open ROZO Checkout