Whitechain + facilitator
Network
| Whitechain Sepolia (current) | |
|---|---|
| CAIP-2 | eip155:1874 |
| Chain ID | 1874 |
| RPC | https://rpc.testnet.whitechain.io |
| Explorer | explorer.testnet.whitechain.io |
| Native token | WBT (not needed by payers) |
| Faucet (WBT) | faucet.testnet.whitechain.io |
Mainnet (eip155:1875) is planned. Networks are defined in lib/chains.ts, and the server's network is set with X402_NETWORK.
Asset
| Token | Tether USD (USDT) |
| Address | 0xcedfB56113143d55b2358b8CFbB0dEB5Ad2f55a7 |
| Decimals | 6 (10000 = 0.01 USDT) |
| EIP-712 domain | { name: "Tether USD", version: "1" } |
| Transfer method | EIP-3009 transferWithAuthorization |
The domain goes in extra on every route, and your client needs it to sign:
ts
price: {
asset: "0xcedfB56113143d55b2358b8CFbB0dEB5Ad2f55a7", // Whitechain Sepolia USDT
amount: "10000",
extra: { name: "Tether USD", version: "1" },
}Facilitator
https://whitechain.007575.xyz verifies and settles payments. GET /supported reports:
json
{
"kinds": [{ "x402Version": 2, "scheme": "exact", "network": "eip155:1874" }],
"signers": { "eip155:1874": ["0x79DD6ca37394Abfd0A6cBF1Cb5F35d2D548e2d85"] }
}Its signer submits transferWithAuthorization and pays the WBT gas, so payers only ever sign.
Getting test funds
- WBT (optional, only for sending your own transactions): faucet.testnet.whitechain.io.
- USDT: the test token's
mintis owner-restricted, so it can't be self-minted. Ask the facilitator or token operator for a test allocation, or have someone who holds test USDT transfer some to you. 1 USDT covers 100 searches.
Add the network to MetaMask manually (Settings → Networks → Add) with the values above, or just press Switch network in the playground.