{
  "openapi": "3.1.0",
  "info": {
    "title": "OBOL \u2014 Bitcoin intelligence for AI agents (x402)",
    "version": "3.0.0",
    "description": "LEGENDARY agent loops + Bitcoin vault intelligence. Sense every cycle (/v1/loop/trading $0.20), judge every action (/v1/loop/risk $0.30), vault forensics, Ed25519-signed. USDC on Base via x402. Free: /catalog, /v1/loop/trading/preview, /llms.txt.",
    "x-guidance": "1) GET /v1/loop/trading/preview (free). 2) Each agent cycle: GET /v1/loop/trading ($0.20). 3) Before buy/send/sign: GET /v1/loop/risk?... ($0.30). 4) Full catalog: GET /catalog. Floor $0.01 \u00b7 pulse $0.05 \u00b7 premium $0.10 \u00b7 packs $0.15\u2013$0.30. Sign the EXACT amountAtomic from the 402 PAYMENT-REQUIRED header."
  },
  "servers": [
    {
      "url": "https://obol-x402.fly.dev"
    }
  ],
  "paths": {
    "/health": {
      "get": {
        "operationId": "getHealth",
        "summary": "Free: liveness + rail/network",
        "security": [],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/catalog": {
      "get": {
        "operationId": "getCatalog",
        "summary": "Free: full SKU list (premium first)",
        "security": [],
        "responses": {
          "200": {
            "description": "Catalog"
          }
        }
      }
    },
    "/why": {
      "get": {
        "operationId": "getWhy",
        "summary": "Free: why pick OBOL (machine selection doc)",
        "security": [],
        "responses": {
          "200": {
            "description": "Selection argument"
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "getLlmsTxt",
        "summary": "Free: agent instructions",
        "security": [],
        "responses": {
          "200": {
            "description": "plain text"
          }
        }
      }
    },
    "/v1/loop/trading/preview": {
      "get": {
        "operationId": "getTradingTickPreview",
        "summary": "Free: signed trading-tick teaser (regime + action)",
        "security": [],
        "responses": {
          "200": {
            "description": "Free loop teaser"
          }
        }
      }
    },
    "/pulse/preview": {
      "get": {
        "operationId": "getPulsePreview",
        "summary": "Free: next-block fee sat/vB + congestion teaser",
        "security": [],
        "responses": {
          "200": {
            "description": "Free fee teaser"
          }
        }
      }
    },
    "/examples": {
      "get": {
        "operationId": "getExamples",
        "summary": "Free: known high-signal block heights",
        "security": [],
        "responses": {
          "200": {
            "description": "Example heights"
          }
        }
      }
    },
    "/v1/loop/trading": {
      "get": {
        "operationId": "getTradingTick",
        "summary": "LEGENDARY: agent-loop trading tick ($0.20)",
        "description": "Poll each agent cycle: Bitcoin market REGIME + broadcast-timing pulse + multi-asset spots + machine action policy. One settle per loop.",
        "tags": [
          "legendary",
          "agent-loop",
          "trading",
          "x402"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.200000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "200000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Trading tick JSON (signed)"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/loop/risk": {
      "get": {
        "operationId": "getRiskRitual",
        "summary": "LEGENDARY: pre-action risk ritual ($0.30)",
        "description": "Judge pack: token safety + address risk + optional tx preflight. Query params: token, address, to, data, from, value (provide \u22651).",
        "tags": [
          "legendary",
          "risk",
          "go-no-go",
          "x402"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.300000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "300000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Risk ritual / free usage hint if no params"
          },
          "402": {
            "description": "Payment Required when params present"
          }
        }
      }
    },
    "/pulse": {
      "get": {
        "operationId": "getBitcoinPulse",
        "summary": "Bitcoin broadcast-timing pulse ($0.05)",
        "description": "Next-block fee, trend, broadcast verdict, mempool congestion, fee-spike. Should I broadcast BTC now?",
        "tags": [
          "Bitcoin",
          "x402",
          "mempool",
          "fees",
          "decision"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.050000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "50000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Live Bitcoin pulse"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/prices": {
      "get": {
        "operationId": "getCryptoPrices",
        "summary": "Multi-asset crypto spot prices ($0.01)",
        "description": "Cross-checked BTC/ETH/SOL/USDC/USDT with divergence flag.",
        "tags": [
          "crypto",
          "x402",
          "market-data",
          "prices"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Live spots"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/signal/{height}": {
      "get": {
        "operationId": "getBlockSignal",
        "summary": "Validated Bitcoin anomaly signals for one block height",
        "tags": [
          "Bitcoin",
          "x402",
          "on-chain-data"
        ],
        "parameters": [
          {
            "name": "height",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "example": 840000
            }
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Validated anomaly signals"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/bundle/intel": {
      "get": {
        "operationId": "get_obol_intel_pack",
        "summary": "obol-intel-pack",
        "description": "OBOL intelligence pack: Bitcoin market REGIME + broadcast-timing pulse + tip anomaly scan + multi-asset spots in ONE payment. Maximum signal density for trading/research agents that refuse five round-trips. Premium decision bundle.",
        "tags": [
          "bundle",
          "market-regime",
          "broadcast-timing",
          "anomaly",
          "spot-price",
          "bitcoin",
          "trading-agent",
          "premium",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.250000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "250000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/loop/whale/{address}": {
      "get": {
        "operationId": "get_obol_whale_watch",
        "summary": "obol-whale-watch",
        "description": "OBOL whale watch: Bitcoin market REGIME + PLEXUS address behavioral fingerprint for a BTC address in one settle \u2014 who is this counterparty under current market stress? Unique vault+sense compound.",
        "tags": [
          "whale-watch",
          "bitcoin-forensics",
          "market-regime",
          "counterparty",
          "agent-loop",
          "premium",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.200000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "200000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/bundle/trader": {
      "get": {
        "operationId": "get_obol_trader_bundle",
        "summary": "obol-trader-bundle",
        "description": "Trader bundle: full Bitcoin pulse (fees mempool congestion) PLUS multi-asset USD spot prices BTC ETH SOL USDC USDT with divergence \u2014 one payment for research and timing agents.",
        "tags": [
          "bundle",
          "trading",
          "pulse",
          "spot-price",
          "bitcoin",
          "portfolio",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.150000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "150000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/evm/token/{address}": {
      "get": {
        "operationId": "get_evm_token_safety_risk_check",
        "summary": "evm-token-safety-risk-check",
        "description": "Token safety and rug-risk report for any EVM token contract (Base): is this token safe? honeypot and rug-pull risk signals from live on-chain reads \u2014 ownership (renounced / EOA / multisig), upgradeable-proxy detection, mint-capability, ERC-20 conformance, composite risk score and verdict. Token risk assessment / contract safety check for AI trading and wallet agents before they buy or approve a token. Free teaser: GET /v1/evm/token/{address}/preview.",
        "tags": [
          "token-risk",
          "token-safety",
          "honeypot",
          "rug-pull",
          "contract-risk",
          "token-audit",
          "wallet-security",
          "evm",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.100000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "100000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/evm/address/{address}": {
      "get": {
        "operationId": "get_evm_address_risk_profile",
        "summary": "evm-address-risk-profile",
        "description": "Address risk profile / wallet security check for any EVM address on Base: is this counterparty safe to send to? On-chain behavioral signals \u2014 contract vs EOA, activity (tx count), ETH balance, brand-new/dormant flags, proxy detection, risk score + verdict. Counterparty risk / wallet screening for AI agents before sending funds or approving. Free teaser: GET /v1/evm/address/{address}/preview.",
        "tags": [
          "address-risk",
          "wallet-security",
          "counterparty-risk",
          "wallet-screening",
          "evm",
          "base",
          "aml",
          "is-this-address-safe",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.100000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "100000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/evm/simulate": {
      "get": {
        "operationId": "get_evm_tx_simulate_preflight",
        "summary": "evm-tx-simulate-preflight",
        "description": "Transaction pre-flight simulation for any EVM call on Base: will this transaction SUCCEED or REVERT before I sign and pay gas? Static eth_call simulation returns a will-succeed/will-revert verdict, decoded revert reason, and gas estimate. Params: to, data, from, value. Simulate transaction before signing \u2014 avoid wasted gas on reverting txs. Free teaser: GET /v1/evm/simulate (no params).",
        "tags": [
          "tx-simulation",
          "simulate-transaction",
          "preflight",
          "revert-check",
          "gas-estimate",
          "evm",
          "base",
          "will-this-tx-revert",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.100000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "100000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/tx/{txid}": {
      "get": {
        "operationId": "get_btc_tx_structural_intelligence",
        "summary": "btc-tx-structural-intelligence",
        "description": "Bitcoin transaction analysis: classify any BTC tx's money-movement ROLE (consolidation / fan-out / payment) and place it in Bitcoin's value-homophily law \u2014 what KIND of flow is this, is it whale-tier, does it move among its own kind? Unique on-chain money-graph analysis (PLEXUS, base-rate-corrected role assortativity), not raw RPC. For agents doing bitcoin transaction analysis, Bitcoin forensics, flow classification, whale tracking, exchange-consolidation detection. Free teaser: GET /v1/btc/tx/{",
        "tags": [
          "bitcoin-transaction-analysis",
          "bitcoin-forensics",
          "tx-analysis",
          "whale-detection",
          "whale-tracking",
          "money-graph",
          "flow-classification",
          "consolidation-detection",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.100000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "100000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/address/{address}": {
      "get": {
        "operationId": "get_btc_address_behavioral_intelligence",
        "summary": "btc-address-behavioral-intelligence",
        "description": "Bitcoin address behavioral fingerprint: what IS this counterparty? Classifies a BTC address from its on-chain history \u2014 vault/never-spent, exchange/hot-wallet, consolidator (custodian sweep), distributor (payout/faucet), whale-scale, or ordinary wallet \u2014 with balance, throughput, and recent role mix (PLEXUS money-graph method). Bitcoin wallet intelligence for agents doing counterparty screening, whale detection, exchange detection before sending. Unique analysis, not raw RPC. Free teaser: GET /v",
        "tags": [
          "bitcoin-wallet-intelligence",
          "bitcoin-address",
          "counterparty-screening",
          "whale-detection",
          "whale-tracking",
          "exchange-detection",
          "wallet-fingerprint",
          "on-chain-intelligence",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.100000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "100000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/patoshi/{height}": {
      "get": {
        "operationId": "get_btc_patoshi_era_provenance",
        "summary": "btc-patoshi-era-provenance",
        "description": "Bitcoin Satoshi-era provenance check: is this early block from the Patoshi-dominant period (the distinctive early-miner fingerprint widely believed to be Satoshi)? Returns the reproduced Patoshi nonce-pattern fraction at this height, a provenance verdict, and confidence (TIMECHAIN forensic research). For agents doing coin provenance, early-coin tracing, historical due-diligence, Satoshi-era attribution. Unique IP, not raw RPC. Free teaser: GET /v1/btc/patoshi/{height}/preview.",
        "tags": [
          "patoshi",
          "satoshi",
          "coin-provenance",
          "early-bitcoin",
          "bitcoin-forensics",
          "block-provenance",
          "on-chain-intelligence",
          "historical-attribution",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.100000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "100000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/market": {
      "get": {
        "operationId": "get_btc_market_intelligence_digest",
        "summary": "btc-market-intelligence-digest",
        "description": "Bitcoin market-intelligence digest for trading and portfolio agents: one call returns the current Bitcoin market REGIME (calm / active-stress / mixed) synthesized from cross-exchange spot + price-divergence integrity, fee/congestion regime + trend, and validation-gated block-anomaly state \u2014 with a plain decision read. The Bitcoin analog of a stock market-regime / inference call, for cross-asset macro agents. Decision intelligence, not raw RPC. Free teaser: GET /v1/btc/market/preview.",
        "tags": [
          "bitcoin-market",
          "market-regime",
          "market-intelligence",
          "macro",
          "trading-agent",
          "portfolio",
          "crypto-analytics",
          "btc-signal",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.100000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "100000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/fee/next-block": {
      "get": {
        "operationId": "get_btc_fee_next_block_sat_vb",
        "summary": "btc-fee-next-block-sat-vb",
        "description": "Bitcoin next-block fee only in sat/vB \u2014 fastest single-number fee estimate for agents building BTC transactions. next-block fee estimate sat/vB.",
        "tags": [
          "fee-estimate",
          "next-block",
          "sat-vb",
          "bitcoin",
          "BTC",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/fee/tiers": {
      "get": {
        "operationId": "get_btc_fee_tiers_sat_vb",
        "summary": "btc-fee-tiers-sat-vb",
        "description": "Bitcoin recommended fee rates sat/vB: next-block, 30-min, 1-hour, economy, minimum. Fee estimation tiers for AI agents and fee estimation UIs.",
        "tags": [
          "fee-estimate",
          "sat-vb",
          "tiers",
          "bitcoin",
          "economy",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/mempool": {
      "get": {
        "operationId": "get_btc_mempool_backlog",
        "summary": "btc-mempool-backlog",
        "description": "Bitcoin mempool backlog stats: pending tx count, backlog vsize, estimated blocks. Mempool congestion telemetry for timing agents.",
        "tags": [
          "mempool",
          "backlog",
          "bitcoin",
          "congestion",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/congestion": {
      "get": {
        "operationId": "get_btc_congestion_broadcast_advice",
        "summary": "btc-congestion-broadcast-advice",
        "description": "Bitcoin mempool congestion tier + fee-spike flag + broadcast advice (ok_to_broadcast / wait_or_pay_up). Should I broadcast BTC now?",
        "tags": [
          "congestion",
          "broadcast",
          "fee-spike",
          "bitcoin",
          "mempool",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/tip": {
      "get": {
        "operationId": "get_btc_chain_tip_height",
        "summary": "btc-chain-tip-height",
        "description": "Current Bitcoin chain tip height (latest block number) for agents syncing height.",
        "tags": [
          "tip",
          "height",
          "bitcoin",
          "block",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/spot": {
      "get": {
        "operationId": "get_btc_usd_spot_price",
        "summary": "btc-usd-spot-price",
        "description": "Bitcoin BTC USD spot price only \u2014 single-asset price for trading agents.",
        "tags": [
          "BTC",
          "spot-price",
          "USD",
          "bitcoin",
          "price",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/price/BTC": {
      "get": {
        "operationId": "get_spot_price_btc_usd",
        "summary": "spot-price-btc-usd",
        "description": "Bitcoin BTC USD spot price Coinbase Kraken cross-check with divergence flag. Single-asset BTC/USD for AI agents.",
        "tags": [
          "spot-price",
          "BTC",
          "USD",
          "cross-exchange",
          "trading",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/price/ETH": {
      "get": {
        "operationId": "get_spot_price_eth_usd",
        "summary": "spot-price-eth-usd",
        "description": "Ethereum ETH USD spot price Coinbase Kraken cross-check with divergence flag. Single-asset ETH/USD for AI agents.",
        "tags": [
          "spot-price",
          "ETH",
          "USD",
          "cross-exchange",
          "trading",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/price/SOL": {
      "get": {
        "operationId": "get_spot_price_sol_usd",
        "summary": "spot-price-sol-usd",
        "description": "Solana SOL USD spot price Coinbase Kraken cross-check with divergence flag. Single-asset SOL/USD for AI agents.",
        "tags": [
          "spot-price",
          "SOL",
          "USD",
          "cross-exchange",
          "trading",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/price/USDC": {
      "get": {
        "operationId": "get_spot_price_usdc_usd",
        "summary": "spot-price-usdc-usd",
        "description": "USDC USD spot price stablecoin quote Coinbase Kraken with divergence flag. Single-asset USDC/USD for AI agents.",
        "tags": [
          "spot-price",
          "USDC",
          "USD",
          "cross-exchange",
          "trading",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/price/USDT": {
      "get": {
        "operationId": "get_spot_price_usdt_usd",
        "summary": "spot-price-usdt-usd",
        "description": "USDT USD spot price stablecoin quote Coinbase Kraken with divergence flag. Single-asset USDT/USD for AI agents.",
        "tags": [
          "spot-price",
          "USDT",
          "USD",
          "cross-exchange",
          "trading",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/anomaly/latest": {
      "get": {
        "operationId": "get_bitcoin_block_anomaly_latest",
        "summary": "bitcoin-block-anomaly-latest",
        "description": "Validation-gated Bitcoin block anomaly detector on the current tip height. fee-exceeds-subsidy, empty block, difficulty retarget, timestamp inversion, long block gap, coinbase message \u2014 latest block scan for agents.",
        "tags": [
          "anomaly",
          "bitcoin",
          "detector",
          "latest",
          "tip",
          "on-chain",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/anomaly/fee-exceeds-subsidy/latest": {
      "get": {
        "operationId": "get_btc_anomaly_fee_exceeds_subsidy",
        "summary": "btc-anomaly-fee-exceeds-subsidy",
        "description": "Bitcoin fees exceed subsidy anomaly check on chain tip. Validation-gated detector fee_exceeds_subsidy for forensic and monitoring agents.",
        "tags": [
          "anomaly",
          "bitcoin",
          "fee-exceeds-subsidy",
          "detector",
          "forensics",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/anomaly/empty-block/latest": {
      "get": {
        "operationId": "get_btc_anomaly_empty_block",
        "summary": "btc-anomaly-empty-block",
        "description": "Bitcoin empty bitcoin block anomaly check on chain tip. Validation-gated detector empty_block for forensic and monitoring agents.",
        "tags": [
          "anomaly",
          "bitcoin",
          "empty-block",
          "detector",
          "forensics",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/anomaly/difficulty-retarget/latest": {
      "get": {
        "operationId": "get_btc_anomaly_difficulty_retarget",
        "summary": "btc-anomaly-difficulty-retarget",
        "description": "Bitcoin difficulty retarget anomaly check on chain tip. Validation-gated detector difficulty_retarget for forensic and monitoring agents.",
        "tags": [
          "anomaly",
          "bitcoin",
          "difficulty-retarget",
          "detector",
          "forensics",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/anomaly/timestamp-inversion/latest": {
      "get": {
        "operationId": "get_btc_anomaly_timestamp_inversion",
        "summary": "btc-anomaly-timestamp-inversion",
        "description": "Bitcoin timestamp inversion anomaly check on chain tip. Validation-gated detector timestamp_inversion for forensic and monitoring agents.",
        "tags": [
          "anomaly",
          "bitcoin",
          "timestamp-inversion",
          "detector",
          "forensics",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/anomaly/long-block-gap/latest": {
      "get": {
        "operationId": "get_btc_anomaly_long_block_gap",
        "summary": "btc-anomaly-long-block-gap",
        "description": "Bitcoin long block gap anomaly check on chain tip. Validation-gated detector long_block_gap for forensic and monitoring agents.",
        "tags": [
          "anomaly",
          "bitcoin",
          "long-block-gap",
          "detector",
          "forensics",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/anomaly/coinbase-message/latest": {
      "get": {
        "operationId": "get_btc_anomaly_coinbase_message",
        "summary": "btc-anomaly-coinbase-message",
        "description": "Bitcoin coinbase message anomaly check on chain tip. Validation-gated detector coinbase_message for forensic and monitoring agents.",
        "tags": [
          "anomaly",
          "bitcoin",
          "coinbase-message",
          "detector",
          "forensics",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    },
    "/v1/btc/coinbase-messages": {
      "get": {
        "operationId": "get_btc_coinbase_message_archaeology",
        "summary": "btc-coinbase-message-archaeology",
        "description": "Bitcoin coinbase scriptSig cultural archaeology \u2014 Matrix campaign, Munger quote, carbon-negative miner statements and verified on-chain miner prose. Unique TIMECHAIN dig. Free teaser: GET /v1/btc/coinbase-messages/teaser.",
        "tags": [
          "bitcoin",
          "coinbase",
          "archaeology",
          "miner-messages",
          "history",
          "forensics",
          "x402",
          "obol"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "assetName": "USD Coin",
                "amountAtomic": "10000",
                "payTo": "0x215f0C5e62735A54185f253B6245A630b744a7Ce",
                "scheme": "exact"
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Paid JSON payload"
          },
          "402": {
            "description": "Payment Required (x402 v2)"
          }
        }
      }
    }
  }
}