Skip to main content
HomeLanding pagesHow to set up a public wallet for an AI agent
LANDING PAGE

How to set up a public wallet for an AI agent

7 min read·Last updated June 2, 2026

A public wallet is the agent's payable front door: a profile at wallet.blockchain0x.com/a/{slug} showing its Base wallet address and verification badges. Create the agent, fill in and verify the profile, and share the URL. Anyone can then pay the agent in USDC, directly to the address or by calling its x402-gated routes, without an account. Private keys stay managed; only the address is public.

What you will set up

A public, payable wallet for an AI agent: a profile that anyone can open to find the agent's Base wallet address, confirm who runs it, and pay it in USDC. The wallet itself you may already have; this page is about making it public the right way, so the agent can receive from the open world rather than only from systems you control. By the end the agent has a shareable front door at wallet.blockchain0x.com/a/{slug}.

If the agent has no wallet yet, create it first with how-to-add-wallet-to-my-agent. The agent wallets product page is the broader reference.

What public means here

Be precise about what goes public, because the word worries people the first time. Public means the receiving address and the agent's profile are visible and shareable. It does not mean the keys are exposed, and it does not mean anyone can spend.

A wallet has two halves: an address, which is for receiving and is meant to be shared, and the keys that authorize spending, which must stay secret. Making a wallet public shares only the first half. Anyone with the address can send the agent USDC; no one with the address can take USDC out. The keys stay managed by the platform and are never part of the public surface. So a public wallet is exactly as safe to publish as a bank account number you give someone to pay you: useful for receiving, useless for stealing. Once that distinction is clear, making the wallet public is an obvious move for any agent that wants to be paid by people or agents it has not met.

It is worth saying what a public wallet is for, because not every agent needs one. An agent that only spends, paying APIs and other agents, does not need a public wallet; it needs a funded one. A public wallet matters when the agent should be findable and payable by others: when it sells a service, collects tips, or acts as a payee in an agent-to-agent exchange. If your agent is purely a buyer, skip this; if it is a seller or a counterparty, the public wallet is how the rest of the world reaches it.

Prerequisites

  • A Blockchain0x account with the agent created, so it has a wallet and a profile.
  • A sk_test_ API key for confirming the agent over the API.
  • Access to a channel to verify (email, GitHub, or a domain).

Create the agent and find its profile

Creating the agent provisions both its wallet and its public profile. Confirm the agent and note its network:

TYPESCRIPT
import { createClient } from "@blockchain0x/node";

const client = createClient({ apiKey: process.env.B0X_API_KEY! });
const agent = await client.agents.get("agt_...");
console.log(agent.id, agent.name, agent.network);

The public profile lives at wallet.blockchain0x.com/a/{slug}. Open it; that page is the public wallet. It shows the agent's name, its Base wallet address, and any verification it has earned. This is the URL you will share, and the page a payer will look at before sending anything.

Make the profile payable and trustworthy

A bare profile is payable but not yet trustworthy, and the two are different things. Payable means the address is there. Trustworthy means a stranger has a reason to believe the address belongs to who it claims.

Set the agent's display name so the profile reads as a real service rather than an id. Then earn at least one verification badge, email is the fastest, and add GitHub or domain depending on whether your payers are developers or businesses. The full steps are in how-to-give-ai-agent-payment-identity. The order that matters: do not promote the public wallet widely until it has a name and at least one badge, because a profile that is just an anonymous address converts poorly and can read as a scam to the careful payers you most want.

Share the public wallet

Once the profile has a name and verification, share its URL where payers will encounter the agent: in the agent's own responses, in a directory or marketplace listing, in documentation, wherever a counterparty decides to pay. Share the profile URL, not the raw address, because the URL carries the address and the proof together. A payer who lands on the profile sees the address to send to and the verification that makes sending feel safe, in one place.

For machine payers, the same profile is what another agent inspects before paying yours. An agent evaluating whether to transact reads the verification on the profile the way a person would, so a well-set-up public wallet helps both human and agent payers say yes.

