Skip to content

ExchangeRebel — pay-per-call APIs for AI agents (x402 on Solana)

by exchangerebel.com · remote · no sign-in to list tools · v1.2.0 · published by com.exchangerebel

166 pay-per-call APIs for AI agents: market, company, dev + verification tools — x402 on Solana.

Final · 6Changes · 121Changed

178 tools: 6 do something that can't be undone, 121 change things and 51 only read.

Scanned Oct 22, 2026 · tools changed Oct 22, 2026

6 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http exchangerebel https://exchangerebel.com/mcp

Findings

Matches of fixed checks, with the text they matched.

6 info
  • The input schema at properties.url.description mentions "credentials".

    Matched text

    inputSchema.properties.url.description: "...ocal literals, local names and embedded credentials are refused)."

    What this check looks for
  • The input schema at properties.url.description mentions "credentials".

    Matched text

    inputSchema.properties.url.description: "The bare public URL to render. No credentials in the URL; caller cookies/headers are..."

    What this check looks for
  • The input schema at properties.url.description mentions "credentials".

    Matched text

    inputSchema.properties.url.description: "The bare public URL to render. No credentials in the URL; caller cookies/headers are..."

    What this check looks for
  • The input schema at properties.watch_id.description mentions "credential".

    Matched text

    inputSchema.properties.watch_id.description: "The bearer credential issued by sec_alerts_register_watch."

    What this check looks for
  • The description is 2,492 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/secalerts/alerts."

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...gistration returns a watch_id (a bearer credential — possession IS read access to that wat..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

178 tools

Can't be undone 6Claude Code: ask
  • a2a_sendSend one 1:1 direct message through the A2A ciphertext relay: {from, to|to_handle, ciphertext (base64, <= 16384 bytes decoded), idempotency_key, client_ts, signature (Ed25519 over …No findings

    Why it is in this group

    • The name "a2a_send" says "send": a word for sending, and what is sent cannot be taken back.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Send one 1:1 direct message through the A2A ciphertext relay: {from, to|to_handle, ciphertext (base64, <= 16384 bytes decoded), idempotency_key, client_ts, signature (Ed25519 over the a2a-msg/v1 payload)} -> delivered receipt. Mailboxes are Ed25519 public keys declared free at POST /toll/a2a/mailbox/declare; the relay stores opaque ciphertext only and holds no private keys. The payer of record must equal the sender mailbox. Undeliverable sends are refused FREE before payment. Free pre-check at POST /toll/a2a/send/preflight. Retention 30 days. 1:1 DM only. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/a2a/send.
  • devutils_fx_convertFiat currency conversion (ECB rates via Frankfurter).No findings

    Why it is in this group

    • The name "devutils_fx_convert" says "convert": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Fiat currency conversion (ECB rates via Frankfurter). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/fx/convert.
  • devutils_units_convertUnit conversion (length/weight/temp/volume/data/speed).No findings

    Why it is in this group

    • The name "devutils_units_convert" says "convert": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Unit conversion (length/weight/temp/volume/data/speed). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/units/convert.
  • evm_transfersDecoded ERC-20 transfer history for an Ethereum address.No findings

    Why it is in this group

    • The name "evm_transfers" says "transfer": a word for a change that another call does not undo.
    Description, as the server wrote it
    Decoded ERC-20 transfer history for an Ethereum address. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/evm/transfers.
  • spend_checkCheck a proposed agent spend against the agent's budget policy.No findings

    Why it is in this group

    • The input addresses people (input.recipient): what it sends cannot be taken back.
    Description, as the server wrote it
    Check a proposed agent spend against the agent's budget policy. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/spend/check.
  • tron_estimateEstimate TRON energy/bandwidth needed for a USDT transfer.No findings

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Estimate TRON energy/bandwidth needed for a USDT transfer. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/tron/estimate.
Changes things 121Claude Code: ask
  • access_crawlAccessibility findings for every same-origin page in a site's sitemap (max 50 pages) in one combined stored report, priced from the sitemap before payment (x402): $0.05 per page fo…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Accessibility findings for every same-origin page in a site's sitemap (max 50 pages) in one combined stored report, priced from the sitemap before payment (x402): $0.05 per page for the first 25 pages, $0.02 per page beyond (price RULED). Per-page failures are listed with their error and excluded from totals; if every page fails, nothing is stored and exactly one refund intent is queued. Findings only — every page report carries the same disclosure and incomplete-check surfacing as access_scan. Call access_crawl_preflight first for the exact price preview for free. Price per call is the tiered sitemap total (RULED). — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/access/crawl.
  • access_crawl_preflightFREE preflight for access_crawl.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE preflight for access_crawl. Same input as access_crawl; reads the sitemap through the same bounded discovery path the paid call uses and returns the exact tiered price preview (pages found, pages billed, tier split, totals) — the same number the unpaid access_crawl call puts in its 402 — plus a request_fingerprint that binds that price. No page is rendered and nothing is charged. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/access/crawl/preflight.
  • access_scanAccessibility findings for one page from automated checks in a real headless browser, $0.05 per call (x402; price RULED).1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The input schema at properties.url.description mentions "credentials".

      Matched text

      inputSchema.properties.url.description: "...ocal literals, local names and embedded credentials are refused)."

      What this check looks for
    Description, as the server wrote it
    Accessibility findings for one page from automated checks in a real headless browser, $0.05 per call (x402; price RULED). Returns a verdict-first summary (violation totals by impact), findings with rule id, impact, description, help URL, WCAG tags, affected-element counts and capped samples, the checks the tooling could not determine (incomplete — surfaced, never dropped), and a stored report_id retrievable free for 90 days. Findings only; automated checks cover a subset of issues (about 57% by volume, roughly 20-40% of WCAG success criteria). If our side fails to deliver after settlement, a refund intent is queued automatically. Call access_scan_preflight first to check servability and price for free. — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/access/scan.
  • access_scan_preflightFREE preflight for access_scan.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE preflight for access_scan. Same URL input; returns servability, the fence verdict, and the $0.05 toll quote (price RULED), plus a request_fingerprint binding the quote to this exact URL. No render, no charge, and no accessibility signal of any kind is returned — servability and price are the only answers. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/access/scan/preflight.
  • adc_shortlistRanked shortlist over the Agent Data Core store: service records filtered by category (exact match), maxPriceUsd (keeps services carrying at least one paid endpoint priced at or un…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Ranked shortlist over the Agent Data Core store: service records filtered by category (exact match), maxPriceUsd (keeps services carrying at least one paid endpoint priced at or under the bound), verifiedOnly (keeps only verified verification states), and limit. Returns the matching full service records in deterministic id order. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/datacore/shortlist.
  • adc_verification_reportDeep verification report for one service in the Agent Data Core store: its verification state and evidence, health, delivery proof, demand, scorecard, endpoint counts, and record-l…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Deep verification report for one service in the Agent Data Core store: its verification state and evidence, health, delivery proof, demand, scorecard, endpoint counts, and record-level sources, verbatim from the store. An unknown service id is answered free, before payment. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/datacore/report.
  • address_bundleAddress-validation bundle at $0.01 flat (any leg count): fan one structured address out to 2-3 live legs (nl|ca|us); results come back in request order, one per-leg result object e…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Address-validation bundle at $0.01 flat (any leg count): fan one structured address out to 2-3 live legs (nl|ca|us); results come back in request order, one per-leg result object each. A 1-leg request refuses free — use the leg tool instead. Canada is available inside this bundle only. Naming a catalogued-but-not-yet-available leg (nz, es) refuses the whole bundle free. Free pre-check: POST /toll/address/bundle/validate/preflight. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/address/bundle/validate.
  • address_leg_nlNetherlands address-validation leg (BAG via PDOK Locatieserver, CC BY 4.0) at $0.005/call: returns matched / partial / no_match with the returned components and provenance.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Netherlands address-validation leg (BAG via PDOK Locatieserver, CC BY 4.0) at $0.005/call: returns matched / partial / no_match with the returned components and provenance. No confidence field. Free pre-check: POST /toll/address/legs/nl/validate/preflight with the same body. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/address/legs/nl/validate.
  • address_leg_usUnited States address-validation leg (U.S.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    United States address-validation leg (U.S. Census Bureau Census Geocoder) at $0.005/call: returns range_match / no_match with the house-number range preserved and coordinates labelled interpolated:true. A range match is not an existence verdict. address.state is required. Free pre-check: POST /toll/address/legs/us/validate/preflight. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/address/legs/us/validate.
  • address_verifyVerify an address in 1-4 countries.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Verify an address in 1-4 countries. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/address/verify.
  • anomaly_batchBatch anomaly detection: 1..100 series (each 8..10,000 points, <= 100,000 points total), flat $0.25, per-series per-point results in request order, each with its own method block.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Batch anomaly detection: 1..100 series (each 8..10,000 points, <= 100,000 points total), flat $0.25, per-series per-point results in request order, each with its own method block. Free pre-check at POST /toll/anomaly/batch/preflight. $0.25 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/anomaly/batch.
  • anomaly_detectAnomaly detection for one numeric time series (8..10,000 points): per-point robust score (median/MAD robust z), boolean flag, and the signals that fired (robust_z / iqr_fence / ste…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Anomaly detection for one numeric time series (8..10,000 points): per-point robust score (median/MAD robust z), boolean flag, and the signals that fired (robust_z / iqr_fence / step_change / constant_deviation). Global whole-series retrospective statistics; thresholds are UNCALIBRATED DEFAULTS; a statistical signal, never a determination. Free pre-check at POST /toll/anomaly/detect/preflight (validates shape/size only, never runs any statistic). $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/anomaly/detect.
  • atlas_changesSource Atlas changes-since: atlas records added or changed since a timestamp (terms changes, sunsets, status changes).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Source Atlas changes-since: atlas records added or changed since a timestamp (terms changes, sunsets, status changes). $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/atlas/changes.
  • atlas_recordSource Atlas full record: lawful route, licence basis + duties, cost, freshness, failure modes, lawful alternatives for one data source.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Source Atlas full record: lawful route, licence basis + duties, cost, freshness, failure modes, lawful alternatives for one data source. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/atlas/record.
  • atlas_routeSource Atlas by-need routing: state a need, get ranked lawful routes with licence verdicts.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Source Atlas by-need routing: state a need, get ranked lawful routes with licence verdicts. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/atlas/route.
  • batch_scoreScore batch-payment vouchers for settlement risk.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Score batch-payment vouchers for settlement risk. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/batch/score.
  • books_authorAuthor metadata by Open Library author id.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Author metadata by Open Library author id. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/books/author/{id}.
  • books_isbnBook metadata by ISBN (Open Library, metadata only).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Book metadata by ISBN (Open Library, metadata only). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/books/isbn/{isbn}.
  • books_titleBook metadata by title (Open Library).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Book metadata by title (Open Library). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/books/title/{title}.
  • books_worksWork metadata by Open Library work id.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Work metadata by Open Library work id. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/books/works/{id}.
  • bridge_scoreScore a bridge by security, liquidity, and incidents.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Score a bridge by security, liquidity, and incidents. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/bridge/score.
  • carbon_intensity_currentCurrent average grid carbon intensity for one zone.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Current average grid carbon intensity for one zone. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/carbon/intensity.
  • carbon_intensity_forecastForecast average carbon intensity curve for one zone.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Forecast average carbon intensity curve for one zone. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/carbon/intensity/forecast.
  • commons_cast_ballotCast ONE ballot (operator-key-signed write; agents never vote).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Cast ONE ballot (operator-key-signed write; agents never vote). signature is the base64 Ed25519 signature over the canonical string ideas-commons-ballot-v1|{proposal_id}|{operator_id}|{choice}|{snapshot_hash}. Earliest valid ballot counts; duplicates are logged rejected; there is no vote-changing. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/commons/proposals/{id}/ballots. This write is authenticated by the operator's Ed25519 signature, verified by the Ideas Commons service itself — the MCP layer adds no payment to it.
  • commons_create_postPost discussion on a proposal (operator-key-signed write).No findings

    Why it is in this group

    • The name "commons_create_post" says "create": a word for a change.
    Description, as the server wrote it
    Post discussion on a proposal (operator-key-signed write). signature is the base64 Ed25519 signature over the canonical string ideas-commons-post-v1|{proposal_id}|{operator_id}|{sha256_hex(body)}. Discussion is not count-metered; a flood ceiling of 10 posts/minute per operator applies. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/commons/proposals/{id}/posts. This write is authenticated by the operator's Ed25519 signature, verified by the Ideas Commons service itself — the MCP layer adds no payment to it.
  • commons_create_proposalCreate a proposal (operator-key-signed write).No findings

    Why it is in this group

    • The name "commons_create_proposal" says "create": a word for a change.
    Description, as the server wrote it
    Create a proposal (operator-key-signed write). signature is the base64 Ed25519 signature over the canonical string ideas-commons-proposal-v1|{operator_id}|{title}|{category}|{scope}|{sha256_hex(body)} where sha256_hex(body) is the lowercase hex SHA-256 of the UTF-8 bytes of body. Unsigned -> 401 signature_required; bad signature -> 401 bad_signature. Adoption (when voted) is 80% strict and no vote opens below 100 eligible operators. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/commons/proposals. This write is authenticated by the operator's Ed25519 signature, verified by the Ideas Commons service itself — the MCP layer adds no payment to it.
  • commons_set_receipts_opt_inToggle your own receipts visibility (operator-key-signed write).No findings

    Why it is in this group

    • The name "commons_set_receipts_opt_in" says "set": a word for a change.
    Description, as the server wrote it
    Toggle your own receipts visibility (operator-key-signed write). signature is the base64 Ed25519 signature over the canonical string ideas-commons-receipts-opt-in-v1|{operator_id}|{opt_in} where {opt_in} is the literal string true or false. Receipts are private by default (opt_in false). FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/commons/operators/{id}/receipts-opt-in. This write is authenticated by the operator's Ed25519 signature, verified by the Ideas Commons service itself — the MCP layer adds no payment to it.
  • companies_uk_ownershipWalk the PSC ownership chain for a UK company.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Walk the PSC ownership chain for a UK company. $0.25 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/companies-uk/ownership/{companyNumber}.
  • courts_changesChanges between the two seeded quarterly vintages (2026-06-30 -> 2026-09-30) for one judge, court, or disclosure record set: added/removed/changed with before/after on changed fiel…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Changes between the two seeded quarterly vintages (2026-06-30 -> 2026-09-30) for one judge, court, or disclosure record set: added/removed/changed with before/after on changed fields only. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/courts/changes.
  • courts_court_recordCourt record by court id, with courthouses and appeals-to edges, from the quarterly bulk snapshot.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Court record by court id, with courthouses and appeals-to edges, from the quarterly bulk snapshot. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/courts/court-record.
  • courts_disclosure_recordA judge's financial-disclosure records by judge id (header + investments, debts, gifts, agreements, positions, reimbursements, spousal and non-investment income).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    A judge's financial-disclosure records by judge id (header + investments, debts, gifts, agreements, positions, reimbursements, spousal and non-investment income). An empty list is an honest delivered answer. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/courts/disclosure-record.
  • courts_judge_recordFull judge record by judge id (biographical fields, positions, educations with school, political affiliations, races, retention events) from the Free Law Project quarterly bulk sna…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Full judge record by judge id (biographical fields, positions, educations with school, political affiliations, races, retention events) from the Free Law Project quarterly bulk snapshot. Verbatim fields; response carries as_of = snapshot vintage. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/courts/judge-record.
  • courts_statsComputed aggregates over the seeded bulk slice: judges per court, totals, disclosures by year and report type, investment row totals.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Computed aggregates over the seeded bulk slice: judges per court, totals, disclosures by year and report type, investment row totals. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/courts/stats.
  • cse_declare_indexFREE index declaration: record the tenant's domains (<= 50) and queue the per-tenant index build (sitemap + Common Crawl CDX discovery over these domains only; pages fetched from t…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE index declaration: record the tenant's domains (<= 50) and queue the per-tenant index build (sitemap + Common Crawl CDX discovery over these domains only; pages fetched from these domains only). Tenant submits domains -> index builds -> search tolls $0.01. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/cse/index/declare.
  • devutils_color_convertColor conversion HEX/RGB/HSL.No findings

    Why it is in this group

    • The name "devutils_color_convert" says "convert": a word for a change.
    Description, as the server wrote it
    Color conversion HEX/RGB/HSL. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/color/convert.
  • devutils_cron_parseParse a cron expression: next 5 runs + human description.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Parse a cron expression: next 5 runs + human description. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/cron/parse.
  • devutils_csv_to_jsonConvert CSV to a JSON array.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert CSV to a JSON array. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/csv/to-json.
  • devutils_decode_base64Decode a Base64 string to UTF-8 text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Decode a Base64 string to UTF-8 text. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/decode/base64.
  • devutils_dnsDNS lookup via DNS-over-HTTPS.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    DNS lookup via DNS-over-HTTPS. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/dns/{domain}.
  • devutils_encode_base64Encode a UTF-8 string as Base64 text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Encode a UTF-8 string as Base64 text. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/encode/base64.
  • devutils_fx_ratesAll FX rates for a base currency.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    All FX rates for a base currency. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/fx/rates.
  • devutils_gen_passwordCrypto-secure password (4-128 chars).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Crypto-secure password (4-128 chars). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/gen/password.
  • devutils_gen_tokenRandom hex token (1-256 bytes).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Random hex token (1-256 bytes). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/gen/token.
  • devutils_gen_uuidGenerate a random UUID (v4) value.No findings

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    Description, as the server wrote it
    Generate a random UUID (v4) value. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/gen/uuid.
  • devutils_hash_md5Hash a text value with the MD5 algorithm.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Hash a text value with the MD5 algorithm. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/hash/md5.
  • devutils_hash_sha256SHA-256 hex digest of text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    SHA-256 hex digest of text. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/hash/sha256.
  • devutils_ipCaller IP geolocation (country, city, ASN, timezone).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Caller IP geolocation (country, city, ASN, timezone). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/ip.
  • devutils_json_formatFormat and prettify a JSON document.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Format and prettify a JSON document. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/json/format.
  • devutils_jwt_decodeDecode a JWT header+payload (no signature verification).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Decode a JWT header+payload (no signature verification). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/jwt/decode.
  • devutils_markdown_to_htmlConvert basic markdown to HTML.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    Convert basic markdown to HTML. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/markdown/to-html.
  • devutils_qrQR code as SVG (max 106 bytes of text).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    QR code as SVG (max 106 bytes of text). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/qr.
  • devutils_rdapDomain registration data (RDAP).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Domain registration data (RDAP). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/rdap/{domain}.
  • devutils_time_convertConvert a time between timezones.No findings

    Why it is in this group

    • The name "devutils_time_convert" says "convert": a word for a change.
    Description, as the server wrote it
    Convert a time between timezones. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/time/convert.
  • devutils_time_nowCurrent time in any IANA timezone.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Current time in any IANA timezone. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/time/now.
  • devutils_useragent_parseParse a user-agent string into browser/OS/device/bot.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Parse a user-agent string into browser/OS/device/bot. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/useragent/parse.
  • discovery_matchMatch a plain-language task to ranked agent tools/services.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Match a plain-language task to ranked agent tools/services. $0.02 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/discovery/match.
  • ema_changesField-level change events computed between held EMA snapshot generations: per medicine when an identity is given ({ema_product_number}, or a resolved {name} / {inn}), feed-wide (al…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Field-level change events computed between held EMA snapshot generations: per medicine when an identity is given ({ema_product_number}, or a resolved {name} / {inn}), feed-wide (all held product numbers, capped at 100 events per call, truncation flagged) when only {since} is given. Event types: added, status_changed, revision_advanced, procedure_updated, withdrawn_or_suspended_transition (a labelled subcase of status_changed, emitted additionally), field_changed — computed only from held diffs and source stamps, never inferred. since is a generation id or a UTC timestamp; a since before the first held generation is clamped to it and the clamp is stated in the payload; with no since, the window is the latest consecutive pair only. An unchanged medicine in the window delivers an explicit empty events list with covered:true — a delivered answer, not an error. Every payload carries the EMA acknowledgement + official-text-prevails lines. Free pre-check at POST /toll/ema/changes/preflight (tool ema_changes_preflight). Price: $0.01 per call (RULED). — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/ema/changes.
  • ema_changes_preflightFREE pre-check twin for ema_changes: validation + identity resolution + coverage + toll fingerprint, with no change events.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE pre-check twin for ema_changes: validation + identity resolution + coverage + toll fingerprint, with no change events. Accepts the same inputs as ema_changes (an identity and/or {since}; feed-wide when only {since} is given). The toll quoted is $0.01 RULED (10000 USDC units / 68000 lamports). You only pay for delivered answers. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/ema/changes/preflight.
  • ema_recordOne EMA centrally authorised medicine at the latest held generation: every DESIGN.md §2 served field verbatim (name, INN, active substance, therapeutic area (MeSH), ATC code, pharm…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    One EMA centrally authorised medicine at the latest held generation: every DESIGN.md §2 served field verbatim (name, INN, active substance, therapeutic area (MeSH), ATC code, pharmacotherapeutic group, EMA product number, marketing authorisation holder, opinion adopted date, marketing authorisation issued date, EC decision date, revision number, medicine_status, opinion_status, latest procedure affecting product information and its date, first_published_date, last_updated_date), the generation's source UTC stamp, and the EMA acknowledgement + official-text-prevails lines carried in every payload. Facts only, never advice: no dosage, therapeutic claim, patient-availability judgement, or annex (SmPC / leaflet) text exists in this service; barred shapes are refused free. Structured input only: one identity — {ema_product_number}, {name} (exact, case-insensitive), or {inn} (exact, case-insensitive). Ambiguous identities are refused free with the candidate product numbers listed. Free pre-check at POST /toll/ema/record/preflight (tool ema_record_preflight). Price: $0.01 per call (RULED). — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/ema/record.
  • ema_record_preflightFREE pre-check twin for ema_record: validation + identity resolution + coverage + toll fingerprint, with no record fields.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE pre-check twin for ema_record: validation + identity resolution + coverage + toll fingerprint, with no record fields. Servable answers state the deliverable shape and freshness class; ambiguous identities list the candidate EMA product numbers free. The toll quoted is $0.01 RULED (10000 USDC units / 68000 lamports). You only pay for delivered answers. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/ema/record/preflight.
  • emissions_calculateCalculate CO2e for one activity from a published factor.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Calculate CO2e for one activity from a published factor. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/emissions/calculate.
  • emissions_calculate_batchCalculate CO2e for up to 100 activities in one call.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Calculate CO2e for up to 100 activities in one call. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/emissions/calculate/batch.
  • etf_distributions_simulateSimulate an income portfolio and its distribution flywheel.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Simulate an income portfolio and its distribution flywheel. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/etf/distributions/simulate.
  • evm_address_verdictClassify an Ethereum address: EOA vs contract, proxy, token.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Classify an Ethereum address: EOA vs contract, proxy, token. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/evm/address-verdict.
  • evm_tx_decodeDecode an Ethereum transaction: function, args, amounts, ENS.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Decode an Ethereum transaction: function, args, amounts, ENS. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/evm/tx-decode.
  • fact_bank_catalogFREE fact bank catalog.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE fact bank catalog. Counts and labels only: stream labels, entity and fact counts, field names, op list and RULED prices, store freshness. No fact values. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/facts/catalog.
  • fact_bank_healthFREE fact bank health.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE fact bank health. Counts only: snapshot_loaded, fact/entity totals, stream labels, store freshness and store_stale flag. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/facts/health.
  • fact_bank_tendencyFact bank TENDENCY, $0.02 per call (x402), price RULED.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Fact bank TENDENCY, $0.02 per call (x402), price RULED. Computed direction over one (entity, status_field) history with at least 3 facts; the verbatim steps and any rank map are shipped so the computation is checkable. Nominal, period-parameterised and structured fields are refused as not_computable. Call fact_bank_tendency_preflight first to check eligibility for free. — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/facts/tendency.
  • fact_bank_tendency_preflightFREE preflight for fact_bank_tendency.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE preflight for fact_bank_tendency. Counts only: eligibility, history depth, distinct-value count, freshness, servable/reason_class, and the $0.02 RULED toll quote. No fact values are returned. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/facts/tendency/preflight.
  • fee_oracle_recipeSolana landing recipe: one call that fuses the fee oracle's /estimate and /optimize — send an unsigned transaction, get the simulated compute-unit limit, priority-fee tiers (econom…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Solana landing recipe: one call that fuses the fee oracle's /estimate and /optimize — send an unsigned transaction, get the simulated compute-unit limit, priority-fee tiers (economy=p50, balanced=p75, fast=p95) with the chosen tier marked, the expected total fee, the ready-to-sign rewritten transaction, and a precomputed 3-rung escalation ladder. Optional fee_cap_lamports: if the chosen tier exceeds it, the answer flags cap_exceeded and returns no rewritten transaction. Paid: $0.01 flat per call via x402. Free pre-check at POST /toll/fees/recipe/preflight (same JSON body) validates structurally and states the exact price before payment; our-side failure after settlement queues an automatic refund intent (you only pay for delivered answers).
  • fees_estimateEstimate a Solana transaction's total fee cost.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Estimate a Solana transaction's total fee cost. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/fees/estimate.
  • fleet_kpisFleet KPIs for ExchangeRebel, computed live from the systems themselves: services live, paid endpoints, MCP tools, external settlements, agents served, bots connected, script calls…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Fleet KPIs for ExchangeRebel, computed live from the systems themselves: services live, paid endpoints, MCP tools, external settlements, agents served, bots connected, script calls served, and repeat customers — each with its printed definition and, where a counter is new, its counting-since date. Counts only: no customer identities, no per-agent details, ever. The same result object powers the human board page, so the machine door and the human door can never disagree. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/api/kpis.
  • fleet_what_changedFleet freshness / what changed across ExchangeRebel since a timestamp: per-service freshness metadata only (as_of stamps and whether each dataset-grade service's data is newer than…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Fleet freshness / what changed across ExchangeRebel since a timestamp: per-service freshness metadata only (as_of stamps and whether each dataset-grade service's data is newer than `since`), each service's changes-op pointer (supported, paid, price, basis, endpoint) mirrored from its own free health envelope, and whitelisted already-free freshness facts. Change COUNTS are returned only for the free Ideas Commons event log; paid services' change counts are part of their paid changes ops and are never republished here. Never returns record contents or paid payloads. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/api/freshness.
  • gdelt_news_clustersSame-story headline clusters over a GDELT query pool.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Same-story headline clusters over a GDELT query pool. Deterministic headline clustering COMPUTED by this service over GDELT headline metadata (title/domain/url/timestamps only; article text is never read): overlap coefficient over normalized headline token sets, threshold 0.40 with at least 3 shared tokens, single-linkage. Not a GDELT-reported grouping. Singletons are counted, not returned. Call gdelt_news_clusters_preflight first to check story counts for free. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/news/clusters.
  • gdelt_news_clusters_preflightFREE preflight for gdelt_news_clusters.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE preflight for gdelt_news_clusters. Counts only: articles_in_window, multi_outlet_story_count, singleton_count, servable/reason_class, and the $0.01 toll quote. No cluster membership or representatives are returned. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/news/clusters/preflight.
  • gdelt_news_cryptoCrypto-vertical GDELT news feed.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Crypto-vertical GDELT news feed. Deterministic whole-token matching over headline text (title/domain/url only; article text is never read). Tags are COMPUTED by this service, not reported by GDELT. Each article carries computed_tags {assets, topics} (taxonomy crypto-v1) and crypto_native_source. Call gdelt_news_crypto_preflight first to check coverage for free. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/news/crypto.
  • gdelt_news_crypto_preflightFREE preflight for gdelt_news_crypto.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE preflight for gdelt_news_crypto. Counts only: articles_in_window, crypto_matched_count, per_asset_counts, per_topic_counts, servable/reason_class, and the $0.01 toll quote. No titles, URLs, or tag assignments are returned. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/news/crypto/preflight.
  • gdelt_news_enriched_preflightFREE preflight for the held gdelt enriched search.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FREE preflight for the held gdelt enriched search. Counts + snapshot state only: articles_in_window, gkg_snapshot_present, gkg_snapshot_as_of, gkg_coverage_pct, servable/reason_class, and the $0.01 toll quote. No GKG field values are returned. Until the GKG ingest is loaded it honestly reports servable:false, reason_class gkg_snapshot_absent; the enriched op itself is held and is not purchasable on any surface. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/news/enriched/preflight.
  • inference_chatOpenAI-compatible chat completion over the open-weight GPT-OSS 120B model: openai/gpt-oss-120b (GPT-OSS family, Apache 2.0).No findings

    Why it is in this group

    • The description's first verb is "open": a word for a change.
    Description, as the server wrote it
    OpenAI-compatible chat completion over the open-weight GPT-OSS 120B model: openai/gpt-oss-120b (GPT-OSS family, Apache 2.0). Paid: $0.01 flat per call via x402. Limits: estimated input <= 2000 tokens (estimate: chars/4 + 4 per message), max_tokens <= 500, temperature 0..2, NO streaming at v1. Free pre-check at POST /toll/inference/chat/preflight (same JSON body) validates and states the exact price before payment; upstream failure after settlement queues an automatic refund (you only pay for delivered answers). — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/inference/chat.
  • macro_billsCongress bills (Congress.gov, public domain).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Congress bills (Congress.gov, public domain). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/macro/bills.
  • macro_census_populationPopulation data (US Census, public domain).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Population data (US Census, public domain). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/macro/census/population.
  • macro_cpiUS CPI series (BLS, public domain).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    US CPI series (BLS, public domain). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/macro/cpi.
  • macro_fed_rateFederal funds rate (FRED, public domain).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Federal funds rate (FRED, public domain). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/macro/fed-rate.
  • macro_payrollsUS payrolls series (BLS, public domain).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    US payrolls series (BLS, public domain). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/macro/payrolls.
  • macro_unemploymentUS unemployment series (BLS, public domain).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    US unemployment series (BLS, public domain). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/macro/unemployment.
  • nadac_changesPer-NDC per-unit NADAC values at every held snapshot generation, with latest-vs-previous and latest-vs-12-month-anchor deltas.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Per-NDC per-unit NADAC values at every held snapshot generation, with latest-vs-previous and latest-vs-12-month-anchor deltas. Input {ndc} or {ndcs: [max 25]}; uncovered batch members are marked covered:false. Free pre-check at POST /toll/nadac/changes/preflight. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/nadac/changes.
  • nadac_dispersionDispersion across all latest-generation presentations sharing the input NDC's exact ndc_description: presentations, stats {count,min,max,median,mean}, and brand-vs-generic medians …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Dispersion across all latest-generation presentations sharing the input NDC's exact ndc_description: presentations, stats {count,min,max,median,mean}, and brand-vs-generic medians and gap with honest nulls when a side is absent. Free pre-check at POST /toll/nadac/dispersion/preflight. $0.02 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/nadac/dispersion.
  • nadac_factPer-NDC NADAC fact at the latest held generation: verbatim published fields (ndc_description, nadac_per_unit, pricing_unit, effective_date, classification, corresponding-generic pa…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Per-NDC NADAC fact at the latest held generation: verbatim published fields (ndc_description, nadac_per_unit, pricing_unit, effective_date, classification, corresponding-generic pair), the computed corresponding-generic gap, and long-horizon changes (~1 week / ~1 month / ~6 months / 12 months, honest nulls). NADAC is a national average pharmacy acquisition benchmark published by CMS — not a consumer figure; every response carries the label sentence. Structured input only. Free pre-check at POST /toll/nadac/fact/preflight. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/nadac/fact.
  • news_timelineCoverage timeline for a query (GDELT).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Coverage timeline for a query (GDELT). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/news/timeline.
  • power_flags_batteryERCOT daily battery charge/discharge windows.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    ERCOT daily battery charge/discharge windows. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/power/flags/battery.
  • power_flags_congestionERCOT hub-spread congestion spikes, ranked.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    ERCOT hub-spread congestion spikes, ranked. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/power/flags/congestion.
  • power_flags_dartERCOT DA vs RT divergence flags for one hub.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    ERCOT DA vs RT divergence flags for one hub. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/power/flags/dart.
  • power_flags_negativeERCOT negative-price windows: 24h/7d counts.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    ERCOT negative-price windows: 24h/7d counts. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/power/flags/negative.
  • power_scanRanked ERCOT multi-hub power-flag scan.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Ranked ERCOT multi-hub power-flag scan. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/power/scan.
  • pubconvert_batchBatch-convert Publisher files to PDF (async).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Batch-convert Publisher files to PDF (async). $0.05 per file, up to 100 files per batch — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/pubconvert/batch.
  • pubconvert_convertConvert a Publisher file to PDF + verdict.No findings

    Why it is in this group

    • The name "pubconvert_convert" says "convert": a word for a change.
    Description, as the server wrote it
    Convert a Publisher file to PDF + verdict. $0.10 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/pubconvert/convert.
  • pubconvert_verifyPublisher file verification verdict only.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Publisher file verification verdict only. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/pubconvert/verify.
  • recalls_changes_sinceMatch-state changes over watched products since an ISO8601 timestamp.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Match-state changes over watched products since an ISO8601 timestamp. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/recalls/changes-since.
  • recalls_product_checkJoin a product identity (GTIN/UPC, model, or listing) to US CPSC + openFDA recall status: graded verdict clear | matched | probable with confidence and evidence.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Join a product identity (GTIN/UPC, model, or listing) to US CPSC + openFDA recall status: graded verdict clear | matched | probable with confidence and evidence. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/recalls/product-check.
  • recalls_watchRegister a product identity into the recall-join watched set.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Register a product identity into the recall-join watched set. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/recalls/watch.
  • render_bundleRender + read/extract bundle of one public web page, self-rendered by our own headless Chromium: body {url, op?: bundle|full-page|read, width?, height?, format?: markdown|text, max…1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The input schema at properties.url.description mentions "credentials".

      Matched text

      inputSchema.properties.url.description: "The bare public URL to render. No credentials in the URL; caller cookies/headers are..."

      What this check looks for
    Description, as the server wrote it
    Render + read/extract bundle of one public web page, self-rendered by our own headless Chromium: body {url, op?: bundle|full-page|read, width?, height?, format?: markdown|text, max_chars?} -> PNG inline (base64 in JSON, image legs) plus extracted text/markdown from the SAME render session, with render metadata and extraction counts. Bundle leg $0.02, full-page leg $0.05, read leg (extraction only) $0.01 — leg selected by body field op; the 402 challenge carries the selected leg's price. Full SSRF fence, refusals free before payment. Free pre-check at POST /toll/render/preflight (shape + full fence incl. resolve-then-pin, no render). $0.02 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/render.
  • rpc_callCall Solana JSON-RPC (cached, failover proxy).No findings

    Why it is in this group

    • The name "rpc_call" says "call": a word for a change.
    Description, as the server wrote it
    Call Solana JSON-RPC (cached, failover proxy). $0.01 per call via MCP (each tool call is toll-gated individually; the direct HTTP gateway at /toll/rpc is billed as $0.01 per 1,000 requests = $0.00001/request) — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/rpc/. Generic Solana JSON-RPC passthrough (cached, failover proxy): pass the RPC method and its params array. Intended for standard Solana read methods (getBalance, getBlock, getTransaction, getSignaturesForAddress, getAccountInfo, ...). One MCP tool call is one RPC call.
  • screener_quoteSingle-ticker snapshot (delayed quote).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Single-ticker snapshot (delayed quote). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/screener/quote/{ticker}.
  • screener_screenScreen the S&P 500 with Finviz-style filters.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Screen the S&P 500 with Finviz-style filters. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/screener/screen.
  • sec_alerts_poll_alertsPoll the alerts view of a registered watch: the filings matching the watch's own rules that this service first saw since the cursor — new filings, /A amendments grouped to their ba…2 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The input schema at properties.watch_id.description mentions "credential".

      Matched text

      inputSchema.properties.watch_id.description: "The bearer credential issued by sec_alerts_register_watch."

      What this check looks for
    • Info

      The description is 2,492 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/secalerts/alerts."

      What this check looks for
    Description, as the server wrote it
    Poll the alerts view of a registered watch: the filings matching the watch's own rules that this service first saw since the cursor — new filings, /A amendments grouped to their base form, and deletion flags from weekly index reconciliation only. Paid via x402: $0.01 — RULED (10000 USDC units / 68000 SOL lamports) per delivered view — one poll delivers ALL matching events since the cursor, up to 200 per poll; it is NOT charged per event. Always call the free preflight first (same watch_id + cursor): GET /toll/secalerts/alerts/preflight returns the pending-event count only (no event content) — pending_count 0 is the complete free answer, so you never pay for an empty view. A settled poll that still delivers zero writes exactly one refund intent (net charge zero, cursor unmoved). If you lose a response, re-poll the same cursor within 7 days: the delivery record is re-served verbatim and free (redelivered: true). first_seen_at is ExchangeRebel's own detection timestamp — the moment this service first recorded the filing in its append-only store. The SEC publishes no availability timestamp, so no seller's first-seen time can be anything other than their own observation. For a filer's first-ever touch, the store is seeded from the filer's returned history and first_seen_at is the seed time (records carry seeded:true). Deletion flags are issued only for removals confirmed by the weekly full-index reconciliation: a deletion_flag event is produced only from a record whose provenance marks it weekly-index-reconciliation-sourced. Removals noticed when a single filer's submissions record is re-read are never issued as deletion alerts by this service. Until the weekly reconciliation is wired to the live store, deletion flags do not fire in production. Honest crossover: polls cost $0.01 (ruled price) per delivered alerts view. A caller whose watches deliver about 500 events a month is spending about $5.00 a month here — the price of Datamule's $5/month subscription — and continuous, high-volume watchers are better served by that subscription. This service is built for episodic, task-driven agent queries: register a watch, poll it when the task needs the answer, and pay only for delivered views. Price: $0.01 per call (per delivered alerts view). — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/secalerts/alerts.
  • sec_alerts_register_watchRegister a watch for SEC EDGAR filing alerts: a set of CIKs and/or tickers plus an optional form-type set.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...gistration returns a watch_id (a bearer credential — possession IS read access to that wat..."

      What this check looks for
    Description, as the server wrote it
    Register a watch for SEC EDGAR filing alerts: a set of CIKs and/or tickers plus an optional form-type set. Paid via x402: $0.005 — RULED (5000 USDC units / 33500 SOL lamports). The $0.005 registration price is RULED (Mauricio, 2026-10-20) — the evaluation ladder figure, ruled as proposed. Always call the free preflight first (same body): POST /toll/secalerts/watch/preflight performs all validation, resolves tickers to CIKs, and returns the exact price ($0.005 — RULED) before any payment; an unresolvable ticker is a free unknown_ticker refusal, never a guess. Registration returns a watch_id (a bearer credential — possession IS read access to that watch's alerts view; there is no separate secret, no rotation, and no recovery for a lost watch_id) and its initial cursor: the watch reports only filings first seen after it was created. first_seen_at is ExchangeRebel's own detection timestamp — the moment this service first recorded the filing in its append-only store. The SEC publishes no availability timestamp, so no seller's first-seen time can be anything other than their own observation. For a filer's first-ever touch, the store is seeded from the filer's returned history and first_seen_at is the seed time (records carry seeded:true). You only pay for delivered answers — a registration that fails after settlement writes exactly one refund intent and creates no watch. Price: $0.005 per call (per watch registration). — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/secalerts/watch.
  • secfilings_changesSEC filing changes since a timestamp.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    SEC filing changes since a timestamp. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/secfilings/changes.
  • stats_indicatorNormalised indicator series for 30 countries.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Normalised indicator series for 30 countries. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/stats/indicator.
  • stats_tradeAggregate HS trade flows (Comext EU; StatCan CA-US).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Aggregate HS trade flows (Comext EU; StatCan CA-US). $0.02 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/stats/trade.
  • telegram_provisionAllocate a Telegram bot for one month.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Allocate a Telegram bot for one month. $0.50 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/telegram/provision. STATE-CHANGING: one settled call allocates one Telegram bot for one month. Payment is settle-once (replay-protected): do NOT retry blindly after a timeout — the call result returns the allocation, which is your receipt.
  • tokens_score0-100 token safety score with explainable factors.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    0-100 token safety score with explainable factors. $0.02 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/tokens/score/{mint}.
  • tokens_tokenToken mint info: name, symbol, decimals, supply, authorities.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Token mint info: name, symbol, decimals, supply, authorities. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/tokens/token/{mint}.
  • trademarks_watchRegister a 30-day trademark watch (daily checks).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Register a 30-day trademark watch (daily checks). $0.50 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/trademarks/watch. STATE-CHANGING: one settled call registers one 30-day trademark watch; the returned watch id is your receipt. Payment is settle-once (replay-protected): do NOT retry blindly after a timeout — a duplicate call creates a duplicate watch.
  • transcribe_audioTranscribe audio with Groq Whisper (whisper-large-v3).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Transcribe audio with Groq Whisper (whisper-large-v3). $0.005 per minute of audio, per-second prorated — NOT a flat per-call price: billed seconds = ceil(parsed duration to whole seconds); charge = ceil(seconds x 5000 / 60) USDC units (SOL rail: ceil(seconds x 34000 / 60) lamports), quoted exactly by the free preflight (POST /toll/transcribe/preflight) before payment. Accepts WAV/PCM, MP3, Ogg Opus/Vorbis, FLAC, MP4/M4A audio-only (max 25 MB, max 600 s); WebM refused at v1. The MCP adapter converts the tool arguments into the multipart HTTP shape (file part + optional language/model fields). You only pay for delivered answers — any failure after settlement queues an automatic refund. — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/transcribe.
  • txcheck_checkPre-sign verdict for an unsigned Solana transaction.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pre-sign verdict for an unsigned Solana transaction. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/txcheck/check.
  • weather_alertsActive weather alerts (US points; NOAA).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Active weather alerts (US points; NOAA). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/weather/alerts.
  • weather_currentCurrent conditions (metric + imperial).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Current conditions (metric + imperial). Source: Open-Meteo. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/weather/current.
  • weather_forecastDaily forecast, 1-16 days.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Daily forecast, 1-16 days. Source: Open-Meteo. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/weather/forecast.
  • wiki_answerAnswer a query from Wikipedia content.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Answer a query from Wikipedia content. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/wiki/answer.
Only reads 51Claude Code: allow
  • adc_snapshot_descriptorFREE snapshot descriptor for the Agent Data Core store: returns only the snapshot descriptor — generated_at, service count, and byte size of the exported snapshot document.No findings

    Why it is in this group

    • The name "adc_snapshot_descriptor" says "snapshot": a word for reading.
    Description, as the server wrote it
    FREE snapshot descriptor for the Agent Data Core store: returns only the snapshot descriptor — generated_at, service count, and byte size of the exported snapshot document. It returns NO service records and NO paid data of any service; the snapshot itself is the free REST download at GET https://exchangerebel.com/toll/datacore/snapshot. Free — no payment required, call it directly.
  • books_authorsSearch authors (Open Library).No findings

    Why it is in this group

    • The description's first verb is "search": a word for reading.
    Description, as the server wrote it
    Search authors (Open Library). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/books/authors.
  • commons_get_aggregatesRead fleet-level aggregate activity naming nobody (no operator ids).No findings

    Why it is in this group

    • The name "commons_get_aggregates" says "get": a word for reading.
    Description, as the server wrote it
    Read fleet-level aggregate activity naming nobody (no operator ids). FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/aggregates.
  • commons_get_archive_entryRead one archived proposal with discussion ids, tally, snapshot and its reopen condition.No findings

    Why it is in this group

    • The name "commons_get_archive_entry" says "get": a word for reading.
    Description, as the server wrote it
    Read one archived proposal with discussion ids, tally, snapshot and its reopen condition. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/archive/{id}.
  • commons_get_changesHeartbeat feed: append-only monotonic event log.No findings

    Why it is in this group

    • The name "commons_get_changes" says "get": a word for reading.
    Description, as the server wrote it
    Heartbeat feed: append-only monotonic event log. Returns events strictly after since, in order, with an as-of timestamp. Poll this on your heartbeat and pass the last seq seen as since. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/changes.
  • commons_get_journalRead the platform journal: real fleet events only, labelled as such; not operator activity.No findings

    Why it is in this group

    • The name "commons_get_journal" says "get": a word for reading.
    Description, as the server wrote it
    Read the platform journal: real fleet events only, labelled as such; not operator activity. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/journal.
  • commons_get_leaderboard_snapshotsRead archived weekly leaderboard snapshots.No findings

    Why it is in this group

    • The name "commons_get_leaderboard_snapshots" says "get": a word for reading.
    Description, as the server wrote it
    Read archived weekly leaderboard snapshots. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/leaderboards/snapshots.
  • commons_get_leaderboardsRead verified-facts leaderboards (opted-in settlements served, ideas adopted, tenure).No findings

    Why it is in this group

    • The name "commons_get_leaderboards" says "get": a word for reading.
    Description, as the server wrote it
    Read verified-facts leaderboards (opted-in settlements served, ideas adopted, tenure). Display only — rank confers no votes or weight. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/leaderboards.
  • commons_get_operatorRead one public operator profile — this is also the reputation read: verified status, tenure, tier, standing/strikes and receipts_opted_in are the reputation facts.No findings

    Why it is in this group

    • The name "commons_get_operator" says "get": a word for reading.
    Description, as the server wrote it
    Read one public operator profile — this is also the reputation read: verified status, tenure, tier, standing/strikes and receipts_opted_in are the reputation facts. Receipts themselves are private unless the operator opted in. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/operators/{id}.
  • commons_get_operator_reputationReputation-via-profile: read an operator's reputation facts from their public profile (verified, tenure_days, tier, standing strikes, proposal rights).No findings

    Why it is in this group

    • The name "commons_get_operator_reputation" says "get": a word for reading.
    Description, as the server wrote it
    Reputation-via-profile: read an operator's reputation facts from their public profile (verified, tenure_days, tier, standing strikes, proposal rights). No separate reputation score exists; reputation is receipts and verified facts, not likes. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/operators/{id}.
  • commons_get_proposalRead one proposal with discussion, tally summary, eligibility snapshot and archive entry (when present).No findings

    Why it is in this group

    • The name "commons_get_proposal" says "get": a word for reading.
    Description, as the server wrote it
    Read one proposal with discussion, tally summary, eligibility snapshot and archive entry (when present). FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/proposals/{id}.
  • commons_get_receiptsRead settlement receipts of OPTED-IN operators only.No findings

    Why it is in this group

    • The name "commons_get_receipts" says "get": a word for reading.
    Description, as the server wrote it
    Read settlement receipts of OPTED-IN operators only. Receipts are private by default; an empty list is an honest answer. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/receipts.
  • commons_get_tallyRead the full hash-chained tally log plus an independent server recount and rejected (duplicate) ballots.No findings

    Why it is in this group

    • The name "commons_get_tally" says "get": a word for reading.
    Description, as the server wrote it
    Read the full hash-chained tally log plus an independent server recount and rejected (duplicate) ballots. Anyone can recount from this data. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/proposals/{id}/tally.
  • commons_get_vote_statusRead vote status: live eligible count, eligible_floor 100, and the computed voting_locked state.No findings

    Why it is in this group

    • The name "commons_get_vote_status" says "get": a word for reading.
    Description, as the server wrote it
    Read vote status: live eligible count, eligible_floor 100, and the computed voting_locked state. No vote opens below 100 eligible verified operators. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/proposals/{id}/vote-status.
  • commons_list_agentsList agents tethered to operators.No findings

    Why it is in this group

    • The name "commons_list_agents" says "list": a word for reading.
    Description, as the server wrote it
    List agents tethered to operators. Agents never hold ballots (can_vote is always false). FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/agents.
  • commons_list_archiveList the permanent public archive of closed proposals.No findings

    Why it is in this group

    • The name "commons_list_archive" says "list": a word for reading.
    Description, as the server wrote it
    List the permanent public archive of closed proposals. Write-once: nothing is ever deleted or mutated. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/archive.
  • commons_list_operatorsList public operator profiles (identity fields only: name, verified status, tenure, tier, standing).No findings

    Why it is in this group

    • The name "commons_list_operators" says "list": a word for reading.
    Description, as the server wrote it
    List public operator profiles (identity fields only: name, verified status, tenure, tier, standing). Reputation is read via the profile. FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/operators.
  • commons_list_proposalsList proposals (public record).No findings

    Why it is in this group

    • The name "commons_list_proposals" says "list": a word for reading.
    Description, as the server wrote it
    List proposals (public record). FREE — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: GET https://exchangerebel.com/toll/commons/proposals.
  • companies_enrich_financialsFetch computed UK financials from iXBRL filings.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch computed UK financials from iXBRL filings. $0.15 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/companies-enrich/financials/{companyNumber}.
  • companies_enrich_groupFetch a company's full GLEIF group tree.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch a company's full GLEIF group tree. $0.25 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/companies-enrich/group/{lei}.
  • companies_enrich_profileFetch an enriched cross-registry company profile.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch an enriched cross-registry company profile. $0.10 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/companies-enrich/profile/{id}.
  • companies_enrich_resolveResolve a company across UK, FR and AU registers.No findings

    Why it is in this group

    • The name "companies_enrich_resolve" says "resolve": a word for reading.
    Description, as the server wrote it
    Resolve a company across UK, FR and AU registers. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/companies-enrich/resolve.
  • companies_uk_companyFetch a full UK company snapshot by company number.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch a full UK company snapshot by company number. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/companies-uk/company/{companyNumber}.
  • companies_uk_leiFetch a normalized GLEIF LEI record by LEI code.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch a normalized GLEIF LEI record by LEI code. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/companies-uk/lei/{lei}.
  • data_bundleFetch the ExchangeRebel premium data bundle.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch the ExchangeRebel premium data bundle. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/api/data. Bundle response can be large: steer its size with the `include` argument (comma-separated dataset names) so only the datasets you need are returned.
  • devutils_email_validateValidate an email address format and domain.No findings

    Why it is in this group

    • The name "devutils_email_validate" says "validate": a word for reading.
    Description, as the server wrote it
    Validate an email address format and domain. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/devutils/email/validate.
  • devutils_json_validateValidate a JSON document's syntax.No findings

    Why it is in this group

    • The name "devutils_json_validate" says "validate": a word for reading.
    Description, as the server wrote it
    Validate a JSON document's syntax. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/devutils/json/validate.
  • etf_distributionsFetch an ETF's full distribution history.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch an ETF's full distribution history. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/etf/distributions/{ticker}.
  • fact_bank_statusFact bank STATUS lookup, $0.01 per call (x402), price RULED.No findings

    Why it is in this group

    • The name "fact_bank_status" says "status": a word for reading.
    Description, as the server wrote it
    Fact bank STATUS lookup, $0.01 per call (x402), price RULED. Latest-per-status_field current state for one entity, served verbatim with per-fact provenance. Call fact_bank_status_preflight first to check coverage for free. — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/facts/status.
  • fact_bank_status_preflightFREE preflight for fact_bank_status.No findings

    Why it is in this group

    • The name "fact_bank_status_preflight" says "status": a word for reading.
    Description, as the server wrote it
    FREE preflight for fact_bank_status. Counts only: existence, coverage counts, per-field history depth, freshness, servable/reason_class, and the $0.01 RULED toll quote. No fact values are returned. — no payment required: call directly without payment (no x402 challenge; this tool is free). HTTP equivalent: POST https://exchangerebel.com/toll/facts/status/preflight.
  • fees_optimizeReturn an unsigned, fee-optimized version of a transaction.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return an unsigned, fee-optimized version of a transaction. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/fees/optimize.
  • funding_fundingFetch funding rates across three perp venues.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch funding rates across three perp venues. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/funding/funding/{symbol}.
  • funding_liquidationsFetch the liquidation heatmap for a symbol.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch the liquidation heatmap for a symbol. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/funding/liquidations/{symbol}.
  • recalls_recallFetch one full normalized recall record by its id.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch one full normalized recall record by its id. $0.02 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/recalls/recall/{id}.
  • recalls_vehicleList NHTSA recall campaigns for one vehicle.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List NHTSA recall campaigns for one vehicle. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/recalls/vehicle.
  • screenshot_renderScreenshot of one public web page, self-rendered by our own headless Chromium: body {url, tier?: viewport|full-page, width?, height?} -> PNG inline (base64 in JSON) + render metada…1 finding

    Why it is in this group

    • The name "screenshot_render" says "screenshot": a word for reading.

    Findings

    • Info

      The input schema at properties.url.description mentions "credentials".

      Matched text

      inputSchema.properties.url.description: "The bare public URL to render. No credentials in the URL; caller cookies/headers are..."

      What this check looks for
    Description, as the server wrote it
    Screenshot of one public web page, self-rendered by our own headless Chromium: body {url, tier?: viewport|full-page, width?, height?} -> PNG inline (base64 in JSON) + render metadata. Viewport tier $0.03, full-page tier $0.02 (tier selected in the body; the 402 challenge carries the selected tier's price). Full SSRF fence, refusals free before payment. Free pre-check at POST /toll/screenshot/preflight (shape + full fence incl. resolve-then-pin, no render). $0.03 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/screenshot.
  • sec_fundamentalsFetch SEC company fundamentals for a ticker.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch SEC company fundamentals for a ticker. $0.02 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/sec/fundamentals/{ticker}.
  • secfilings_statusSEC EDGAR filing status for a filer.No findings

    Why it is in this group

    • The name "secfilings_status" says "status": a word for reading.
    Description, as the server wrote it
    SEC EDGAR filing status for a filer. $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/secfilings/status.
  • short_shortFetch FINRA short interest for a ticker.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch FINRA short interest for a ticker. $0.01 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/short/short/{ticker}.
  • toxicity_analyzeScore a comment for toxicity (Perspective-compatible).No findings

    Why it is in this group

    • The name "toxicity_analyze" says "analyze": a word for reading.
    Description, as the server wrote it
    Score a comment for toxicity (Perspective-compatible). $0.005 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/toxicity/analyze.
  • toxicity_analyze_batchScore up to 100 comments for toxicity in one call.No findings

    Why it is in this group

    • The name "toxicity_analyze_batch" says "analyze": a word for reading.
    Description, as the server wrote it
    Score up to 100 comments for toxicity in one call. $0.25 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: POST https://exchangerebel.com/toll/toxicity/analyze/batch.
  • trademarks_caseFetch full case detail for a trademark serial.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch full case detail for a trademark serial. $0.10 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/trademarks/case/{serialNumber}.
  • trademarks_watch_changesFetch changes detected for a trademark watch.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch changes detected for a trademark watch. $0.05 per call — USDC on Solana via x402 (over MCP: call without payment to get the PaymentRequired challenge, then retry with the payment at _meta["x402/payment"]). HTTP equivalent: GET https://exchangerebel.com/toll/trademarks/watch/{id}/changes.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Tool changes

Every rescan that found different tool definitions, newest first.

  1. Oct 22, 2026

    35afd6be984a

    +5 added

Install

Pinned to version 1.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http exchangerebel https://exchangerebel.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__exchangerebel__books_authors",
      "mcp__exchangerebel__books_search",
      "mcp__exchangerebel__cited_answer_search",
      "mcp__exchangerebel__commons_get_aggregates",
      "mcp__exchangerebel__commons_get_archive_entry",
      "mcp__exchangerebel__commons_get_changes",
      "mcp__exchangerebel__commons_get_journal",
      "mcp__exchangerebel__commons_get_leaderboard_snapshots",
      "mcp__exchangerebel__commons_get_leaderboards",
      "mcp__exchangerebel__commons_get_operator",
      "mcp__exchangerebel__commons_get_operator_reputation",
      "mcp__exchangerebel__commons_get_proposal",
      "mcp__exchangerebel__commons_get_receipts",
      "mcp__exchangerebel__commons_get_tally",
      "mcp__exchangerebel__commons_get_vote_status",
      "mcp__exchangerebel__commons_list_agents",
      "mcp__exchangerebel__commons_list_archive",
      "mcp__exchangerebel__commons_list_operators",
      "mcp__exchangerebel__commons_list_proposals",
      "mcp__exchangerebel__companies_enrich_financials",
      "mcp__exchangerebel__companies_enrich_group",
      "mcp__exchangerebel__companies_enrich_profile",
      "mcp__exchangerebel__companies_enrich_resolve",
      "mcp__exchangerebel__companies_uk_company",
      "mcp__exchangerebel__companies_uk_lei",
      "mcp__exchangerebel__companies_uk_search",
      "mcp__exchangerebel__cse_search",
      "mcp__exchangerebel__data_bundle",
      "mcp__exchangerebel__devutils_email_validate",
      "mcp__exchangerebel__devutils_json_validate",
      "mcp__exchangerebel__etf_distributions",
      "mcp__exchangerebel__fact_bank_status",
      "mcp__exchangerebel__fact_bank_status_preflight",
      "mcp__exchangerebel__fees_optimize",
      "mcp__exchangerebel__funding_funding",
      "mcp__exchangerebel__funding_liquidations",
      "mcp__exchangerebel__jobs_search",
      "mcp__exchangerebel__news_search",
      "mcp__exchangerebel__recalls_recall",
      "mcp__exchangerebel__recalls_search",
      "mcp__exchangerebel__recalls_vehicle",
      "mcp__exchangerebel__screenshot_render",
      "mcp__exchangerebel__sec_fundamentals",
      "mcp__exchangerebel__secfilings_status",
      "mcp__exchangerebel__short_short",
      "mcp__exchangerebel__toxicity_analyze",
      "mcp__exchangerebel__toxicity_analyze_batch",
      "mcp__exchangerebel__trademarks_case",
      "mcp__exchangerebel__trademarks_search",
      "mcp__exchangerebel__trademarks_watch_changes",
      "mcp__exchangerebel__adc_snapshot_descriptor"
    ],
    "ask": [
      "mcp__exchangerebel__a2a_send",
      "mcp__exchangerebel__access_crawl",
      "mcp__exchangerebel__access_crawl_preflight",
      "mcp__exchangerebel__access_scan",
      "mcp__exchangerebel__access_scan_preflight",
      "mcp__exchangerebel__address_bundle",
      "mcp__exchangerebel__address_leg_nl",
      "mcp__exchangerebel__address_leg_us",
      "mcp__exchangerebel__address_verify",
      "mcp__exchangerebel__anomaly_batch",
      "mcp__exchangerebel__anomaly_detect",
      "mcp__exchangerebel__atlas_changes",
      "mcp__exchangerebel__atlas_record",
      "mcp__exchangerebel__atlas_route",
      "mcp__exchangerebel__batch_score",
      "mcp__exchangerebel__books_author",
      "mcp__exchangerebel__books_isbn",
      "mcp__exchangerebel__books_title",
      "mcp__exchangerebel__books_works",
      "mcp__exchangerebel__bridge_score",
      "mcp__exchangerebel__carbon_intensity_current",
      "mcp__exchangerebel__carbon_intensity_forecast",
      "mcp__exchangerebel__commons_cast_ballot",
      "mcp__exchangerebel__commons_create_post",
      "mcp__exchangerebel__commons_create_proposal",
      "mcp__exchangerebel__commons_set_receipts_opt_in",
      "mcp__exchangerebel__companies_uk_ownership",
      "mcp__exchangerebel__courts_changes",
      "mcp__exchangerebel__courts_court_record",
      "mcp__exchangerebel__courts_disclosure_record",
      "mcp__exchangerebel__courts_judge_record",
      "mcp__exchangerebel__courts_stats",
      "mcp__exchangerebel__cse_declare_index",
      "mcp__exchangerebel__devutils_color_convert",
      "mcp__exchangerebel__devutils_cron_parse",
      "mcp__exchangerebel__devutils_csv_to_json",
      "mcp__exchangerebel__devutils_decode_base64",
      "mcp__exchangerebel__devutils_dns",
      "mcp__exchangerebel__devutils_encode_base64",
      "mcp__exchangerebel__devutils_fx_convert",
      "mcp__exchangerebel__devutils_fx_rates",
      "mcp__exchangerebel__devutils_gen_password",
      "mcp__exchangerebel__devutils_gen_token",
      "mcp__exchangerebel__devutils_gen_uuid",
      "mcp__exchangerebel__devutils_hash_md5",
      "mcp__exchangerebel__devutils_hash_sha256",
      "mcp__exchangerebel__devutils_ip",
      "mcp__exchangerebel__devutils_json_format",
      "mcp__exchangerebel__devutils_jwt_decode",
      "mcp__exchangerebel__devutils_markdown_to_html",
      "mcp__exchangerebel__devutils_qr",
      "mcp__exchangerebel__devutils_rdap",
      "mcp__exchangerebel__devutils_time_convert",
      "mcp__exchangerebel__devutils_time_now",
      "mcp__exchangerebel__devutils_units_convert",
      "mcp__exchangerebel__devutils_useragent_parse",
      "mcp__exchangerebel__discovery_match",
      "mcp__exchangerebel__ema_changes",
      "mcp__exchangerebel__ema_changes_preflight",
      "mcp__exchangerebel__ema_record",
      "mcp__exchangerebel__ema_record_preflight",
      "mcp__exchangerebel__emissions_calculate",
      "mcp__exchangerebel__emissions_calculate_batch",
      "mcp__exchangerebel__etf_distributions_simulate",
      "mcp__exchangerebel__evm_address_verdict",
      "mcp__exchangerebel__evm_transfers",
      "mcp__exchangerebel__evm_tx_decode",
      "mcp__exchangerebel__fact_bank_catalog",
      "mcp__exchangerebel__fact_bank_health",
      "mcp__exchangerebel__fact_bank_tendency",
      "mcp__exchangerebel__fact_bank_tendency_preflight",
      "mcp__exchangerebel__fee_oracle_recipe",
      "mcp__exchangerebel__fees_estimate",
      "mcp__exchangerebel__fleet_kpis",
      "mcp__exchangerebel__fleet_what_changed",
      "mcp__exchangerebel__gdelt_news_clusters",
      "mcp__exchangerebel__gdelt_news_clusters_preflight",
      "mcp__exchangerebel__gdelt_news_crypto",
      "mcp__exchangerebel__gdelt_news_crypto_preflight",
      "mcp__exchangerebel__gdelt_news_enriched_preflight",
      "mcp__exchangerebel__inference_chat",
      "mcp__exchangerebel__macro_bills",
      "mcp__exchangerebel__macro_census_population",
      "mcp__exchangerebel__macro_cpi",
      "mcp__exchangerebel__macro_fed_rate",
      "mcp__exchangerebel__macro_payrolls",
      "mcp__exchangerebel__macro_unemployment",
      "mcp__exchangerebel__nadac_changes",
      "mcp__exchangerebel__nadac_dispersion",
      "mcp__exchangerebel__nadac_fact",
      "mcp__exchangerebel__news_timeline",
      "mcp__exchangerebel__news_trending",
      "mcp__exchangerebel__power_flags_battery",
      "mcp__exchangerebel__power_flags_congestion",
      "mcp__exchangerebel__power_flags_dart",
      "mcp__exchangerebel__power_flags_negative",
      "mcp__exchangerebel__power_scan",
      "mcp__exchangerebel__pubconvert_batch",
      "mcp__exchangerebel__pubconvert_convert",
      "mcp__exchangerebel__pubconvert_verify",
      "mcp__exchangerebel__recalls_changes_since",
      "mcp__exchangerebel__recalls_product_check",
      "mcp__exchangerebel__recalls_watch",
      "mcp__exchangerebel__render_bundle",
      "mcp__exchangerebel__rpc_call",
      "mcp__exchangerebel__screener_quote",
      "mcp__exchangerebel__screener_screen",
      "mcp__exchangerebel__sec_alerts_poll_alerts",
      "mcp__exchangerebel__sec_alerts_register_watch",
      "mcp__exchangerebel__secfilings_changes",
      "mcp__exchangerebel__spend_check",
      "mcp__exchangerebel__stats_indicator",
      "mcp__exchangerebel__stats_trade",
      "mcp__exchangerebel__telegram_provision",
      "mcp__exchangerebel__tokens_score",
      "mcp__exchangerebel__tokens_token",
      "mcp__exchangerebel__trademarks_watch",
      "mcp__exchangerebel__transcribe_audio",
      "mcp__exchangerebel__tron_estimate",
      "mcp__exchangerebel__txcheck_check",
      "mcp__exchangerebel__weather_alerts",
      "mcp__exchangerebel__weather_current",
      "mcp__exchangerebel__weather_forecast",
      "mcp__exchangerebel__wiki_answer",
      "mcp__exchangerebel__wiki_related",
      "mcp__exchangerebel__adc_shortlist",
      "mcp__exchangerebel__adc_verification_report"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as exchangerebel. Review it before you use it.