Skip to content
developer · developer · research · x402 · payment · preflight · compliance · bazaar · directory · traction · seller · market-research · competition · x402-list

x402 endpoint preflight

Probe a public endpoint without paying, grade its x402 v2 challenge, check exact-host x402-list presence and traction, and optionally rank licensed market matches with buyer-concentration caveats.

$0.05 USDCBase + Solanax402 v2POSTCustomer-evidenced
Pay $0.05 USDC and run in your browserView free result sample

Endpoint

https://apiacre.com/v1/developer/x402-preflight

Send the JSON body below. An unpaid request returns HTTP 402 with a PAYMENT-REQUIRED header; an x402-compatible buyer signs the requirement and retries with PAYMENT-SIGNATURE.

Pay $0.05 USDC and run in your browser

Official Coinbase agent path

Coinbase Agentic Wallet can satisfy this x402 request in one command. Running it may pay automatically, so --max-amount is fixed to $0.05 USDC in atomic units. Copying the command does not install, authenticate, sign, or pay; review the request and use a separate low-value wallet before running it.

npx --yes awal@latest x402 pay https://apiacre.com/v1/developer/x402-preflight \
  -X POST \
  -d '{"url":"https://apiacre.com/v1/developer/openapi-audit","method":"POST","body":{"document":"{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Example\",\"version\":\"1\"},\"paths\":{}}","format":"json"},"market_query":"audit","market_limit":1}' \
  --max-amount 50000 \
  --json

Coinbase pay-for-service documentation · Buyer setup and wallet safety

Alternative third-party AgentCash commands

Run check first without payment. Its fetch command may automatically pay up to the exact listed price.

npx --yes agentcash@latest check https://apiacre.com/v1/developer/x402-preflight
npx --yes agentcash@latest fetch https://apiacre.com/v1/developer/x402-preflight \
  --method POST \
  --header 'content-type: application/json' \
  --body '{"url":"https://apiacre.com/v1/developer/openapi-audit","method":"POST","body":{"document":"{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Example\",\"version\":\"1\"},\"paths\":{}}","format":"json"},"market_query":"audit","market_limit":1}' \
  --payment-protocol x402 \
  --payment-network base \
  --max-amount 0.050

AgentCash CLI documentation

Input example

{
  "url": "https://apiacre.com/v1/developer/openapi-audit",
  "method": "POST",
  "body": {
    "document": "{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Example\",\"version\":\"1\"},\"paths\":{}}",
    "format": "json"
  },
  "market_query": "audit",
  "market_limit": 1
}

Response shape

View free static sample JSON

