RxKit Rx Agent Trust: x402 Preflight, Finder & Sanctions

Composed public-data reports, priced per call.

x402 preflight (what a paid endpoint will charge, canonical USDC check, risk flags), an x402 API finder that searches public directories and live-checks results, OFAC SDN sanctions screening for crypto addresses and names, and a decoded receipt of your own x402 payment. Each call is one x402 v2 payment in USDC on Base, Polygon, Arbitrum, Avalanche or Sei; no signup or API key. Requests that fail or match nothing are not charged.

x402 v2USDC on BaseNo API keysFree if it fails
1. CallSend a plain GET request. Without payment you receive HTTP 402 with the price in the PAYMENT-REQUIRED header.
2. PayAny x402 client signs a USDC authorization and retries with the PAYMENT-SIGNATURE header.
3. ReceiveYou get the JSON report. Settlement happens only for 2xx responses.

x402 trust and developer tools

Check a paid endpoint before paying, find trusted x402 APIs, and get a decoded receipt of the payment you sent.

GET/v1/x402/receipt$0.002

x402 payment receipt: decode the payment you sent

Decodes the x402 v2 PAYMENT-SIGNATURE header sent with the request into a readable receipt: x402 version, scheme, CAIP-2 network and chain name, resource URL, the copied payment requirements, payer, recipient, value in atomic units and USD, USDC contract, nonce, validity window in ISO-8601 with seconds to expiry, signature length and prefix, extension keys, and pass/fail diagnostics. Computed locally, no upstream source.

Params: echo optional

Sample response
{
  "query": {
    "echo": "test-run-001"
  },
  "result": {
    "payment_header_present": true,
    "header_used": "payment-signature",
    "header_bytes": 7308,
    "decoded": true,
    "encoding": "base64",
    "error": null,
    "payment": {
      "x402_version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "network_caip2": "eip155:8453",
      "network_name": "Base",
      "resource": {
        "url": "https://api.kit-rx.com/v1/x402/receipt",
        "description": "Decodes the x402 v2 PAYMENT-SIGNATURE header sent with the request into a readable receipt: x402 version, scheme, CAIP-2 network and chain name, resource URL, the copied payment requirements, payer, recipient, value in atomic units and USD, USDC contract, nonce, validity window in ISO-8601 with seconds to expiry, signature length and prefix, extension keys, and pass/fail diagnostics. Computed locally, no upstream source.",
        "mimeType": "application/json"
      },
      "accepted": {
        "scheme": "exact",
        "network": "eip155:8453",
        "amount": "2000",
        "amount_usd": "0.002",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "payTo": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70",
        "maxTimeoutSeconds": 300,
        "extra": {
          "name": "USD Coin",
          "version": "2"
        }
      },
      "transfer_method": "eip3009",
      "payer": "0x3f1D5e8a1B2c7b0E9F4d6A8c2E5b7D9f1A3c5E7b",
      "to": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70",
      "value_atomic": "2000",
      "value_usd": "0.002",
      "value_usd_basis": "known Base USDC contract, 6 decimals",
      "asset": {
        "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "symbol": "USDC",
        "decimals": 6
      },
      "nonce": "0x9b7e2c4d61a0f3e85d2b47c91e06fa3b8c5d17e29f40b6a3c8e1d5f7a2b4c6e8",
      "valid_after": {
        "field": "authorization.validAfter",
        "unix": 0,
        "iso": "1970-01-01T00:00:00.000Z"
      },
      "valid_before": {
        "field": "authorization.validBefore",
        "unix": 1794603900,
        "iso": "2026-11-13T21:05:00.000Z",
        "seconds_until_expiry": 296,
        "expired": false
      },
      "signature": {
        "length_chars": 132,
        "bytes": 65,
        "prefix": "0x5c1f3a9e",
        "kind": "ecdsa_65_bytes"
      },
      "extension_keys": [
        "bazaar"
      ],
      "top_level_keys": [
        "x402Version",
        "payload",
        "extensions",
        "resource",
        "accepted"
      ],
      "payload_keys": [
        "authorization",
        "signature"
      ]
    },
    "diagnostics": [
      {
        "id": "to_matches_payTo",
        "check": "authorization.to equals accepted.payTo",
        "status": "pass",
        "detail": "Both are 0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70."
      },
      {
        "id": "value_matches_amount",
        "check": "Signed value equals accepted.amount",
        "status": "pass",
        "detail": "Both are 2000 atomic units."
      },
      {
        "id": "valid_before_future",
        "check": "validBefore is in the future",
        "status": "pass",
        "detail": "Expires in 296 s."
      },
      {
        "id": "valid_after_reached",
        "check": "validAfter is not in the future",
        "status": "pass",
        "detail": "The authorization window has opened."
      },
      {
        "id": "network_recognized",
        "check": "Network is a recognized x402 USDC network",
        "status": "pass",
        "detail": "eip155:8453 is Base."
      }
    ],
    "diagnostics_summary": {
      "pass": 5,
      "fail": 0,
      "skipped": 0
    },
    "server_time": "2026-11-13T21:00:04.512Z",
    "echo": "test-run-001",
    "settlement_note": "On-chain settlement happens after this body is produced: the facilitator submits the signed transfer once the handler returns 200. The transaction hash arrives in this same response's PAYMENT-RESPONSE header (base64 JSON with success, transaction, network and payer)."
  },
  "sources": [],
  "attribution": [
    "No third-party data: computed from this request's own payment header. Network names and USDC contract addresses follow the default asset table of the x402 reference implementation (@x402/evm, Apache-2.0)."
  ],
  "generated_at": "2026-11-13T21:00:04.513Z"
}

