High-throughput stablecoin settlement for the Radius network. Wallet pooling, sub-second finality, and zero nonce conflicts.
On Radius, eth_sendRawTransaction returns only after the
transaction is settled. No polling, no confirmations — your payment
is final the instant you get a response.
RUSD for gas, SBC for payments. No volatile tokens. The Turnstile mechanism auto-converts SBC to cover gas, so wallets always stay funded.
Traditional facilitators serialize through one wallet. This facilitator maintains thousands of HD-derived wallets, processing settlements concurrently with zero nonce conflicts.
Radius settles transactions in milliseconds. Combined with parallel wallet checkout, payment-to-receipt latency is measured in hundreds of milliseconds.
The wallet pool grows automatically when utilization exceeds 80%. Gas funding, stale wallet recovery, and balance syncing are all handled in the background.
Every settlement is keyed by keccak256(payload + sig).
Duplicate requests return cached results. Private keys are AES-256-GCM
encrypted at rest.
402 Payment Required, the client signs
a stablecoin authorization, and the facilitator settles it on-chain.
The resource server responds with 402 Payment Required
and an X-PAYMENT header describing the price, token,
and recipient.
Using EIP-3009 transferWithAuthorization or EIP-2612
permit, the client signs an EIP-712 message authorizing
the exact payment — no on-chain transaction needed from the client.
The signed authorization is sent to POST /settle.
The facilitator verifies the signature, amount, recipient, time window,
nonce, and balance.
A wallet is checked out from the pool, the authorization is submitted to Radius, and settlement is confirmed synchronously. The wallet is released back to the pool immediately.
The facilitator returns a transaction hash. The resource server delivers the content. The entire flow completes in under a second.
curl https://facilitator.radiustech.xyz/supported
// When a client requests a paid resource:
const paymentHeader = Buffer.from(JSON.stringify({
x402Version: 1,
accepts: [{
scheme: "exact",
network: "eip155:723487",
maxAmountRequired: "100000", // 0.1 SBC
asset: "0x33ad9e4BD16B69B5BFdED37D8B5D9fF9aba014Fb",
payTo: YOUR_WALLET_ADDRESS,
maxTimeoutSeconds: 60,
}]
})).toString("base64");
res.status(402)
.set("X-PAYMENT", paymentHeader)
.send("Payment Required");
// When the client retries with a signed authorization:
const response = await fetch("https://facilitator.radiustech.xyz/settle", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
payload: signedPayload, // from client's X-PAYMENT header
requirements: {
network: "eip155:723487",
tokenAddress: "0x33ad9e4BD16B69B5BFdED37D8B5D9fF9aba014Fb",
amount: "100000",
recipient: YOUR_WALLET_ADDRESS,
},
signature: clientSignature,
})
});
const { success, txHash } = await response.json();
// success === true, txHash is the on-chain settlement