{
  "x402Version": 2,
  "service": {
    "name": "Canon",
    "publisher": "Wall Street Wiki",
    "description": "Lookup across nine .wiki finance reference sites and 30 deterministic finance and market-calendar formulas, each computed with a verifiable receipt. MCP and REST. No key, no sign-up.",
    "homepage": "https://canon.wallstreet.wiki",
    "documentation": "https://canon.wallstreet.wiki/AGENTS.md",
    "openapi": "https://canon.wallstreet.wiki/v1/openapi.json",
    "mcp": "https://canon.wallstreet.wiki/mcp",
    "contact": "wallstreetwiki@agentmail.to",
    "license": "CC-BY-4.0 for source content; compute outputs and receipts unrestricted"
  },
  "payment": {
    "protocol": "x402",
    "version": 2,
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "assetName": "USDC on Base",
    "facilitator": "https://facilitator.payai.network",
    "live": "https://canon.wallstreet.wiki/v1/pricing"
  },
  "free": {
    "note": "Search, entries, citations, change feed, formula registry, compute with receipts, verify, and batches of up to 50 computes are free, unkeyed and unmetered.",
    "batchMaxItems": 50,
    "routes": [
      "GET /v1/health",
      "GET /v1/sites",
      "GET /v1/search",
      "GET /v1/entry/{site}/{id}",
      "GET /v1/changes",
      "GET /v1/changes.xml",
      "GET /v1/formulas",
      "GET /v1/formulas/{id}",
      "GET /v1/vectors/{id}",
      "POST /v1/compute/{id}",
      "POST /v1/verify",
      "GET /v1/cite/{site}/{id}",
      "POST /mcp"
    ]
  },
  "resources": [
    {
      "id": "batch-large",
      "method": "POST",
      "resource": "https://canon.wallstreet.wiki/v1/batch",
      "when": "items between 51 and 1000",
      "description": "Scenario grids and sensitivity tables in one request, with one batch receipt over up to 1000 item receipts.",
      "mimeType": "application/json",
      "priceUsd": 0.05,
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "maxAmountRequired": "50000",
          "maxTimeoutSeconds": 300
        }
      ],
      "input": {
        "type": "http",
        "method": "POST",
        "bodyType": "json",
        "body": { "items": [{ "formula": "bonds.risk", "inputs": { "coupon": 0.05, "ytm": 0.06, "years": 10, "freq": 2 } }] }
      },
      "output": { "type": "json", "description": "Per-item outputs and receipts, plus a batch receipt over the sorted item receipt ids." }
    },
    {
      "id": "corpus",
      "method": "GET",
      "resource": "https://canon.wallstreet.wiki/v1/corpus",
      "description": "Every entry and reference table from the seven wiki-platform sites, merged, with citable urls. One request instead of seven crawls.",
      "mimeType": "application/json",
      "priceUsd": 0.25,
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "maxAmountRequired": "250000",
          "maxTimeoutSeconds": 300
        }
      ],
      "input": { "type": "http", "method": "GET" },
      "output": { "type": "json", "description": "The merged canon, CC BY 4.0, every entry carrying the url to cite." }
    }
  ],
  "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, then retry with PAYMENT-SIGNATURE. A PAYMENT-RESPONSE header on the 200 carries the settlement transaction."
}