https://trust.kit-rx.com/v1/x402/receipt?echo=test-run-001

GET/v1/x402/preflight$0.005

x402 preflight: inspect a paid endpoint before paying

Sends an unpaid GET to an x402 endpoint and reports what it would charge before paying: HTTP status, redirects (max 3, re-validated), v2 PAYMENT-REQUIRED header or v1 body challenge and its validity, each accepts entry (scheme, CAIP-2 network/name, atomic amount, USD for canonical USDC, asset check, payTo, timeout, EIP-712 name/version), OFAC SDN payTo screen, resource, Bazaar extension, risk flags, host context from registry RDAP (registrar, domain age) and Cloudflare DoH.

Params: url

Sample response
{
  "query": {
    "url": "https://api.kit-rx.com/v1/x402/receipt"
  },
  "result": {
    "requested_url": "https://api.kit-rx.com/v1/x402/receipt",
    "final_url": "https://api.kit-rx.com/v1/x402/receipt",
    "http": {
      "status": 402,
      "content_type": "application/json",
      "latency_ms": 329,
      "redirects": [],
      "redirect_stopped": null
    },
    "is_x402": true,
    "x402_version": 2,
    "challenge_source": "payment-required header",
    "challenge_valid": true,
    "challenge_problems": [],
    "server_error": "Payment required",
    "resource": {
      "url": "https://api.kit-rx.com/v1/x402/receipt",
      "description": "Decodes the x402 v2 PAYMENT-SIGNATURE header sent with the request into a readable receipt: …",
      "mimeType": "application/json"
    },
    "accepts_count": 5,
    "accepts": [
      {
        "index": 0,
        "scheme": "exact",
        "network": "eip155:8453",
        "network_caip2": "eip155:8453",
        "network_name": "Base",
        "testnet": false,
        "amount_atomic": "2000",
        "amount_usd": "0.002",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "asset_is_canonical_usdc": true,
        "asset_note": null,
        "pay_to": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70",
        "max_timeout_seconds": 300,
        "transfer_method": "eip3009",
        "eip712": {
          "name": "USD Coin",
          "version": "2",
          "present": true,
          "matches_usdc_contract": true
        },
        "extra_keys": [
          "name",
          "version"
        ],
        "problems": []
      },
      {
        "index": 1,
        "scheme": "exact",
        "network": "eip155:137",
        "network_caip2": "eip155:137",
        "network_name": "Polygon",
        "testnet": false,
        "amount_atomic": "2000",
        "amount_usd": "0.002",
        "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
        "asset_is_canonical_usdc": true,
        "asset_note": null,
        "pay_to": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70",
        "max_timeout_seconds": 300,
        "transfer_method": "eip3009",
        "eip712": {
          "name": "USD Coin",
          "version": "2",
          "present": true,
          "matches_usdc_contract": true
        },
        "extra_keys": [
          "name",
          "version"
        ],
        "problems": []
      }
    ],
    "price_usd": {
      "min": "0.002",
      "max": "0.002"
    },
    "bazaar": {
      "present": true,
      "info_present": true,
      "schema_present": true,
      "input_type": "http",
      "method": "GET",
      "query_params": [
        "echo"
      ],
      "output_example_present": true
    },
    "extension_keys": [
      "bazaar"
    ],
    "risk_flags": [],
    "risk_summary": {
      "high": 0,
      "medium": 0,
      "low": 0
    },
    "ofac": {
      "source": "U.S. Treasury OFAC SDN List",
      "list_date": "2026-11-13",
      "checked": [
        "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70"
      ],
      "match": false,
      "matches": []
    },
    "host": {
      "host": "api.kit-rx.com",
      "registrable_domain": "kit-rx.com",
      "platform": null,
      "dns": {
        "a": [
          "104.21.58.22",
          "172.67.198.112"
        ],
        "aaaa": [
          "2606:4700:3035::6815:3a16",
          "2606:4700:3033::ac43:c670"
        ],
        "all_public": true
      },
      "registration": {
        "rdap": "found",
        "registrar": "Squarespace Domains II LLC",
        "registrar_iana_id": "895",
        "created": "2025-12-04T00:21:00.000Z",
        "age_days": 346
      }
    }
  },
  "sources": [
    {
      "name": "Unpaid GET of the endpoint (no payment header)",
      "url": "https://api.kit-rx.com/v1/x402/receipt"
    },
    {
      "name": "Cloudflare DNS over HTTPS (JSON API)",
      "url": "https://cloudflare-dns.com/dns-query"
    },
    {
      "name": "IANA RDAP bootstrap",
      "url": "https://data.iana.org/rdap/dns.json"
    },
    {
      "name": "Registry RDAP (rdap.verisign.com)",
      "url": "https://rdap.verisign.com/com/v1/domain/kit-rx.com"
    }
  ],
  "attribution": [
    "DNS resolved via Cloudflare 1.1.1.1 DNS-over-HTTPS.",
    "Registration data from the domain's registry via RDAP, subject to that registry's terms; provided for per-domain due diligence only, not for bulk collection or marketing."
  ],
  "generated_at": "2026-11-15T01:05:48.404Z"
}

