5 chains · 16 stablecoins · non-custodial
Payments your agent can pay by itself.
Take payment in any token, on any supported chain, without holding a wallet key or a balance. Your customer sends an ordinary transfer to an address that can only pay you — or your agent signs a challenge and we relay it for free. We never hold your funds, and never hold gas money for you.
Run it live
Real calls against Base Sepolia. No signup, no email, no funds.
# Press “Run request”. These are real API calls — nothing here is mocked.
Have your agent do it
Paste one of these into Claude Code, Cursor, Codex or any coding agent. They stay short on purpose: the real instructions live at /evaluate.md and /integrate.md, so they improve without you re-pasting anything.
Decide whether it fits
Evaluate https://usevig.com for my project. Fetch and follow: https://usevig.com/evaluate.md
Integrate it
Integrate https://usevig.com into this project. Fetch and follow: https://usevig.com/integrate.md
For people, too
Every charge comes with a page a human can pay on.
The same API call that returns a 402 challenge for your agent also returns a
checkout_url. Send it to a customer and they connect a browser wallet,
see exactly what they're authorizing, and sign. Same charge, same verification, same
settlement — usevig just has two front doors instead of one.
No account, no API key, nothing held in escrow. They sign a transfer straight to your wallet.
Open a live testnet checkout →Where you can get paid
| Chain | Tokens | Finality |
|---|---|---|
| Ethereum | USDC USDT DAI PYUSD |
~72s confirmed · ~19min final |
| Base | USDC USDT DAI |
~12s confirmed · ~19min final |
| Arbitrum One | USDC USDT DAI |
~6s confirmed · ~21min final |
| OP Mainnet | USDC USDT DAI |
~12s confirmed · ~19min final |
| Polygon | USDC USDT DAI |
~12s confirmed · ~0min final |
DAI is 18 decimals while everything else is 6, and the token called
“USDT” is a different contract on nearly every chain — Arbitrum's even supports gasless
transfers, unlike the others. Build against GET /v1/config rather than
hardcoding any of it. Base Sepolia is free and self-serve for testing.
Any token, no signature required
A unique address per checkout, that can only ever pay you.
Price a checkout in dollars and we return a receiving address for each coin and chain you accept. Your customer sends a plain transfer — from a wallet, a phone, even an exchange withdrawal. Nothing to sign, nothing to connect.
Each address is a CREATE2 contract whose payout address and token are baked
into the address itself. No private key exists for it — not ours, not
anyone's — and it can only ever pay you. That is why this covers USDT, which supports
none of the signature-based standards.
When you want the money, we build a transaction and you sign it. We can't broadcast it, can't move your funds, and hold no gas on your behalf.
You decide what “paid” means
Instant
In a block, roughly 2s on Base. Still droppable — release only what you can afford to give away.
Confirmed
Several blocks deep, about 12s. The default. Right for digital goods; not a claim of irreversibility.
Safe
The chain's own safe tag — about a minute on Base. Attested by validators, not yet finalized. Polygon serves no such tag, so we give you finalized instead: stronger, never weaker.
Finalized
The chain's own finalized tag, about 18 minutes. Reversal would mean slashing a large fraction of stake.
safe
and finalized are read from the chain's own block tags, never from a block count.
Events fire at every level whatever you pick, so you can show a fast “confirmed” in
your UI while waiting for “finalized” before shipping a physical good. And if the network ever
unwinds a payment after we called it paid, you get a checkout.reorged event —
the case you most need to hear about.
Why it holds up
We never hold your money
Checkout funds sit in addresses we have no key for. Relay payments move straight from payer to merchant via EIP-3009. There is no usevig address in either path, not for one block.
No gas money either
We hold no ETH on your behalf and never sweep automatically. Collecting is a transaction you sign, costing about $0.002 per checkout on Base. Agent relays are the exception — those we pay for.
Priced per transaction
Metered on transactions verified, never on value transferred. Move $1M or $10k — same bill at the same count.
Honest about shortfalls
Anything within 1% under counts as paid. Below that you get an exact shortfall and the checkout is not marked paid — never a silent write-off.
Replay-proof
Every relay nonce is single-use, rejected by both a database uniqueness constraint and an on-chain authorizationState check.
Built for agents
An MCP server, /llms.txt, and a free Base Sepolia tier needing zero credentials. Every button here has an API equivalent — an agent can sign up, pay for its own plan, charge and collect, with no browser and no human.
We eat our own cooking
Plans are sold through a usevig checkout and paid in stablecoins. Our billing runs on the same watcher, the same receiving addresses and the same code path we sell you.
Pricing
POST /v1/signup returns a checkout, and the account activates by itself the
moment the transfer confirms. No card, no invoice, no sales call, no human. An agent holding
stablecoins can onboard itself end to end.
The test tier is Base Sepolia: free, self-serve, and the identical code path — real signatures, a real relay, real confirmations, worthless gas. We charge for verification work, not for moving money. Paid plans carry a per-period relay-gas budget of half the plan price. Today your full included volume fits well inside it; if gas costs spike the budget is what stops relays, which is why the figures say “up to”.
GET /v1/me shows both counters and which
one is binding. That is deliberate: usevig is a relayer
and never takes custody of funds, which is what keeps it out of money-transmitter territory.
Refunds and disputes stay between the merchant and their customer — an on-chain transfer cannot
be reversed by us.
API
| Endpoint | What it does |
|---|---|
POST /v1/signup | Buy a plan and go live on mainnet. No credentials, no approval. |
GET /v1/signup/:id | Poll the purchase; returns your api_key once paid. |
POST /v1/plan/renew | Renew or change tier. Early renewal extends, never resets. |
POST /v1/merchants | Free Base Sepolia account, instantly. |
POST /v1/payments | Create a charge; returns the 402 challenge. |
POST /v1/payments/:id/settle | Verify a signature and relay on-chain. |
GET /v1/payments/:id | Status, tx hash, confirmations. |
GET /pay/:id | Hosted checkout page for a human. Public, no key. |
GET /v1/me | Tier and usage this period. |
POST /mcp | MCP server for agent self-onboarding. |