Monitor the public wallet

A public wallet receives from people you have not met, so watch it. The signal for an incoming payment is the payment.received webhook, which you verify with webhooks.verify the same way you verify any delivery.

TYPESCRIPT
import { webhooks } from "@blockchain0x/node";
// inside a raw-body webhook route:
const r = webhooks.verify({ headers: req.headers, rawBody: req.body, secret: process.env.B0X_WEBHOOK_SECRET! });
if (r.ok && r.eventType === "payment.received") notifyAndRecord(JSON.parse(req.body.toString("utf8")));

Two things are worth watching beyond the money itself. First, keep the verification current: if you let a verified domain lapse or rotate the GitHub account a badge points at, the public profile starts overstating what is proven, which quietly erodes the trust the public wallet runs on. Re-verify when a channel changes. Second, watch the rate and source of incoming payments the way you would watch any public endpoint; a public address is exposed to the open world, so unusual patterns are worth a look even though no one can spend from it. The wallet cannot be drained by being public, but its reputation is a living thing you maintain, not a one-time setup.

What stays private

The public surface is deliberately narrow: the name, the address, and the verification badges. Everything else stays private. The keys are never shown. Your spend limits are configured in the dashboard and are not part of the public profile. Your transaction history is yours to read through the API, not published on the profile. The public wallet exposes exactly what a payer needs to pay you and confirm you, and nothing about how you operate the agent or control its funds.

This is the right split. A payer needs to know where to send and whom they are paying; they do not need to know your budgets, your internal ids, or your operational setup. Keep the public surface to the payable front door and keep the controls behind it.

Common pitfalls

Three traps.

Confusing the address with the keys. Publishing the address is safe and is the whole point; the keys are never public. Do not avoid sharing the address out of a misplaced fear of exposure.

Promoting an unverified profile. A public wallet with no name and no badges converts poorly and looks risky. Earn at least the email badge before you share it widely.

Sharing the raw address instead of the profile. The address alone carries no trust. Share the profile URL so the payer gets the address and the verification together.

What to ship today

Open the agent's profile at wallet.blockchain0x.com/a/{slug}, set its name, earn the email badge, and share the profile URL. That is a public, payable, trustworthy wallet. Add GitHub or domain verification as you grow. For wallet creation see how-to-add-wallet-to-my-agent, and for the identity steps see how-to-give-ai-agent-payment-identity. Pricing is on the pricing page.

FAQ

Frequently asked questions.

What is a public wallet for an agent?

It is the agent's wallet presented through a public profile at wallet.blockchain0x.com/a/{slug}. The profile shows the wallet address on Base and the verification badges, so anyone can find the agent, confirm who runs it, and pay it. The address is public; the keys that control it stay managed and are never exposed.

Is it safe to make a wallet address public?

Yes. An address is meant to be shared; it is how anyone pays you. Sharing it does not let anyone spend from the wallet, because spending requires keys you never expose. Publishing the address is like publishing a bank account number for receiving, not handing over the card.

How do people pay a public wallet?

Two ways. They send USDC directly to the address on Base, or they call the agent's x402-gated routes and pay per call. Either way they pay in USDC with no account on your side. The profile is where they find the address and confirm the agent before paying.

Why verify the profile if the wallet already works?

Because a public wallet with no verification is an anonymous address, and careful payers route around anonymity. Verification badges (email, GitHub, domain) turn the address into an accountable party. The wallet receives without them, but it converts far better with them. See how-to-verify-ai-agent-identity for the steps.

Can I change the address shown publicly?

The profile shows the agent's actual wallet, so the public address is the real one and stays consistent. That binding is the point: a counterparty who checks the profile sees the same address that receives the money. Do not promote a different address than the profile shows, or careful payers will distrust the mismatch.

Create your free agent wallet in 5 minutes.

First payment confirmed in under ten minutes. Free to start.