https://trust.kit-rx.com/v1/x402/preflight?url=https%3A%2F%2Fapi.kit-rx.com%2Fv1%2Fx402%2Freceipt

GET/v1/x402/find$0.01

x402 finder: search paid APIs, ranked and live-checked

Search and discovery of paid x402 API endpoints for a plain-language need, across Ultravioleta DAO x402 Bazaar and 402 Index directories. Dedupes by resource URL; ranks by relevance, verification, uptime, price and recency. Each result: resource URL, short description, USDC price, CAIP-2 networks, sources, verification. The top 3 GET endpoints get a live unpaid check: valid x402 402, live price, networks, canonical USDC, risk flags, OFAC SDN payTo screen, RDAP domain age.

Params: q, max_price optional, network optional, limit optional

Sample response
{
  "query": {
    "q": "weather forecast",
    "max_price": "0.01",
    "limit": 3
  },
  "result": {
    "results": [
      {
        "rank": 1,
        "resource": "https://verify-oracle.run402.com/api/weather",
        "title": "VerifyOracle",
        "provider": null,
        "description": "Live weather forecast and current temperature in Fahrenheit and Celsius with precipitation and wind from Open-Meteo and NWS (default New York).",
        "method": "GET",
        "price_usd": "0.001",
        "networks": [
          "eip155:8453"
        ],
        "sources": [
          "ultravioleta"
        ],
        "verification": {
          "status": "verified",
          "ultravioleta": {
            "health": "alive",
            "verified_by": "x402_challenge",
            "verified_at": "2026-11-13T00:36:14.000Z",
            "uptime_pct": 100,
            "tier": "verified",
            "calls_30d": 0,
            "unique_payers_30d": 0
          }
        },
        "score": 0.964,
        "live_check": {
          "checked": true,
          "verdict": "pass",
          "http_status": 402,
          "latency_ms": 221,
          "is_x402": true,
          "x402_version": 2,
          "challenge_valid": true,
          "price_usd": {
            "min": "0.001",
            "max": "0.001"
          },
          "networks": [
            "eip155:8453"
          ],
          "canonical_usdc": true,
          "ofac_sdn_match": false,
          "risk_flags": [],
          "problems": [],
          "domain": {
            "registrable": "run402.com",
            "platform": null,
            "age_days": 261,
            "rdap": "found"
          }
        }
      },
      {
        "rank": 2,
        "resource": "https://quantagentshop.com/v1/weather",
        "title": "Quant Agent Shop",
        "provider": null,
        "description": "Weather forecast for coordinates or a city name: current temperature, humidity, wind …",
        "method": "POST",
        "price_usd": "0.0013",
        "networks": [
          "eip155:8453"
        ],
        "sources": [
          "ultravioleta"
        ],
        "verification": {
          "status": "verified"
        },
        "score": 0.941,
        "live_check": {
          "checked": false,
          "verdict": null,
          "reason": "Not checked: the listing declares POST; the live check sends an unpaid GET only."
        }
      }
    ],
    "counts": {
      "ultravioleta": {
        "status": "ok",
        "returned": 14,
        "matched": 10
      },
      "402index": {
        "status": "ok",
        "returned": 20,
        "matched": 19
      },
      "merged": 34,
      "dropped": {
        "below_relevance": 4,
        "over_max_price": 0,
        "network_mismatch": 0,
        "reported_down": 1
      },
      "after_filters": 29,
      "returned": 3,
      "live_checked": 2
    }
  },
  "sources": [
    {
      "name": "Ultravioleta DAO x402 Bazaar (discovery API)",
      "url": "https://facilitator.ultravioletadao.xyz/discovery/resources"
    },
    {
      "name": "402 Index public API (402index.io)",
      "url": "https://402index.io/api/v1/services"
    }
  ],
  "generated_at": "2026-11-15T00:39:59.536Z"
}

