Test payments on 7 testnets. No API key. No real funds. Just code.
T402 is an open-source HTTP-native payment protocol for stablecoins.
Servers return HTTP 402 with payment instructions — clients sign off-chain, resubmit, and the facilitator verifies and settles on-chain.
This sandbox lets you test the entire flow with zero real funds.
import { HTTPFacilitatorClient } from "@t402/core";
const client = new HTTPFacilitatorClient({
url: "https://sandbox.t402.io"
});
import "github.com/t402-io/t402/sdks/go/http"
client := http.NewFacilitatorClient(&http.FacilitatorConfig{
URL: "https://sandbox.t402.io",
})
from t402 import FacilitatorClient
client = FacilitatorClient({"url": "https://sandbox.t402.io"})
import io.t402.client.HttpFacilitatorClient;
var client = new HttpFacilitatorClient("https://sandbox.t402.io");
# Check supported networks
curl -s https://sandbox.t402.io/supported | jq
# Get faucet links
curl -s https://sandbox.t402.io/faucets | jq
# Verify with magic test address (always succeeds)
curl -s -X POST https://sandbox.t402.io/verify \
-H "Content-Type: application/json" \
-d '{"paymentPayload":{"payload":{"payer":"0x0000000000000000000000000000000000CAFE01"}},"paymentRequirements":{"network":"eip155:84532"}}'
| Network | CAIP-2 | Token | Status |
|---|---|---|---|
| Base Sepolia | eip155:84532 | USDC | ... |
| Ethereum Sepolia | eip155:11155111 | USDC | ... |
| Arbitrum Sepolia | eip155:421614 | USDC | ... |
| Solana Devnet | solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 | USDC | ... |
| TON Testnet | ton:testnet | USDT | ... |
| TRON Nile | tron:nile | USDT | ... |
| Stellar Testnet | stellar:testnet | USDC | ... |
Use faucets to get testnet tokens, or use magic test addresses to skip tokens entirely.
Use these as the payer field to get deterministic responses — no real tokens needed. Full list (JSON) →
| Address | Verify | Settle |
|---|---|---|
0x...CAFE01 | ✓ Valid | ✓ Success |
0x...CAFE02 | ✗ Bad signature | ✓ Success |
0x...CAFE03 | ✗ Expired | ✓ Success |
0x...CAFE11 | ✓ Valid | ✓ Success |
0x...CAFE12 | ✓ Valid | ✗ Insufficient funds |
0x...CAFE13 | ✓ Valid | ✗ Timeout |
0x...CAFE99 | ⏱ 2s delay | ⏱ 2s delay |
| Method | Path | Description |
|---|---|---|
| GET | /health | Health check |
| GET | /ready | Readiness (upstream status) |
| GET | /supported | Supported testnet kinds |
| GET | /faucets | Testnet token faucets |
| GET | /test-addresses | Magic test addresses (like Stripe test cards) |
| GET | /examples | Sample request/response payloads |
| GET | /errors | Error catalog with solutions |
| GET | /usage | Usage statistics |
| GET | /history | Request history (per session) |
| GET | /metrics | Prometheus metrics |
| GET | /openapi.yaml | OpenAPI spec |
| POST | /verify | Verify payment |
| POST | /settle | Settle payment |
| POST | /webhook/test | Test webhook delivery |
| GET | /playground | Interactive API playground |
100 requests/minute per IP. Headers: X-RateLimit-Limit, X-RateLimit-Remaining.
"mock": true. Connect a testnet facilitator for real on-chain verification.| Sandbox | Production | |
|---|---|---|
| URL | sandbox.t402.io | facilitator.t402.io |
| API Key | Not needed | Required (X-API-Key) |
| Networks | 7 testnets | 39+ mainnets |
| Tokens | Test USDC/USDT (free) | Real USDC/USDT |
| Settlement | Mock or testnet | Real on-chain |
| Magic Addresses | Supported | Not supported |
Playground · Errors · OpenAPI · Docs · GitHub · npm · Powered by T402