x402station.io API reference
Catalog diff polling
Return x402 endpoints added or removed since a timestamp so crawlers can track catalog drift.
This HTML page is served by GET /api/v1/whats-new. The paid API operation remains POST /api/v1/whats-new.
x402 challenge example
HTTP/1.1 402 Payment Required
payment-required: <base64 PaymentRequiredResponse>
www-authenticate: x402
content-type: application/json; charset=utf-8
{
"x402Version": 2,
"error": "Payment required",
"resource": {
"url": "https://x402station.io/api/v1/whats-new",
"description": "Catalog diff polling"
},
"accepts": [
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "USDC",
"amount": "1000",
"payTo": "0x4053338C7cB38624C0bc23c900F78Cf8470b4E38",
"maxTimeoutSeconds": 300
}
]
}
Request body
{
"since": "2026-06-01T00:00:00.000Z",
"limit": 50
}
Success response
{
"since": "2026-06-01T00:00:00.000Z",
"added_endpoints": [
{
"url": "https://api.example.com/new-x402"
}
],
"removed_endpoints": [],
"summary": {
"added": 1,
"removed": 0
}
}
Error codes
| status | meaning |
|---|---|
400 | Malformed JSON body, invalid URL, or missing required field. |
402 | Payment required. Decode payment-required, sign x402, retry. |
503 | Query/probe pipeline timeout. Treat as failed preflight; do not pay target blindly. |
Notes
- Polling faster than the ingest cadence returns identical data.