ExchangeRebel Execution Receipt API

The Execution Receipt API from ExchangeRebel — 9 operation(s) for execution receipt.

GitHub OpenAPI

Operations 9

GET /toll/execution-receipt Execution Receipt service catalog #
GET /toll/execution-receipt/health Execution Receipt service health #
GET /toll/execution-receipt/criteria The published execution-receipt criteria #
GET /toll/execution-receipt/corpus The pinned public test corpus identity #
POST /toll/execution-receipt/precheck Free headline pre-check of one step record #
POST /toll/execution-receipt/issue Issue a countersigned execution receipt for one signed step record #
POST /toll/execution-receipt/verify Verify a countersigned receipt — free forever #
POST /toll/execution-receipt/anchor Anchor one already-issued receipt on Solana ($5.00) #
GET /toll/execution-receipt/metrics Execution Receipt aggregate counters #

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-execution-receipt-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-execution-receipt-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: Execution Receipt
paths:
  /toll/execution-receipt:
    get:
      tags:
      - Execution Receipt
      summary: Execution Receipt service catalog
      responses:
        '200':
          description: 'Success. Returns the service catalog: what issuing, verifying and anchoring include, the prices ($0.01 per receipt; verification free forever; $5.00 per anchored receipt), the published criteria (execution-receipt/v1), the pinned test corpus, and the scope statement (the service countersigns step records and proves their internal consistency; it cannot prove the claimed effect occurred).'
      security: []
      operationId: getTollExecutionReceipt
      x-operation-id-source: derived
  /toll/execution-receipt/health:
    get:
      tags:
      - Execution Receipt
      summary: Execution Receipt service health
      responses:
        '200':
          description: Success. Returns service liveness and the report signer address.
      security: []
      operationId: getTollExecutionReceiptHealth
      x-operation-id-source: derived
  /toll/execution-receipt/criteria:
    get:
      tags:
      - Execution Receipt
      summary: The published execution-receipt criteria
      responses:
        '200':
          description: 'Success. Returns the full published criteria (execution-receipt/v1): the record types, effect classes, tier rules, the anchor terms, and the pinned public test corpus identity; every receipt is reproducible from them.'
      security: []
      operationId: getTollExecutionReceiptCriteria
      x-operation-id-source: derived
  /toll/execution-receipt/corpus:
    get:
      tags:
      - Execution Receipt
      summary: The pinned public test corpus identity
      responses:
        '200':
          description: 'Success. Returns the public test corpus identity for execution receipts: corpus id execution-receipt-corpus/v1 and its SHA-256 pin 8b973ac4cd1821ba3e4a84508de7c7177593628144135be8ef4029e82746b362 (the SHA-256 of the corpus''s canonical serialization, verifiable with the published harness). The corpus is buyer-runnable before paying.'
      security: []
      operationId: getTollExecutionReceiptCorpus
      x-operation-id-source: derived
  /toll/execution-receipt/precheck:
    post:
      tags:
      - Execution Receipt
      summary: Free headline pre-check of one step record
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                caller:
                  type: string
                  description: Solana base58 wallet of the operator; keys the free allowance (100/day per wallet).
                record:
                  type: object
                  description: The per-step record object, signed by its performer (record_type, run_id, step_id, performer, effect_class, payload_hash — hashes only, never payload content — evidence_refs, signer_pubkey_b64, signature_b64).
              required:
              - caller
              - record
      responses:
        '200':
          description: 'Success. Returns assessability only: whether the record is well-formed and its signature valid, and whether it is a duplicate. No receipt is issued. A malformed submission is refused free. When the caller''s free allowance is exhausted, the response is the /toll/execution-receipt payment challenge instead.'
      security: []
      operationId: postTollExecutionReceiptPrecheck
      x-operation-id-source: derived
  /toll/execution-receipt/issue:
    post:
      tags:
      - Execution Receipt
      summary: Issue a countersigned execution receipt for one signed step record
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                record:
                  type: object
                  description: The per-step record object, signed by its performer (record_type, run_id, step_id, performer, effect_class, payload_hash — hashes only, never payload content — evidence_refs, signer_pubkey_b64, signature_b64).
              required:
              - record
      responses:
        '200':
          description: 'Success. Returns the countersigned receipt: sequence number on the service''s chain, the computed tier, the receipt hash, and the service countersignature. Re-submitting an identical record returns the existing receipt free (dedupe).'
        '402':
          description: 'Payment Required (x402). A per-item fee: $0.01 per receipt - each submitted record is charged at $0.01; the payment includes verification of your signature over the one per-step record you submit, mechanical computation of its evidence tier from its evidence references (a higher claimed tier is graded DOWN to the computed tier, never upgraded), the service''s countersignature and timestamp, appending the record to the service''s hash chain, and return of the receipt. We attest provenance of claims, not performance of work. Payload hashes only — no payload is accepted or held. Verification of any receipt is free forever and is not part of this payment. Factors printed; no composite score. The response body carries the payment instructions in x402 v1 form: payTo (the operator''s Solana wallet), the amount (10000 USDC units = $0.01 per receipt) and a fresh memo. Pay in USDC on Solana with the memo attached via the Solana Memo program, then resubmit the same request with the payment transaction in the X-Payment-Tx header and ?toll_memo=<memo>, re-sending the request body. The PAYMENT-REQUIRED response header carries the same object in x402 v2 form.'
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
      security:
      - x402Payment: []
      operationId: postTollExecutionReceiptIssue
      x-operation-id-source: derived
  /toll/execution-receipt/verify:
    post:
      tags:
      - Execution Receipt
      summary: Verify a countersigned receipt — free forever
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                receipt:
                  type: object
                  description: A countersigned receipt previously issued by this service, exactly as returned by /issue.
              required:
              - receipt
      responses:
        '200':
          description: 'Success. Returns the verification: valid or not, with every factor printed (countersignature, tier recomputation, receipt hash, chain fields, performer signature). Verification is free forever — never charged and not the free tier.'
      security: []
      operationId: postTollExecutionReceiptVerify
      x-operation-id-source: derived
  /toll/execution-receipt/anchor:
    post:
      tags:
      - Execution Receipt
      summary: Anchor one already-issued receipt on Solana ($5.00)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                receipt_id:
                  type: string
                receipt_hash:
                  type: string
              required:
              - receipt_id
              - receipt_hash
      responses:
        '200':
          description: 'Success. Returns the anchored-receipt delivery for the named receipt. Phase-1 honesty: the on-chain anchor WRITE is release-lane work — in this build every anchor delivery is marked anchor_status stubbed and is never presented as already anchored on-chain.'
        '402':
          description: 'Payment Required (x402). A per-item fee: $5.00 per anchored receipt - each anchoring request is charged at $5.00; the payment includes the request and quote for anchoring one already-issued receipt (identified by receipt id and receipt hash) on Solana on the fleet''s existing $5 attestation pattern, with the service absorbing the anchor write cost; in this phase-1 build the on-chain anchor WRITE is stubbed and every anchor delivery is marked anchor_status stubbed. The response body carries the payment instructions in x402 v1 form: payTo (the operator''s Solana wallet), the amount (5000000 USDC units = $5.00 per anchored receipt) and a fresh memo. Pay in USDC on Solana with the memo attached via the Solana Memo program, then resubmit the same request with the payment transaction in the X-Payment-Tx header and ?toll_memo=<memo>, re-sending the request body. The PAYMENT-REQUIRED response header carries the same object in x402 v2 form.'
      x-payment-info:
        protocols:
        - x402
        price:
          mode: fixed
          currency: USD
          amount: '5.00'
      security:
      - x402Payment: []
      operationId: postTollExecutionReceiptAnchor
      x-operation-id-source: derived
  /toll/execution-receipt/metrics:
    get:
      tags:
      - Execution Receipt
      summary: Execution Receipt aggregate counters
      responses:
        '200':
          description: Success. Returns aggregate counters (paid calls, distinct payers, free pre-checks today). Aggregate only - no payer identities, no record content.
      security: []
      operationId: getTollExecutionReceiptMetrics
      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.'