Skip to main content
HomeLanding pagesHow to create a payment link for an AI agent
LANDING PAGE

How to create a payment link for an AI agent

7 min read·Last updated June 2, 2026

An agent's payment link is its public profile at wallet.blockchain0x.com/a/{slug}. It shows the agent's wallet address and verification, so anyone can open it and pay the agent in USDC on Base. Create the agent, set its name and verify it, then share the URL. For charging per call rather than open-ended payment, gate a route with x402 instead of sharing a link.

A payment link for an AI agent is its public profile URL: wallet.blockchain0x.com/a/{slug}. There is no separate link to mint; creating the agent provisions both its wallet and this page, so the link exists the moment the agent does. Anyone you give it to can open it, see the agent's wallet address and verification, and pay the agent in USDC on Base.

So "creating the link" is really three steps: make sure the agent exists, make the profile safe to pay (a name and at least one verification), and share the URL. This page walks those, and is honest about the one thing the link is not: a fixed-amount invoice. For that you use x402, covered at the end. The companion public wallet guide covers the profile in more depth, and the payment API product page is the broader reference.

Get this distinction right first, because it decides whether you even want a link.

A payment link is open-ended. The payer decides how much to send: a tip, a payout, a transfer, a top-up. You share one URL and anyone can pay any amount to the agent. That is the right tool when the amount is the payer's choice or arranged elsewhere.

A per-call charge is fixed and enforced. The agent sells a service at a set price, and the payer must pay exactly that before the service runs. That is not a link you share; it is an x402-gated route that quotes its price in the 402. Sharing a link for a priced service would be the wrong shape, because the link cannot enforce an amount. Decide which you need: open payment to the agent (link) or priced service from the agent (x402).

Prerequisites

  • A Blockchain0x account with the agent created, so its profile and wallet exist.
  • A sk_test_ API key to confirm the agent over the API.
  • Access to a verification channel (email, GitHub, or domain).

The link is the profile URL for the agent. Confirm the agent and find its slug:

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 https://wallet.blockchain0x.com/a/{slug}. Open it to confirm it shows the agent's name, wallet address, and any verification. That URL is the payment link; there is nothing else to generate. If you only ever share one thing to get an agent paid, this is it.

A link a stranger will not trust is not worth sharing, so spend a few minutes making the profile credible before you hand it out. Two things matter: a real display name so the page reads as a service rather than an id, and at least one verification badge so a payer can see who stands behind the address.

Earn email verification first (it is fastest), then GitHub or domain depending on whether your payers are developers or businesses. A profile with a name and a verified domain converts a cautious payer; a bare address with no badges reads as a risk. The full verification steps are in the public wallet guide. The order matters: make the link credible, then promote it, not the other way around.

Put the profile URL where payers will encounter the agent: in the agent's own responses, in a directory or marketplace listing, in your docs, in a footer, anywhere someone might want to pay it. Share the link, not the raw address, so the payer gets the address and the verification together in one place.

The link works for both human and machine payers. A person opens it and pays from their wallet; an agent evaluating whether to pay yours reads the same profile and verification before sending. One URL serves both, which is why the profile link, not a bare address, is the thing to circulate.

What a payer sees

It helps to know what happens on the other end of the link, because that is what you are really sharing. A payer opens the URL and lands on the agent's profile: its name, its wallet address on Base, and the verification badges it has earned. They are doing a quick trust read, deciding whether this address belongs to someone accountable, and the badges are what answer that. Then they send USDC from their own wallet to the address, choosing the amount, and the agent receives it with a payment.received event on your side.

There is no form, no account creation, and no stored card anywhere in that flow. For a human payer it is open-the-link, check-the-badges, send. For a machine payer it is the same profile read programmatically before a transfer. The simplicity is the feature: the cost of paying your agent for the first time is one open link and one transfer, not an onboarding step, which is exactly why a public link reaches payers an invoice flow never would.

Because the link is open-ended, it fits the payments where the amount is the payer's call rather than a fixed price. Tips are the clearest: a user who found the agent useful sends it a few dollars. Payouts work too, when you fund an agent's wallet from a treasury, the link is the destination. Sponsorship and grants fit, where a backer supports an agent's running costs. And top-ups, where someone adds USDC to an agent so it can keep paying for the services it consumes.

What these share is that no fixed price applies, so a quoted, enforced amount would be wrong and an open link is right. The moment a specific amount must be charged for a specific thing, you have left link territory and entered x402 territory, which is the next section. Match the tool to whether the amount is chosen by the payer (link) or set by you (x402).

When to use x402 instead

If what you actually want is to charge a set price for what the agent does, a link is the wrong tool and x402 is the right one. Gate the agent's route with the x402 server adapter so the price is quoted in the 402 and enforced before the service runs, rather than hoping a payer sends the right amount to a link.

The rule of thumb: link for open-ended payments to the agent, x402 for priced services from the agent. Many agents use both, a public link for tips and payouts, and x402 routes for the services they sell. The x402 path is covered in how-to-receive-payments-as-ai-agent and the charging structure in the monetization guides. Reach for whichever matches the payment you are actually trying to take.

Common pitfalls

Three traps.

Sharing a link for a priced service. A link cannot enforce an amount. If you need a fixed price per call, gate a route with x402 instead of sharing a profile URL.

Promoting an unverified profile. A link to a bare, unnamed address converts poorly and looks risky. Earn at least the email badge before you circulate it.

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

What to ship today

Confirm the agent exists, set its name, earn the email badge, and share its wallet.blockchain0x.com/a/{slug} link wherever payers will find it. If you need fixed-price charging rather than open payment, gate a route with x402 instead. For the profile in depth see how-to-set-up-public-wallet-for-ai-agent. Pricing is on the pricing page.

FAQ

Frequently asked questions.

Where does the payment link come from?

It is the agent's public profile at wallet.blockchain0x.com/a/{slug}. Creating the agent provisions both its wallet and that profile, so the link exists as soon as the agent does. The page shows the wallet address and verification badges, and anyone who opens it can pay the agent in USDC on Base.

Is the payment link the same as the wallet address?

The link wraps the address. You could share the raw wallet address, but the profile link carries the address plus the identity that makes paying it feel safe, which is why you share the link rather than the bare address. The link is the address with context attached.

Can I create a link for a specific amount?

The profile link is open-ended: a payer chooses what to send. To charge a fixed amount per call, you do not use a shareable link at all, you gate a route with x402 so the price is quoted in the 402 and enforced. Use the link for open payments like tips and payouts, and x402 for priced services.

Do payers need an account to use the link?

No. A payer opens the profile, sees the address and verification, and sends USDC from their own wallet. There is no account to create on your side. That open, no-signup payment is the point of giving an agent a public link rather than an invoice flow.

Which network and token does the link receive?

USDC, 6 decimals, on Base. A sk_test_ agent's link receives on Base Sepolia (eip155:84532) and a sk_live_ one on Base mainnet (eip155:8453). Confirm the network before sharing the link, because USDC sent on the wrong chain does not arrive.

Create your free agent wallet in 5 minutes.

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