{
  "spec": "canon-pricing/1",
  "free": {
    "note": "Everything not listed under paid is free, unkeyed and unmetered: search, entries, citations, change feed, formula registry, compute with receipts, verify, single entity lookups, the regulatory thresholds table, single-venue contract lookups, the attestation public key, and batches of up to 50 computes.",
    "batch_max_items": 50
  },
  "paid": [
    {
      "id": "batch-large",
      "method": "POST",
      "url": "https://canon.wallstreet.wiki/v1/batch/large",
      "when": "up to 1000 items per call (POST /v1/batch with more than 50 items is routed here too)",
      "price_usd": 0.05,
      "unit": "per call",
      "what": "Scenario grids and sensitivity tables in one request, one batch receipt over up to 1000 item receipts."
    },
    {
      "id": "entity-bulk",
      "method": "POST",
      "url": "https://canon.wallstreet.wiki/v1/entity/bulk",
      "when": "1 to 1000 identifiers per call (single lookups are free at GET /v1/entity)",
      "price_usd": 0.02,
      "unit": "per call",
      "what": "Tickers, CIKs and company names resolved to one issuer id each, with every ticker, exchange and EDGAR location; SEC public data, refreshed daily."
    },
    {
      "id": "attest",
      "method": "POST",
      "url": "https://canon.wallstreet.wiki/v1/attest",
      "when": "one receipt per call",
      "price_usd": 0.01,
      "unit": "per call",
      "what": "An Ed25519-signed attestation over a re-verified receipt: proof a number came from Canon at a time, checkable offline against /v1/attest/key."
    },
    {
      "id": "contracts-compare",
      "method": "GET",
      "url": "https://canon.wallstreet.wiki/v1/contracts/compare",
      "when": "one Kalshi ticker and one Polymarket slug per call (single-venue lookups are free at /v1/contracts/{venue}/{id})",
      "price_usd": 0.01,
      "unit": "per call",
      "what": "Contract identity across venues: close-time, numeric, date and resolution-source divergence between two prediction-market contracts, with a snapshot receipt over both rule texts."
    },
    {
      "id": "corpus",
      "method": "GET",
      "url": "https://canon.wallstreet.wiki/v1/corpus",
      "price_usd": 0.25,
      "unit": "per call",
      "what": "Every entry and reference table from the seven wiki-platform sites, merged, with citable urls: one request instead of seven crawls. CC BY 4.0 content."
    }
  ],
  "payment": {
    "protocol": "x402",
    "version": 2,
    "scheme": "exact",
    "status": "accepting",
    "network": "eip155:8453",
    "asset": "USDC on Base",
    "asset_contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0xaCe97f9d5c73D1c0661E32294B25864682Ef3D71",
    "facilitator": "https://facilitator.payai.network",
    "facilitator_status": {
      "reachable": true,
      "supports_configured_network": true,
      "kinds_for_network": [
        {
          "x402Version": 2,
          "scheme": "exact",
          "network": "eip155:8453"
        }
      ]
    },
    "how": "Request the resource. Read the 402 body (PaymentRequired) or the PAYMENT-REQUIRED header. Sign an EIP-3009 USDC transfer authorization for accepts[0] with any x402 client, retry with PAYMENT-SIGNATURE. A PAYMENT-RESPONSE header on the 200 carries the settlement transaction."
  },
  "contact": "wallstreetwiki@agentmail.to"
}