x402station.io API reference

Delist Feed — changes-only diff

Daily pruning diff for catalog/index operators: newly flagged listings and recoveries since the last pull (max 48h window).

This HTML page is served by GET /api/v1/delist-feed-diff. The paid API operation remains POST /api/v1/delist-feed-diff.

Signature
POST /api/v1/delist-feed-diff
Pricing
$1 USDC
Settlement
x402 v2 · exact · Base mainnet USDC
Canonical
https://x402station.io/api/v1/delist-feed-diff

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/delist-feed-diff",
    "description": "Delist Feed — changes-only diff"
  },
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "asset": "USDC",
      "amount": "1000000",
      "payTo": "0x4053338C7cB38624C0bc23c900F78Cf8470b4E38",
      "maxTimeoutSeconds": 300
    }
  ]
}

Request body

{
  "since": "2026-07-02T18:00:00Z",
  "scope": "all"
}

Success response

{
  "generated_at": "2026-07-03T18:00:00.000Z",
  "mode": "diff",
  "window": {
    "since": "2026-07-02T18:00:00.000Z",
    "until": "2026-07-03T18:00:00.000Z"
  },
  "counts": {
    "should_delist": 3,
    "newly_flagged": 3,
    "recovered": 1,
    "ghost_listings": 1
  },
  "should_delist": [
    {
      "url": "https://api.example.com/quote",
      "reasons": [
        "dead_7d"
      ],
      "first_flagged_at": "2026-07-03T10:00:00.000Z",
      "confidence": "low"
    }
  ],
  "recovered": []
}

Error codes

statusmeaning
400Malformed JSON body, invalid URL, or missing required field.
402Payment required. Decode payment-required, sign x402, retry.
503Query/probe pipeline timeout. Treat as failed preflight; do not pay target blindly.
400since older than 48 hours — re-baseline with the $5 full snapshot first.

Notes

Machine-readable links