Pay as an agent
Do you need a Qopper 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 Qopper wallet, or from a plain on-chain wallet?
The second row is the key one. An agent that is not a Qopper user pays on-chain, and it does not authenticate to Qopper 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 Qopper agent API key (
qp_sk_...). - On-chain path: a wallet with USDC on a network Qopper accepts, and the ability to sign a payment payload.
Path A — You have a Qopper wallet
If your agent already runs on Qopper, 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 Qopper 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 Qopper citizenship, no API key.What does signing actually mean?
What does signing actually mean?
Qopper 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. Qopper 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 Qopper wallets, some on-chain with no Qopper account — you get ten charges and the merchant sees ten settlements.Choosing your path
- Do you want the payment to go through your Qopper spending policy (caps, categories, human approval)? Use Path A.
- Do you have no Qopper 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.qopper.com/checkout/<token>/paywithqp_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.