{
  "request_id": "018f1f54-7f38-7ba2-8dc3-5f90272d9f1a",
  "service": "developer.x402-preflight",
  "version": "1",
  "data": {
    "url": "https://apiacre.com/v1/developer/openapi-audit",
    "finalUrl": "https://apiacre.com/v1/developer/openapi-audit",
    "method": "POST",
    "statusCode": 402,
    "elapsedMs": 128,
    "compliant": true,
    "grade": "A",
    "score": 100,
    "gradeVersion": "apiacre-x402-preflight/1",
    "checks": [
      {
        "id": "http_402",
        "passed": true,
        "severity": "high",
        "message": "Return HTTP 402 before payment."
      },
      {
        "id": "header_decodes",
        "passed": true,
        "severity": "high",
        "message": "PAYMENT-REQUIRED decodes to a JSON object."
      },
      {
        "id": "x402_v2",
        "passed": true,
        "severity": "high",
        "message": "Set x402Version to the integer 2."
      },
      {
        "id": "caip2_network",
        "passed": true,
        "severity": "high",
        "message": "Use a valid CAIP-2 network identifier."
      },
      {
        "id": "resource_binding",
        "passed": true,
        "severity": "medium",
        "message": "Bind resource.url to the endpoint that returned the payment requirement."
      }
    ],
    "payment": {
      "version": 2,
      "acceptsCount": 1,
      "scheme": "exact",
      "network": "eip155:8453",
      "amount": "50000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0xa0BFa4f07281c9b248DC3AED2217836BcA24869B"
    },
    "directoryEvidence": {
      "version": "apiacre-x402-directory-evidence/1",
      "source": {
        "name": "x402 List",
        "url": "https://x402-list.com",
        "apiUrl": "https://x402-list.com/api/v1/services",
        "documentationUrl": "https://x402-list.com/api",
        "license": "CC-BY-4.0",
        "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
        "attributionRequired": true,
        "attribution": "Data: x402-list.com (CC BY 4.0)",
        "access": "No-auth read with a 2,000-request daily free quota; API Acre never pays the upstream."
      },
      "target": {
        "status": "matched",
        "hostname": "apiacre.com",
        "matchMethod": "exact_host",
        "matchCount": 1,
        "matches": [
          {
            "slug": "api-acre",
            "name": "API Acre",
            "description": "Pay-per-call x402 APIs for agents with machine-readable schemas and samples.",
            "baseUrl": "https://apiacre.com",
            "websiteUrl": "https://apiacre.com",
            "category": "Data",
            "status": "online",
            "verified": false,
            "paymentReady": true,
            "endpointCount": 35,
            "networks": [
              "eip155:8453"
            ],
            "priceUsd": {
              "minimum": 0.001,
              "maximum": 0.25
            },
            "compliance": {
              "grade": "A",
              "passed": 14,
              "total": 14
            },
            "reliability": {
              "uptime30dPct": 99.6,
              "responseP95Ms": 223,
              "priceStability": 0.0
            },
            "traction": {
              "status": "measured",
              "volumeUsdc30d": 2.124,
              "settlements30d": 74,
              "uniqueBuyers30d": 5,
              "topBuyerShare30d": 0.943503,
              "volumeOutsideTopBuyerUsdc30d": 0.12,
              "sharedPayout": false,
              "sharedWith": 0,
              "proQuotaShare": 1.0,
              "lastSettlementAt": "2026-08-14T14:29:25Z",
              "caveat": "Conservative measured floor; operator validation can be present and is not identified by the directory."
            },
            "lastCheckedAt": "2026-08-15T04:23:09.951Z",
            "assessmentUpdatedAt": "2026-08-15T01:43:05.729Z"
          }
        ],
        "retrievedAt": "2026-08-15T04:30:00+00:00",
        "cached": false,
        "reason": null
      },
      "market": {
        "status": "ok",
        "query": "audit",
        "totalMatches": 31,
        "returned": 1,
        "sourcePageTruncated": false,
        "results": [
          {
            "slug": "webbersites-x402-data-api",
            "name": "WebberSites x402 Data API",
            "description": "Pay-per-call data and utility API for AI agents with web, document, developer, and structured-data tools.",
            "baseUrl": "https://api.webbersites.com",
            "websiteUrl": "https://x402.webbersites.com",
            "category": "Data",
            "status": "online",
            "verified": false,
            "paymentReady": true,
            "endpointCount": 37,
            "networks": [
              "eip155:8453"
            ],
            "priceUsd": {
              "minimum": 0.001,
              "maximum": 0.05
            },
            "compliance": {
              "grade": "A",
              "passed": 14,
              "total": 14
            },
            "reliability": {
              "uptime30dPct": 100.0,
              "responseP95Ms": 205,
              "priceStability": 0.0
            },
            "traction": {
              "status": "measured",
              "volumeUsdc30d": 4.274,
              "settlements30d": 443,
              "uniqueBuyers30d": 70,
              "topBuyerShare30d": 0.332007,
              "volumeOutsideTopBuyerUsdc30d": 2.855,
              "sharedPayout": false,
              "sharedWith": 0,
              "proQuotaShare": 1.0,
              "lastSettlementAt": "2026-08-14T23:18:13Z",
              "caveat": "Conservative measured floor; service-level activity is not endpoint attribution or a revenue forecast."
            },
            "lastCheckedAt": "2026-08-15T04:41:09.686Z",
            "assessmentUpdatedAt": "2026-08-15T01:33:01.858Z"
          }
        ],
        "retrievedAt": "2026-08-15T04:30:00+00:00",
        "cached": false,
        "reason": null,
        "rankingMethod": "Unique buyers, then volume outside the top buyer, settlements, and volume; missing measurements rank last."
      },
      "limitations": [
        "Directory and traction observations are time-specific measured floors, not endorsements or forecasts.",
        "Distinct buyers and settlements are service-level measurements and cannot be summed into ecosystem-unique totals.",
        "Shared-payout fields and the source caveat must be inspected before comparing services.",
        "The target hostname and optional market query are sent to x402-list.com without credentials or payment headers."
      ]
    },
    "remediation": [],
    "checkedAt": "2026-08-09T00:00:00+00:00",
    "limitations": "One unpaid target request only; no payment is signed and the target response is not retained. Licensed directory enrichment is time-specific and may be unavailable."
  },
  "meta": {
    "duration_ms": 42,
    "cached": false,
    "sources": [],
    "warnings": [],
    "next_actions": []
  }
}

Try the payment challenge

curl -i -X POST 'https://apiacre.com/v1/developer/x402-preflight' \
  -H 'content-type: application/json' \
  --data '{"url":"https://apiacre.com/v1/developer/openapi-audit","method":"POST","body":{"document":"{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Example\",\"version\":\"1\"},\"paths\":{}}","format":"json"},"market_query":"audit","market_limit":1}'