Settled
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Check x402 endpoints before your agent pays: payTo, paid test purchases, payee and buyer reports
| Author | tools.settled |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 3031 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Settled": {
"url": "https://settled.tools/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (18)
settled_statusread-onlyFree. Size and freshness of the x402 endpoint index and the on-chain ledger. Use when: you need to know how current Settled’s data is, or what the paid routes cost, before relying on any other tool. Not for: looking up a specific endpoint (use settled_check). No input.
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_peekread-onlyFree, rate-limited. Coarse status and quality score for one x402 endpoint URL, from the index only (no fresh probe). Use when: you only need a quick yes/no on whether Settled knows the URL and its last status. Not for: deciding whether to pay — use settled_check (free, fuller) or settled_preflight (paid, fresh). If the URL is unknown, call settled_submit, then check again later.
Parameters:
url(required) — string — Full URL of the x402 endpoint, e.g. https://api.example.com/search
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_submitFree, rate-limited. Queue an x402 endpoint URL for indexing. Use when: settled_check or settled_peek reports the URL as unknown or not indexed. Not for: URLs already indexed (it just returns their status) or non-x402 URLs. After: wait a few minutes, then call settled_check; the first probe runs within minutes. Idempotent.
Parameters:
url(required) — string — Full URL of an x402 endpoint to add to Settled's index
Hints: read-only no · destructive no · idempotent yes · open-world yes
settled_reportFree. After paying an x402 endpoint on Base, tell Settled whether you got what you paid for. Use when: your agent has just made a real USDC payment and has the transaction hash. Not for: endpoints you did not pay, or payments on other chains. Flow: call without signature to get message_to_sign; sign it with the paying wallet (EIP-191 personal_sign); call again with signature. One report per payment, one vote per wallet per endpoint; Settled keeps only per-endpoint tallies.
Parameters:
url(required) — string — The x402 endpoint you paidtx(required) — string — Transaction hash of your USDC payment to that endpoint on Base, from the last 30 days: 0x followed by 64 hex characters, e.g. 0x3f9a...c21eok(required) — boolean — true if the call delivered what you paid for, false if it did notsignature— string — EIP-191 personal_sign of message_to_sign by the wallet that paid (0x + 130 hex characters); omit on the first call to get message_to_sign
Hints: read-only no · destructive no · idempotent yes · open-world no
settled_sellersread-onlyFree. Sellers who proved control of the wallet their x402 endpoints are paid to, with their published profile and endpoint counts. Use when: you want a contact or docs link for a seller, or to see which sellers stand behind their endpoints. Not for: judging an endpoint’s quality (claims never change scores; use settled_check). Paged: limit (max 50) and offset, with a total.
Parameters:
limit— integer — How many sellers to return, 1-50 (default 25)offset— integer — How many sellers to skip, for paging (default 0)
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_claimFree. For sellers: claim every x402 endpoint paid to your wallet with one signature, on every host, so your name, website, contact and docs show next to them (plus a 10-day Seller Watch trial). Use when: you operate x402 endpoints. Not for: buyers or third parties; only the payTo wallet can sign. Flow: call with wallet and profile to get message_to_sign and issued_at; sign with that wallet; call again with issued_at and signature. action=remove withdraws a claim (reversible by claiming again). Claims never change scores.
Parameters:
wallet(required) — string — The payTo wallet your endpoints are paid to: 0x + 40 hex characters on Base, or a base58 address on Solanadocs— string — Your API documentation, as a full https URLname— string — Seller name to show on your endpoints, up to 80 characters, e.g. Acme Dataaction— string — claim (default) or remove to withdraw an existing claimcontact— string — How buyers can reach you, e.g. [email protected] or @handle on Xwebsite— string — Your website, as a full https URLissued_at— string — The issued_at timestamp returned by the first call; send it back unchanged with the signaturesignature— string — Signature of message_to_sign by the wallet: EIP-191 personal_sign (0x hex) on Base, ed25519 (base58) on Solana; omit on the first call
Hints: read-only no · destructive no · idempotent yes · open-world no
settled_preflightread-onlyPass required. The call to make right before paying an unfamiliar x402 endpoint: a fresh probe, parsed quote, payability, payTo on-chain history, seller integrity, the scout’s real-payment delivery result and a honeypot scan, as one signed answer with a recommendation (pay, caution or avoid) and reasons. Use when: real money is about to leave your wallet and settled_check was stale or not enough. Not for: browsing (settled_find_endpoints) or endpoints you already verified. After: compare pay_to and price with the 402 you receive, pay, then call settled_report.
Parameters:
url(required) — string — Full URL of the x402 endpoint, e.g. https://api.example.com/searchpass— string — Settled day pass token, if you did not send it as the x-settled-pass headerforce— boolean — true to probe the endpoint now instead of reusing a result up to 5 minutes old
Hints: read-only yes · destructive no · idempotent yes · open-world yes
settled_checkread-onlyFree: 25 calls/day per address, 300 with a payer record (free, keyed to your wallet), no daily cap with a pass. Check an x402 endpoint before paying it, from Settled’s index (cached up to 5 min): status, payability, latency, parsed price/network/payTo, payee on-chain history, the scout’s last real purchase, paying agents’ reports, seller claim, quality breakdown and risk flags. Use when: deciding whether to call an endpoint, and for routine re-checks. Not for: a fresh probe right now (settled_preflight) or searching (settled_find_endpoints). If status is unknown, call settled_submit; after paying, call settled_report.
Parameters:
url(required) — string — Full URL of the x402 endpoint, e.g. https://api.example.com/searchpass— string — Settled day pass token: lifts the free daily cap; or send it as the x-settled-pass headerforce— boolean — true to probe now instead of using the 5-minute cache; needs a passpayer_token— string — A Settled payer token (x4t_…, from POST /x401/token with your payer record): the free tier then follows your wallet, 300 a day, through any gateway
Hints: read-only yes · destructive no · idempotent yes · open-world yes
settled_find_endpointsread-onlyFree up to 50 calls/day per client (a pass allows 1,000). Ranked live endpoints by keyword, network and max price (sort by quality, price, latency or payers), each with payability and delivery verification. Use when: you need an x402 endpoint for a capability and want candidates that are live, payable and, where possible, proven to deliver. Not for: verifying one known URL (settled_check). After: run settled_check or settled_preflight on the one you pick before paying.
Parameters:
q— string — Keywords to match in endpoint names, descriptions and URLs, e.g. weather or gift cardspass— string — Settled day pass token: lifts the free daily cap; or send it as the x-settled-pass headersort— string — Order of results: quality (default), price, latency or payerslimit— integer — How many endpoints to return, 1-50 (default 20)status— string — Only endpoints with this status; live (default) or any for every statusnetwork— string — Only endpoints on this network, as a CAIP-2 id, e.g. eip155:8453 for Basemax_price— number — Highest price per call in USD, e.g. 0.01payer_token— string — A Settled payer token (x4t_…, from POST /x401/token with your payer record): the free tier then follows your wallet, 300 a day, through any gateway
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_seller_reputationread-onlyPass required. Everything Settled knows about one payTo address: the endpoints it is paid for, live/dead counts, price range, clone-farm and quote-only flags, on-chain settlements and unique payers. Use when: several endpoints share a seller and you want to judge the seller rather than one URL, or a payTo looks unfamiliar. Not for: a single endpoint’s status (settled_check). Input is the wallet address from a 402 quote.
Parameters:
address(required) — string — The payTo address from a 402 quote: 0x followed by 40 hex characters (Base)pass— string — Settled day pass token, if you did not send it as the x-settled-pass header
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_income_venuesread-onlyFree. Scorecard of bounty boards, task markets, audit contests and the x402 sell-side: verdict (paying / paying small / measuring / no payouts seen / unmeasured / closed to agents / defunct), agent policy, gating (KYC, human claim, self-custody wallet), open listings and on-chain payouts. Use when: choosing where an agent should look for paid work, or checking whether a venue actually pays. Not for: individual listings (settled_income_listings) or x402 endpoints (settled_find_endpoints). Poll settled_events for changes instead of re-reading this.
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_income_listingsread-onlyPass required. Open bounties and tasks an agent can actually work on, from sanctioned venue APIs, each with reward, agent-access policy, gating, honeypot scan flags with reasons, a trust score and the venue’s on-chain payout record. Use when: an agent is looking for work it is allowed to do. Not for: venue-level questions (settled_income_venues). Suspected honeypots, dead and human-only listings are excluded unless include_honeypots is true. Before working one, run settled_income_check on its URL.
Parameters:
pass— string — Settled day pass token, if you did not send it as the x-settled-pass headerrail— string — Only listings paid on this rail, e.g. usdc-basesort— string — Order of results: trust (default), reward or recentlimit— integer — How many listings to return, 1-50 (default 20)venue— string — Only listings from this venue, by its slug from settled_income_venues, e.g. superteam-earnmin_reward— number — Smallest reward to include, in USD, e.g. 50agent_access— string — allowed (default) for listings agents may take, or any to include human-only onesinclude_honeypots— boolean — true to include suspected honeypots and dead listings
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_income_checkread-onlyPass required. Fetches a bounty issue, repository or listing page and scans it for patterns used to bait agents (hidden HTML-comment instructions, prompt injection, credential requests, fork/star anomalies, dead or archived repos, reward anomalies). Returns trust, label and every flag with its reason. Use when: about to work on an unfamiliar bounty or task, especially one not in settled_income_listings. Not for: x402 API endpoints (settled_check). Treat a suspected_honeypot label as do-not-work; a clean result is not a promise of payment.
Parameters:
url(required) — string — URL of the bounty issue, repository or listing page to scanpass— string — Settled day pass token, if you did not send it as the x-settled-pass header
Hints: read-only yes · destructive no · idempotent yes · open-world yes
settled_eventsread-onlyFree: 25 calls/day per address, 300 with a payer record, no daily cap with a pass. Recent changes worth acting on: venue verdict flips, new suspected honeypots, settlement-integrity changes, newest first. Use when: your agent runs on a schedule and wants to react to what changed since last time. Not for: the full picture (settled_income_venues) or endpoint-level changes (settled_watch). Poll this instead of re-reading the scorecard.
Parameters:
pass— string — Settled day pass token: lifts the free daily cap; or send it as the x-settled-pass headerlimit— integer — How many events to return, newest first, 1-200 (default 50)payer_token— string — A Settled payer token (x4t_…, from POST /x401/token with your payer record): the free tier then follows your wallet, 300 a day, through any gateway
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_watchPaid: $2.00 USDC on Base over x402 inside MCP (the first call returns the payment requirements; @x402/mcp clients pay automatically). Buys 30 days of monitoring for one x402 endpoint: probed about every 15 minutes, with a signed alert whenever status, payability, price or payTo changes. Use when: your agent depends on one endpoint and must learn quickly if it changes. Not for: one-off checks (settled_check). Give url to start or watch_id to renew; give webhook to have alerts POSTed, else read them with settled_watch_alerts. Returns watch_id.
Parameters:
url— string — The x402 endpoint to watch, e.g. https://api.example.com/search; required unless watch_id is givenwebhook— string — https URL that receives each alert as a signed POST; omit to poll with settled_watch_alertswatch_id— string — The watch_id of an existing watch to renew for 30 more days; give this or url, not both
Hints: read-only no · destructive no · idempotent no · open-world yes
settled_watch_alertsread-onlyFree. Everything a Watchdog has recorded for its endpoint since a given alert id: each change to status, payability, price or payTo, the endpoint’s state now, and next_since to pass on the next call. Use when: you created a watch with settled_watch and did not give a webhook. Not for: endpoints without a watch (use settled_check). Poll it whenever your agent runs; the endpoint is probed about every 15 minutes.
Parameters:
watch_id(required) — string — The watch_id returned by settled_watch when the Watchdog was boughtlimit— integer — Most alerts to return, 1-100 (default 50)since— integer — Return alerts with an id above this; pass next_since from your last call, or 0 for all
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_weekly_reportread-onlyFree. The latest published Agent Income Report as JSON: which venues paid agents on-chain, worker wallets, honeypots flagged, x402 index health. Use when: you want the week’s summary, for a digest or a decision about where to look for work. Not for: live numbers (settled_status, settled_income_venues). Published Mondays; the window and ledger coverage are in the body.
Hints: read-only yes · destructive no · idempotent yes · open-world no
settled_verifyread-onlyFree. Pass any signed Settled response (attestation included) to recompute its hash and recover the signer; tells you whether it is authentic and unaltered. Use when: a Settled answer reached you through a third party, a cache or a log and you need to trust it. Not for: answers you just received directly over this server (already signed and fresh). Use the full response object, unchanged.
Parameters:
document(required) — object — A complete signed Settled answer, including its attestation block
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.