ExchangeRebel Split Profile API

The Split-Profile API from ExchangeRebel — 7 operation(s) for split-profile.

GitHub OpenAPI

Operations 7

GET /toll/split-profile Split-Profile service catalog #
GET /toll/split-profile/health Split-Profile service health #
GET /toll/split-profile/criteria The published split-profile criteria #
GET /toll/split-profile/corpus The pinned public test corpus identity #
POST /toll/split-profile/precheck Free split-profile pre-check of one submitted catalogue (assessability only) #
POST /toll/split-profile/check Full signed split-profile report for one submitted catalogue #
GET /toll/split-profile/metrics Split-Profile 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-split-profile-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-split-profile-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: Split-Profile
paths:
  /toll/split-profile:
    get:
      tags:
      - Split-Profile
      summary: Split-Profile service catalog
      responses:
        '200':
          description: 'Success. Returns the service catalog: what a split-profile check includes, the price ($0.02 per catalogue), the published criteria (token-efficiency/v1, op split-profile, criteria revision 1.2.0), the pinned test corpus (split-profile-corpus/v1, pin 406a8aa9409716b50a4ad73dbf634cf0e6e0ff39b99a06db577bac0287acafc5), and the scope statement (a deterministic mechanical split-profile of the one catalogue you submitted: the shares of its definition-token count carried by names, descriptions, and parameter schemas, and the groups of tools sharing a byte-identical parameter schema; no token count and no character count is published).'
      security: []
      operationId: getTollSplitProfile
      x-operation-id-source: derived
  /toll/split-profile/health:
    get:
      tags:
      - Split-Profile
      summary: Split-Profile service health
      responses:
        '200':
          description: Success. Returns service liveness and the report signer address.
      security: []
      operationId: getTollSplitProfileHealth
      x-operation-id-source: derived
  /toll/split-profile/criteria:
    get:
      tags:
      - Split-Profile
      summary: The published split-profile criteria
      responses:
        '200':
          description: 'Success. Returns the full published criteria (token-efficiency/v1, op split-profile, revision 1.2.0): the input contract, the published serialisation, the share grid and the derivability self-check, the pinned tokenizer (cl100k_base, gpt-tokenizer 4.1.0), the scope statement, the kill line, and the pinned public test corpus identity; every report is reproducible from them.'
      security: []
      operationId: getTollSplitProfileCriteria
      x-operation-id-source: derived
  /toll/split-profile/corpus:
    get:
      tags:
      - Split-Profile
      summary: The pinned public test corpus identity
      responses:
        '200':
          description: 'Success. Returns the public test corpus identity for the split-profile op: corpus id split-profile-corpus/v1 and its SHA-256 pin 406a8aa9409716b50a4ad73dbf634cf0e6e0ff39b99a06db577bac0287acafc5 (the SHA-256 of the corpus''s canonical serialization, verifiable with the published harness). The corpus is buyer-runnable before paying.'
      security: []
      operationId: getTollSplitProfileCorpus
      x-operation-id-source: derived
  /toll/split-profile/precheck:
    post:
      tags:
      - Split-Profile
      summary: Free split-profile pre-check of one submitted catalogue (assessability only)
      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). Required on the free pre-check only.
                catalogue:
                  description: 'The one tool catalogue to profile: a JSON array of tool entries, or an object carrying a tools array of the same form. Each entry must be a JSON object; name and description, when present, must be strings; inputSchema, when present, may be any JSON value. At most 200 tools and 262,144 request-body bytes. Processed in memory only and never stored.'
              required:
              - caller
              - catalogue
      responses:
        '200':
          description: 'Success. Returns assessability only: whether each part of the report (catalogue shares, per-tool shares, schema-identity groups) is assessable for the submitted catalogue. No shares, no group existence, no counts. When the caller''s free allowance is exhausted, the response is the /toll/split-profile/check payment challenge instead.'
      security: []
      operationId: postTollSplitProfilePrecheck
      x-operation-id-source: derived
  /toll/split-profile/check:
    post:
      tags:
      - Split-Profile
      summary: Full signed split-profile report for one submitted catalogue
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                catalogue:
                  description: 'The one tool catalogue to profile: a JSON array of tool entries, or an object carrying a tools array of the same form. Each entry must be a JSON object; name and description, when present, must be strings; inputSchema, when present, may be any JSON value. At most 200 tools and 262,144 request-body bytes. Processed in memory only and never stored.'
              required:
              - catalogue
      responses:
        '200':
          description: 'Success. Returns the full signed report: for the catalogue as a whole and for each tool, the shares of its definition-token count carried by its name, description, and parameter schema (shares only — no token count and no character count for any tool or the catalogue), and the groups of two or more tools whose parameter-schema serialisations are byte-identical under the published serialisation. Submitted catalogues are processed in memory only and are never stored.'
        '402':
          description: 'Payment Required (x402). A per-item fee: $0.02 per catalogue — each catalogue you submit is charged at $0.02; the payment includes one submitted MCP tool catalogue (up to 200 tools, request body up to 262,144 bytes), returned as one signed report giving — for the catalogue as a whole and for each tool, by tool name — the shares of its definition-token count carried by its name, its description, and its parameter schema, counted exactly under the tokenizer named in the report and stated as shares only (the report contains no token count for any tool or for the catalogue, and no character count); and the groups of two or more tools whose parameter-schema serialisations are byte-identical under the published serialisation. A free pre-check returns the assessability of each part of the report only — no shares and no duplication result. The report states proportions and duplication of schemas only; it does not grade any tool''s design, usefulness, or worth, and it makes no claim about how often any tool is called. Submitted catalogues are processed in memory only and are never stored; the payments ledger records only the payer, the time, the price, and the verdict line. The response body carries the payment instructions in x402 v1 form: payTo (the operator''s Solana wallet), the amount (20000 USDC units = $0.02 per catalogue) and a fresh memo. Pay in USDC on Solana with the memo attached via the Solana Memo program, then resubmit the same check request with the payment transaction in the X-Payment-Tx header and ?toll_memo=<memo>, re-sending the catalogue in 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.02'
      security:
      - x402Payment: []
      operationId: postTollSplitProfileCheck
      x-operation-id-source: derived
  /toll/split-profile/metrics:
    get:
      tags:
      - Split-Profile
      summary: Split-Profile aggregate counters
      responses:
        '200':
          description: Success. Returns aggregate counters (paid checks, distinct payers, free pre-checks today). Aggregate only — no payer identities, no submitted catalogue content.
      security: []
      operationId: getTollSplitProfileMetrics
      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.'