x402 provider rankings + Ed25519-signed payment receipts + signature verification (3 tools).
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Verify that x402 payments settled on-chain and get cryptographically signed
proof. POST /verify with a receipt ID or raw envelope to confirm Ed25519
signature validity + on-chain settlement on Base, no trust required.
Also routes paid x402 calls with server-side spend caps, idempotency, and a fail-safe paywall (agent isn't charged when the upstream merchant is non-conformant). Non-custodial: TrustBench never holds funds. Every paid call emits an Ed25519-signed receipt verifiable offline against a published public key.
Cross-network: routes Base today, registers Solana endpoints (Heurist Mesh, Pay.sh skills), Solana settlement next.
/rankings once the network
filter is dropped (P4-3a, see phase4-p4-3-timing.md)@trustbench/verify-receiptTrustBench ships a native MCP server so agents in Claude Desktop, Claude Cowork, ChatGPT, or Cherry Studio can look up providers, fetch receipts, and verify signatures without any HTTP-fetch workaround.
Add to claude_desktop_config.json (or your host's equivalent MCP settings file):
Restart the host app after saving. Three tools become available:
rcpt_β¦ / rrcpt_β¦). No API key.Routing tools (route_quote, route_settle) require a tb_live_β¦ API key and ship in the next MCP release. Request access by DM'ing @TrustBench on X.
POST /route at $0.005 per call (score-provider tier); full
tier table at /pricing (HTML for humans,
JSON for agents via Accept: application/json or ?format=json)api.cdp.coinbase.com/platform/v2/x402 (the public x402.org/facilitator
is testnet-only). TrustBench never holds funds; the agent's wallet
signs and the facilitator submits on-chain.TypeScript + Hono (API) + Supabase (Postgres + RLS) + ioredis (Upstash Redis cache) + tsx runtime. Deployed on Railway. Nightly probe pipeline + autonomous X posting via GitHub Actions.
Public (no auth):
GET /health β liveness check for the API itselfGET /rankings?capability=search β ranked providers for a capability (search, inference, data)GET /rankings/paid?capability=search β same as /rankings but with each provider's signed scorecardGET /route?capability=search β current best provider + fallback (legacy read-only β the Phase 3 routing surface is POST /route)GET /mcp/tools β MCP tool descriptor catalog (JSON schema). For native tool use, see the Claude Desktop / MCP section above.GET /analytics β plain HTML dashboardGET /methodology β full description of what the probe does and does not measureGET /skill.md β agent skill file in the agentic.market/skill.md format. Paste into Claude Code, Codex, Gemini CLI, Hermes, Cursor, Claude Desktop, Cherry Studio, or ChatGPT to teach the agent the TrustBench quote/settle flow as an additive policy + receipt layer on top of Coinbase Agentic Wallet.GET /llms.txt β LLM-grounded research summary in llmstxt.org formatGET /pricing β public, honest pricing for paid endpoints. Content-negotiated: HTML for humans, JSON for agents via Accept: application/json or ?format=json. Returns a 7-row tier table with live / planned (v0.2.0) / planned (v0.3.0) status badges per endpoint.GET /.well-known/trustbench.json β machine-readable manifest of TrustBench's public surfaces, capabilities, signing scheme, and discovery references. Includes an endpoints array with paid annotations matching /pricing.GET /.well-known/trustbench-pubkey β Ed25519 public key (PEM) for verifying scorecards and receiptsAuthenticated (Phase 3, in build):
POST /route β quote step. Authorization: Bearer tb_β¦, Idempotency-Key: <16β128 chars>, body {capability, max_price (atomic-unit string), payer_address}. Returns {route_id, payment_required, expires_at, fallback_provider}. Quote validity is 5 minutes; settling after that returns 410.POST /route/settle β settle step. Body {route_id, signature} where signature is the agent's EIP-3009 transferWithAuthorization signature. Returns {response, receipt} plus X-Receipt-Id header. Idempotent on (route_id, signature): replays return x-idempotent-replay: true with the cached receipt and never re-call the merchant.GET /receipts/:id β public, no-auth, immutable. Returns the exact signed envelope ({receipt, signature}) that was issued. Cache-Control: public, max-age=86400, immutable.Receipts are Ed25519-signed over the JCS-canonicalized form of envelope.receipt. The signature block (including public_key_url) is detached and not part of the signed bytes, so it can be overridden at verification time without invalidating the chain of trust.
Reference verifier: scripts/verify-receipt.js.
TrustBench down β payments down. This is an architectural property, not a feature flag.
The agent's payment authorization is an EIP-3009 signature it produces with its own key. The merchant accepts that signature and submits the on-chain transaction. TrustBench sits between them as a router and audit layer β it constructs the quote and records the result, but it never holds funds, never signs the payment, and never broadcasts the transaction.
If the TrustBench API is unavailable, an agent can still:
/.well-known/trustbench-pubkey).What it temporarily loses while the API is down:
Existing receipts remain verifiable β the public key and JCS canonicalization rules are stable, and the receipt's audit_url is a hint, not a dependency.
POST /route is paywalled when TRUSTBENCH_PAYWALL_ENABLED=true on the deployment. The flow is x402-native end-to-end:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/trustbench)<a href="https://allmcps.com/mcp/trustbench"><img src="https://allmcps.com/api/badge/trustbench?style=directory" alt="TrustBench on AllMCPs" /></a>