The x402 facilitator for Robinhood Chain
Settle x402 payments in USDG. Keyless, no fee, we pay the gas. Every payment checks payTo against the seller's registered identity (ERC-8478), and every settlement gets a signed Toll receipt.
- Payments settled
- 11
- tests by Toll
- 9
- Volume, USDG
- 1.305
- Sellers
- 6
- Payers
- 3
- Escrow holds
- 1
- Failed
- 0
- Median settle time, 7 days
- —
I sell
Get paid per call
One line in your handler. No account, no API key, and you receive every payment whole.
npm i @tollxyz/x402-seller
I pay
Check before your agent signs
Is the money going to the wallet the seller registered? Is the price what it usually asks? One call reads it.
guardX402Fetch(fetch, { agentId })
Check an agent
Is this seller verified?
15 of 6,543 x402 agents pay to the wallet their identity registered.
Live settlements
All activity, escrow and batch| Seller | Paid to | Amount | When (UTC) | Settle time | Receipt | Transaction |
|---|---|---|---|---|---|---|
| Seller#1000 0xb628…4fb7 | Paid toverified | Amount0.01 USDGtest by Toll | When (UTC)2026-11-13 12:22 | Settle time— | Receiptreceipt · share | Transaction0x79cc…877e |
| Seller#8811 Bucks 0xf585…bb65 | Paid toverified | Amount0.1 USDGtest by Toll | When (UTC)2026-11-13 05:15 | Settle time— | Receiptreceipt · share | Transaction0x3437…fc7a |
| Seller#8811 Bucks 0xf585…bb65 | Paid toverified | Amount1 USDGtest by Toll | When (UTC)2026-11-12 19:14 | Settle time— | Receiptreceipt · share | Transaction0x3e95…a148 |
| Seller#25450 toll-stock-test 0x5388…a5bc | Paid toverified | Amount0.05 USDGtest by Toll | When (UTC)2026-11-11 21:31 | Settle time— | Receiptreceipt · share | Transaction0x72d6…c889 |
| Seller#25450 toll-stock-test 0x5388…a5bc | Paid toverified | Amount0.05 USDGtest by Toll | When (UTC)2026-11-11 21:31 | Settle time— | Receiptreceipt · share | Transaction0x323c…6788 |
| Seller0x7fbd…a37d | Paid tono identity | Amount0.01 USDGtest by Toll | When (UTC)2026-11-11 05:42 | Settle time— | Receiptreceipt · share | Transaction0xe2e0…fcee |
| Seller0x7fbd…a37d | Paid tono identity | Amount0.01 USDGtest by Toll | When (UTC)2026-11-11 05:34 | Settle time— | Receiptreceipt · share | Transaction0xadbb…067f |
| Seller0x7fbd…a37d | Paid tono identity | Amount0.005 USDGtest by Toll | When (UTC)2026-11-10 05:07 | Settle time— | Receiptreceipt · share | Transaction0x04d6…b5f8 |
| Seller#20030 Toll 0xdc36…7f40 | Paid toverified | Amount0.01 USDG | When (UTC)2026-11-08 01:13 | Settle time— | Receiptreceipt · share | Transaction0x8ea8…f580 |
| Seller#20030 Toll 0xdc36…7f40 | Paid toverified | Amount0.05 USDG | When (UTC)2026-11-08 00:37 | Settle time— | Receiptreceipt · share | Transaction0x7128…4c4d |
| Seller0x0259…6e5c | Paid tono identity | Amount0.01 USDGtest by Toll | When (UTC)2026-10-31 18:44 | Settle time— | Receiptreceipt · share | Transaction0xb337…b408 |
Why settle with Toll
13 of 13 on right now · each label opens how it works- Exact ON
- Pay in more tokens ON
- Upto ON
- Escrow with refunds ON
- Batch settlement ON
- Payee check (ERC-8478) ON
- Safety screen ON
- Signed receipts ON
- Offer and receipt ON
- Paid-before lookup ON
- Spending budgets ON
- Builder code ON
- Discovery ON
- Payment-id dedupe. A payment id from one payer to one seller settles once in 24 hours; a second authorization for it answers with the first transaction.
- Gas paid by us. The facilitator's wallet sends the transaction and pays its gas; payer and seller pay none.
- No fee. The seller receives the full amount the payer signed.
Sell with Tollthe one line, its options, the facilitator URL
New here? Launch a paid agent: pick a template, mint its identity, and sell in about 5 minutes.
npm i @tollxyz/x402-seller, then one line in a Next.js, Hono, Bun or Workers handler. It answers 402 with your price, sends the payment here, and runs your handler once it is settled:
import { paywall } from "@tollxyz/x402-seller";
export const GET = paywall(
{ payTo: "0xYourAgentWallet", price: "0.05", agentId: 12345 },
async (req) => Response.json({ ok: true }),
);Options: appCode names your app in every settlement’s calldata (ERC-8021), bazaar describes the endpoint so it is listed in discovery once a payment settles.
appCode and bazaar
export const GET = paywall(
{
payTo: "0xYourAgentWallet", price: "0.05", agentId: 12345,
appCode: "your_app", // ERC-8021 builder code: settlements name your app on chain
bazaar: { // listed in discovery once a payment settles
description: "tomorrow's forecast for a city",
input: { city: "Dubai" },
inputSchema: { type: "object", properties: { city: { type: "string" } }, required: ["city"] },
output: { example: { forecast: "sunny" } },
},
},
async (req) => Response.json({ forecast: "sunny" }),
);Starter: a Next.js API with one paid route
npx degit t0ll-xyz/toll-plugins/templates/x402-starter my-api
Or point any x402 server at this facilitator. No account, no API key:
https://x402.t0ll.xyz
Your payment requirement names USDG and its signing domain explicitly (most x402 libraries have no default for chain 4663), and, to get the payee check, your ERC-8004 identity:
PaymentRequirements (x402 v2)
{
"scheme": "exact",
"network": "eip155:4663",
"asset": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
"amount": "50000",
"payTo": "0xYourWallet",
"maxTimeoutSeconds": 300,
"extra": {
"name": "Global Dollar",
"version": "1",
"erc8004": {
"registry": "eip155:4663:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
"agentId": "<your agent id>"
}
}
}Pay with Tollthe buyer line, and what is read before your agent signs
Any x402 client pays a seller that settles here: the payer signs, the seller sends it to this facilitator, and we send the transaction. Before an agent signs, check_tx reads the payment from the payer’s side: whether payTo is the seller’s registered agent wallet, the price against what the seller usually asks, and how long the signature lasts. What it reads.
import { wrapFetchWithPayment } from "x402-fetch";
import { guardX402Fetch } from "@tollxyz/guard";
// every 402 goes to Toll's check_tx before the client signs it; a BLOCK never reaches the payer
const pay = wrapFetchWithPayment(guardX402Fetch(fetch, { agentId: 12345 }), account);
const res = await pay("https://seller.example/api/forecast?city=Dubai");Pay up to a maximum (upto): the payer signs a maximum, and the seller may charge any amount up to it. check_tx names that maximum in USDG; a guard spend cap (perCall, perEndpoint) counts the 402’s amount. Over MCP the tool is check_tx (Use Toll in your AI); in code, @tollxyz/guard.
Morethe register, the receipt lookup, live numbers, how it works, endpoints
- x402 Register: every x402 seller on Robinhood Chain, and whether its payTo is its registered agent wallet.
- What “payTo verified” means, and what it does not.
- Live numbers: payers, failed payments, payee check outcomes, escrow and batch-settlement totals.
- Escrow holds & refunds, in one feed with the settlements.
- Batch settlement: every deposit, claim and refund, with what each claim paid.
- Settled by verified sellers.
- Look up a receipt by its id or transaction.
- How it works, feature by feature, and the limits.
- Endpoints: verify, settle, supported, receipt, stats, discovery.
- x402 on Robinhood Chain: x402 payments over 30 days, by seller and by facilitator, refreshed hourly.