Payment integration check for 0
Payment integration check for 0.001 USDC; no external data lookup. Returns time, rail, network mode and free/paid capabilities. HTTP payment options can include Base, Polygon, Arbitrum and XDC; the challenge lists currently available networks for each transport. The receipt identifies the paid network and transaction. Business/professional use only. Terms: https://402rates.com/data-terms/
1000 (raw units)
price
27
calls / 30d
14
unique payers
2026-09-17
updated
Provider
api.402rates.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xf567Cfe0FDb87A1D6Ca330e3f30f0D3DA0F7cb98",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:137",
"payTo": "0xf567Cfe0FDb87A1D6Ca330e3f30f0D3DA0F7cb98",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"amount": "1000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:42161",
"payTo": "0xf567Cfe0FDb87A1D6Ca330e3f30f0D3DA0F7cb98",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"amount": "1000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:50",
"payTo": "0xedb1a894761F0a142d80D09F82Ff7CF99158Bb19",
"asset": "0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1",
"amount": "1000",
"maxTimeoutSeconds": 120
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {},
"type": "http"
},
"output": {
"example": {
"mode": "mainnet",
"next": {
"free": [
{
"capability": "compass.rwa.updates",
"method": "POST",
"note": "Read observed Treasury changes since a saved cursor",
"url": "https://api.402rates.com/v1/rwa/updates"
},
{
"capability": "compass.rwa.benchmark",
"method": "POST",
"note": "Compare a supplied USD Treasury return with a matching benchmark",
"url": "https://api.402rates.com/v1/rwa/benchmark"
},
{
"capability": "compass.tests.preflight",
"method": "POST",
"note": "Inspect x402 payment terms without making a payment",
"url": "https://api.402rates.com/v1/tests/preflight"
},
{
"capability": "compass.rwa.changes",
"method": "POST",
"note": "Compare yield and divergence fields in two saved Treasury responses",
"url": "https://api.402rates.com/v1/rwa/changes"
},
{
"capability": "compass.tests.cases",
"note": "List the synthetic agent test cases",
"url": "https://api.402rates.com/v1/tests/cases"
},
{
"capability": "compass.tests.case",
"note": "Describe a synthetic agent test",
"url": "https://api.402rates.com/v1/tests/case"
},
{
"capability": "compass.tests.run",
"method": "POST",
"note": "Start or repeat a synthetic agent test",
"url": "https://api.402rates.com/v1/tests/run"
},
{
"capability": "compass.tests.action",
"method": "POST",
"note": "Execute a synthetic test action",
"url": "https://api.402rates.com/v1/tests/action"
},
{
"capability": "compass.tests.state",
"method": "POST",
"note": "Read synthetic task state",
"url": "https://api.402rates.com/v1/tests/state"
},
{
"capability": "compass.tests.report",
"method": "POST",
"note": "Read or finalize an agent test timeline",
"url": "https://api.402rates.com/v1/tests/report"
},
{
"capability": "compass.rwa.coverage",
"note": "What the RWA yield data covers, and what it does not",
"url": "https://api.402rates.com/v1/rwa/coverage"
},
{
"capability": "compass.rwa.filter",
"note": "Published instrument constraints compared with supplied facts",
"url": "https://api.402rates.com/v1/rwa/filter"
},
{
"capability": "compass.rwa.instrument",
"note": "Full evidence-backed state for one tokenized treasury",
"url": "https://api.402rates.com/v1/rwa/instrument"
},
{
"capability": "compass.rwa.history",
"note": "Normalized history for one reconstructible RWA source",
"url": "https://api.402rates.com/v1/rwa/history"
},
{
"capability": "compass.discovery",
"note": "Search the x402 catalogue with usage figures",
"url": "https://api.402rates.com/v1/discovery"
},
{
"capability": "compass.manifest",
"note": "Service manifest",
"url": "https://api.402rates.com/v1/manifest"
},
{
"capability": "compass.health",
"note": "Liveness probe",
"url": "https://api.402rates.com/health"
},
{
"capability": "compass.ready",
"note": "Readiness probe",
"url": "https://api.402rates.com/ready"
}
],
"mcp": "https://api.402rates.com/mcp",
"paid": [
{
"capability": "compass.settlement.costs",
"note": "Measured cost of a USDC transfer per chain, cheapest first",
"price_usdc": "0.01",
"url": "https://api.402rates.com/v1/settlement/costs"
},
{
"capability": "compass.rwa.yields",
"note": "Realised 30-day yields of tokenized treasuries, recomputable",
"price_usdc": "0.03",
"url": "https://api.402rates.com/v1/rwa/yields"
},
{
"capability": "compass.rwa.instruments.all",
"note": "Complete evidence snapshot for all tracked tokenized treasuries",
"price_usdc": "5",
"url": "https://api.402rates.com/v1/rwa/instruments"
},
{
"capability": "compass.ping",
"note": "Payment integration check",
"price_usdc": "0.001",
"url": "https://api.402rates.com/v1/ping"
}
]
},
"pong": true,
"rail": "cdp-v2",
"time": "2026-07-10T12:00:00Z"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://api.402rates.com/v1/ping" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.402rates.com/v1/ping");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.402rates.com/v1/ping")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/577.json, and this resource appears in /discovery/resources and /discovery/search.