https://trust.kit-rx.com/v1/x402/find?q=weather+forecast&max_price=0.01&limit=3

Sanctions screening

OFAC SDN screening for crypto addresses and names.

GET/v1/compliance/sanctions$0.01

OFAC sanctions screening: crypto wallet or name

OFAC sanctions (AML/KYC) screening of a crypto wallet or a person, company, vessel or aircraft name against a dated snapshot of the U.S. Treasury SDN and non-SDN Consolidated lists. Address mode: exact match on OFAC-listed digital currency addresses (BTC, ETH/EVM, USDT, TRX, XMR, LTC, more). Name mode: fuzzy match on names and strong aliases ignoring case, accents, punctuation and word order, scored 0-100. Returns match flag, OFAC uid, type, programs, country, list date.

Params: address optional, name optional, threshold optional

Sample response
{
  "query": {
    "address": "0x098B716B8Aaf21512996dC57EB0615e2383E2f96"
  },
  "result": {
    "mode": "address",
    "list_date": "2026-11-13",
    "list_age_days": 2,
    "lists": [
      {
        "list": "SDN",
        "publish_date": "2026-11-13",
        "records": 19565
      },
      {
        "list": "Non-SDN Consolidated",
        "publish_date": "2026-11-04",
        "records": 486
      }
    ],
    "match": true,
    "match_count": 1,
    "matches": [
      {
        "uid": 27307,
        "name": "LAZARUS GROUP",
        "matched_alias": null,
        "type": "entity",
        "lists": [
          "SDN"
        ],
        "programs": [
          "DPRK3"
        ],
        "country": "Korea, North",
        "score": 100,
        "matched_address": "0x098B716B8Aaf21512996dC57EB0615e2383E2f96",
        "currencies": [
          "ETH"
        ]
      }
    ],
    "source": "U.S. Treasury OFAC SDN List",
    "disclaimer": "Screening aid only, not a legal determination. Matches come from a bundled OFAC list snapshot (see list_date) and can miss designations or removals made after it. …"
  },
  "sources": [
    {
      "name": "OFAC Sanctions List Service: SDN List (bundled snapshot)",
      "url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.XML"
    },
    {
      "name": "OFAC Sanctions List Service: Consolidated (non-SDN) List (bundled snapshot)",
      "url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/CONSOLIDATED.XML"
    }
  ],
  "notes": [
    "EVM addresses are compared case-insensitively; a listed EVM address is flagged whatever chain or token OFAC recorded it under."
  ],
  "attribution": [
    "Sanctions data from the U.S. Department of the Treasury, Office of Foreign Assets Control (OFAC) Sanctions List Service; U.S. government work, not subject to copyright (17 U.S.C. 105). Kit Rx is not affiliated with or endorsed by OFAC or Treasury. Bundled snapshot: see list_date."
  ],
  "generated_at": "2026-11-15T00:37:12.574Z"
}

https://trust.kit-rx.com/v1/compliance/sanctions?address=0x098B716B8Aaf21512996dC57EB0615e2383E2f96