ExchangeRebel Resolution Data API

The Resolution Data API from ExchangeRebel — 7 operation(s) for resolution data.

GitHub OpenAPI

Operations 7

GET /toll/resolve/consensus Check resolutions across three platforms #
GET /toll/resolve/crypto Fetch the crypto reference price composite #
GET /toll/resolve/econ Fetch US economic indicator values (BLS) #
GET /toll/resolve/election Look up FEC federal candidates by name #
GET /toll/resolve/govaction Fetch US government actions (Federal Register) #
GET /toll/resolve/sports Fetch sports resolution outcomes by league #
GET /toll/resolve/weather Fetch weather observations by station #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/exchangerebel-com:exchangerebel-com-resolution-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

exchangerebel-com-resolution-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ExchangeRebel — pay-per-call APIs for AI agents (x402 on…
  version: 1.0.0
  contact:
    name: 'ExchangeRebel (operator: Rebel Data)'
    url: https://exchangerebel.com
    email: sound.money.investing@gmail.com
  x-guidance: 'All paid operations use x402 on Solana: call without payment to get a 402 challenge (SOL recipient + USDC token account + fresh memo), pay with the memo attached via the Solana Memo program, then retry with header X-Payment-Tx: <signature> and ?toll_memo=<memo>. Challenges are dual-version: the PAYMENT-REQUIRED header carries the x402 v2 PaymentRequired object and the response body carries the same challenge in x402 v1 form for compatibility. Free operations (security: []) include each service''s /health catalog with full response shapes. Prices in x-payment-info are USD per call unless the summary says otherwise (RPC is per 1,000-request block; Telegram provisioning is per bot-month; transcription is per minute of audio).'
  description: '67 data and utility APIs behind x402 tolls, settled in SOL or USDC on Solana. Call a paid endpoint without payment to receive a 402 x402 challenge (recipient + fresh memo), pay with the memo attached via the Solana Memo program, then retry with the X-Payment-Tx header and toll_memo query parameter. Free catalog/health endpoints are marked without x-payment-info. Full catalogs: GET /toll/discovery and each service''s /health.'
servers:
- url: https://exchangerebel.com
tags:
- name: Resolution Data
paths:
  /toll/resolve/consensus:
    get:
      tags:
      - Resolution Data
      summary: Check resolutions across three platforms
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
          content:
            application/json:
              example:
                question: Mavericks beat Grizzlies
                platforms:
                  polymarket:
                    question: Will the Mavericks beat the Grizzlies by more than 5.5 points?
                    outcome: prices=0.62,0.38
                    resolved: true
                    event_id: evt1
                  kalshi:
                    question: Mavericks vs Grizzlies game ends in a tie
                    result: 'no'
                    settled: 0
                    ticker: BBALL-26OCT09-DALMEM-TIE
                  manifold:
                    question: Will the Mavericks win tonight?
                    resolution: 'YES'
                    resolved_at: 1791550000000
                agreement: 2+ platforms returned a candidate — compare outcomes above
                data_health:
                  as_of: '2026-10-21T21:23:04.559Z'
                  sources:
                  - polymarket
                  - kalshi
                  - manifold
                  license: Platform public APIs; factual outcomes only
                  checks_passed:
                  - schema
                  error_budget: critical fields <0.1%, other fields <1%
                paid: true
        '402':
          description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
      parameters:
      - name: question
        in: query
        required: true
        schema:
          type: string
        description: Question text (min 4 chars)
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
      security:
      - x402Payment: []
      operationId: getTollResolveConsensus
      x-operation-id-source: derived
  /toll/resolve/crypto:
    get:
      tags:
      - Resolution Data
      summary: Fetch the crypto reference price composite
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
          content:
            application/json:
              example:
                asset: BTC
                observed_at: '2026-10-21T21:23:04.554Z'
                constituents:
                - venue: coinbase
                  price: 82699.28
                - venue: kraken
                  price: 82679.8
                composite: 82689.54
                trimmed_mean: 82689.54
                high: 82699.28
                low: 82679.8
                methodology: coinbase-kraken spot composite; trimmed mean drops top/bottom 20% (Kalshi-style). v1 spot — settlement-window TWAP on the roadmap.
                data_health:
                  as_of: '2026-10-21T21:23:04.554Z'
                  source: coinbase-kraken
                  license: Exchange public market data (composite methodology is ours)
                  attribution: 'Price constituents: Coinbase Exchange public API and Kraken public API. Composite trimmed-mean methodology by datatolls (Kalshi-style).'
                  commercial_ok: true
                  checks_passed:
                  - license
                  - schema
                  - freshness
                  error_budget: critical fields <0.1%, other fields <1%
                quality:
                  rejected: 0
                  error_rate: 0
                  note: 2/2 constituents reporting.
                paid: true
        '402':
          description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
      parameters:
      - name: asset
        in: query
        required: false
        schema:
          type: string
        description: BTC | ETH | SOL (default BTC)
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
      security:
      - x402Payment: []
      operationId: getTollResolveCrypto
      x-operation-id-source: derived
  /toll/resolve/econ:
    get:
      tags:
      - Resolution Data
      summary: Fetch US economic indicator values (BLS)
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
          content:
            application/json:
              example:
                series: cpi
                label: CPI-U (all items, 1982-84=100)
                unit: index
                period: 2025-12
                value: 22060
                change_vs_prev: 5
                revision_note: null
                data_health:
                  as_of: '2026-10-21T21:23:04.539Z'
                  source: bls
                  license: US federal public domain (BLS)
                  attribution: 'Source: U.S. Bureau of Labor Statistics, public domain under 17 U.S.C. § 105.'
                  commercial_ok: true
                  checks_passed:
                  - license
                  - schema
                  - freshness
                  error_budget: critical fields <0.1%, other fields <1%
                quality:
                  rejected: 0
                  error_rate: 0
                  note: BLS first-print values; revisions tracked via footnotes.
                paid: true
        '402':
          description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
      parameters:
      - name: series
        in: query
        required: false
        schema:
          type: string
        description: cpi | unrate | payrolls (default cpi)
      - name: period
        in: query
        required: false
        schema:
          type: string
        description: Optional YYYY-MM
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
      security:
      - x402Payment: []
      operationId: getTollResolveEcon
      x-operation-id-source: derived
  /toll/resolve/election:
    get:
      tags:
      - Resolution Data
      summary: Look up FEC federal candidates by name
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
          content:
            application/json:
              example:
                query: Smith
                cycle: '2026'
                key_mode: demo (rate-limited)
                candidates:
                - candidate_id: H0OH01087
                  name: SMITH, JOHN
                  office: House
                  office_state: null
                  party: Democratic Party
                  state: OH
                  district: '01'
                  active_through: 2026
                  incumbent_challenge: Challenger
                - candidate_id: null
                  name: null
                  office: null
                  office_state: null
                  party: null
                  state: null
                  district: null
                  active_through: null
                  incumbent_challenge: null
                count: 2
                note: 'Demo key: strict rate limits. Store a free api.data.gov key as Worker secret FEC_API_KEY for production.'
                data_health:
                  as_of: '2026-10-21T21:23:04.563Z'
                  source: fec
                  license: US public domain (U.S. federal government work — FEC)
                  attribution: FEC bulk downloads via fec.gov — public domain (U.S. federal government work).
                  commercial_ok: true
                  checks_passed:
                  - license
                  - schema
                  - freshness
                  error_budget: critical fields <0.1%, other fields <1%
                paid: true
        '402':
          description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
        description: Candidate name search (min 2 chars)
      - name: cycle
        in: query
        required: false
        schema:
          type: string
        description: Election cycle (default 2026)
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
      security:
      - x402Payment: []
      operationId: getTollResolveElection
      x-operation-id-source: derived
  /toll/resolve/govaction:
    get:
      tags:
      - Resolution Data
      summary: Fetch US government actions (Federal Register)
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
          content:
            application/json:
              example:
                type: executive_order
                date: null
                count: 2
                documents:
                - title: Emergency Tax Relief on Diesel Fuel
                  document_number: 2026-20855
                  presidential_document_number: '10999'
                  publication_date: '2026-10-09'
                  signing_date: '2026-10-07'
                  url: https://www.federalregister.gov/documents/2026/10/09/2026-20855/test
                - title: null
                  document_number: null
                  presidential_document_number: null
                  publication_date: null
                  signing_date: null
                  url: null
                data_health:
                  as_of: '2026-10-21T21:23:04.550Z'
                  source: federal-register
                  license: US federal public domain (Federal Register)
                  attribution: 'Source: FederalRegister.gov — Office of the Federal Register, National Archives. U.S. public domain.'
                  commercial_ok: true
                  checks_passed:
                  - license
                  - schema
                  - freshness
                  error_budget: critical fields <0.1%, other fields <1%
                quality:
                  rejected: 0
                  error_rate: 0
                  note: Official Federal Register records as published.
                paid: true
        '402':
          description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
      parameters:
      - name: type
        in: query
        required: false
        schema:
          type: string
        description: executive_order | proclamation | rule | proposed_rule | notice (default executive_order)
      - name: date
        in: query
        required: false
        schema:
          type: string
        description: Optional YYYY-MM-DD
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
      security:
      - x402Payment: []
      operationId: getTollResolveGovaction
      x-operation-id-source: derived
  /toll/resolve/sports:
    get:
      tags:
      - Resolution Data
      summary: Fetch sports resolution outcomes by league
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
          content:
            application/json:
              example:
                league: nfl
                season: null
                competition: null
                team: null
                date: null
                count: 2
                total_matching: 2
                outcomes:
                - game_id: 2026_05_DAL_PHI
                  league: NFL
                  season: 2026
                  game_date: '2026-10-04'
                  home_team: PHI
                  away_team: DAL
                  home_score: 27
                  away_score: 24
                  winner: PHI
                  status: final
                  source: nflverse
                  source_url: https://github.com/nflverse/nflverse-data/releases/download/schedules/games.csv
                  license: CC BY 4.0
                  coverage: NFL final scores 1999–present
                  retrieved_at: '2026-10-21T21:23:04.567Z'
                - game_id: 2026_04_OAK_DEN
                  league: NFL
                  season: 2026
                  game_date: '2026-09-28'
                  home_team: DEN
                  away_team: LV
                  home_score: 20
                  away_score: 17
                  winner: DEN
                  status: final
                  source: nflverse
                  source_url: https://github.com/nflverse/nflverse-data/releases/download/schedules/games.csv
                  license: CC BY 4.0
                  coverage: NFL final scores 1999–present
                  retrieved_at: '2026-10-21T21:23:04.567Z'
                source_updated: Thu, 08 Oct 2026 12:00:00 GMT
                attribution: 'Game data: nflverse (nflverse-data), CC BY 4.0.'
                data_health:
                  as_of: '2026-10-21T21:23:04.567Z'
                  source: nflverse-schedules
                  license: CC BY 4.0 (nflverse)
                  attribution: 'Source: nflverse (nflverse-data, github.com/nflverse/nflverse-data) — schedules/games data, licensed CC BY 4.0.'
                  commercial_ok: true
                  checks_passed:
                  - license
                  - schema
                  - freshness
                  error_budget: critical fields <0.1%, other fields <1%
                quality:
                  rejected: 0
                  adversarial_sample: 0/2 favorite-agreement mismatches
                  note: Final scores only — resolution rows. Closing lines available on /toll/sports/nfl/games.
                paid: true
        '402':
          description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
      parameters:
      - name: league
        in: query
        required: false
        schema:
          type: string
        description: nfl | soccer | mlb (default nfl)
      - name: season
        in: query
        required: false
        schema:
          type: string
        description: YYYY
      - name: competition
        in: query
        required: false
        schema:
          type: string
        description: Soccer competition (default bl1)
      - name: team
        in: query
        required: false
        schema:
          type: string
        description: Team filter
      - name: date
        in: query
        required: false
        schema:
          type: string
        description: YYYY-MM-DD
      - name: limit
        in: query
        required: false
        schema:
          type: string
        description: 1-100 (default 20)
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
      security:
      - x402Payment: []
      operationId: getTollResolveSports
      x-operation-id-source: derived
  /toll/resolve/weather:
    get:
      tags:
      - Resolution Data
      summary: Fetch weather observations by station
      responses:
        '200':
          description: Success. Response shape is documented in the service catalog (GET /health on the service).
          content:
            application/json:
              example:
                station: KNYC
                observed_at: '2026-10-09T15:51:00+00:00'
                temp_c: 19.4
                temp_f: 66.9
                humidity_pct: 62
                wind_mps: 4.1
                precipitation_mm_1h: 0
                text_description: Partly Cloudy
                data_health:
                  as_of: '2026-10-21T21:23:04.544Z'
                  source: nws
                  license: US federal public domain (NOAA/NWS)
                  attribution: 'Source: National Weather Service, National Oceanic and Atmospheric Administration (NOAA) — U.S. public domain.'
                  commercial_ok: true
                  checks_passed:
                  - license
                  - schema
                  - freshness
                  error_budget: critical fields <0.1%, other fields <1%
                quality:
                  rejected: 0
                  error_rate: 0
                  note: Latest METAR observation as published by NWS.
                paid: true
        '402':
          description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
      parameters:
      - name: station
        in: query
        required: true
        schema:
          type: string
        description: 4-letter ICAO station, e.g. KNYC
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
      security:
      - x402Payment: []
      operationId: getTollResolveWeather
      x-operation-id-source: derived
components:
  securitySchemes:
    x402Payment:
      type: apiKey
      in: header
      name: X-Payment-Tx
      description: 'x402 toll payment proof: the Solana transaction signature of a payment carrying the memo from the 402 challenge; send together with ?toll_memo=<memo>. Payment itself is made on-chain in SOL or USDC to the recipient named in the challenge.'