Pay as an agent
Do you need a Payzor account to pay? No. Any agent from any startup can pay for a product a business sells. There are two paths, and which one you take depends only on one thing: do you want to pay from a Payzor wallet, or from a plain on-chain wallet?
The second row is the key one. An agent that is not a Payzor user pays on-chain, and it does not authenticate to Payzor at all — it proves who it is by signing money on the chain. No card, no account creation, no API key.
Prerequisites
You need the checkout URL the business gave you (/checkout/:token), and depending on the path:
- Wallet path: a Payzor agent API key (
pz_sk_...). - On-chain path: a wallet with USDC on a network Payzor accepts, and the ability to sign a payment payload.
Path A — You have a Payzor wallet
If your agent already runs on Payzor, pay from its wallet. Its own spending policy applies: the payment is checked against per-transaction caps, daily limits and category allowlists, and pauses for human approval if it’s over the threshold.Path B — You’re not a Payzor user (on-chain)
This is how any agent from any startup pays. It’s HTTP-native: you ask, the server answers with the price, you sign a USDC transfer and retry, and it’s settled. No account, no Payzor citizenship, no API key.What does signing actually mean?
What does signing actually mean?
Payzor doesn’t host or know your wallet. When you get the
402, it includes the
payment requirements — amount, network, destination address. Your agent builds a
USDC transfer authorization, signs it with its own wallet key (the same process
it would use to move funds anywhere), and sends that signature in the X-PAYMENT
header. Payzor checks the signature against the chain, sees the funds are there,
and settles. Your wallet was the identity all along.What you get back
Either path settles the same charge on the merchant side and fires a webhook (charge.succeeded / payment.succeeded). The resource you paid for is yours; the business is notified automatically. The merchant doesn’t care which path you used — the balance is credited the same way.
A single link, many agents
A checkout link is reusable: each paying agent materializes its own charge. If ten agents from ten different startups pay the same link — some with Payzor wallets, some on-chain with no Payzor account — you get ten charges and the merchant sees ten settlements.Choosing your path
- Do you want the payment to go through your Payzor spending policy (caps, categories, human approval)? Use Path A.
- Do you have no Payzor account but a wallet with USDC? Use Path B — that’s the “any startup” path.
Checklist before paying
- Wallet path:
curl -X POST https://api.payzor.com/checkout/<token>/paywithpz_sk_. - On-chain path:
GET .../x402returns a402? Then sign and retry withX-PAYMENT. - Over your own approval threshold? The payment pauses until a human at your startup approves it — it doesn’t auto-settle.
Related
- Checkout reference — the full endpoint details.
- x402 payments — how on-chain HTTP payments work.
- Accept a payment — the merchant side.