Settled
Check x402 endpoints before your agent pays: payTo, paid test purchases, payee and buyer reports
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"settled": {
"command": "npx",
"args": [
"settled-x402"
]
}
}
}Paquetes ejecutables
0.2.1stdioPuntos de conexión remotos
https://settled.tools/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (18)
🟢settled_status
Free. 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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"service": {
"description": "Always Settled"
},
"version": {
"description": "Settled's software version"
},
"network": {
"description": "Network Settled's own paid routes settle on (CAIP-2)"
},
"endpoints_tracked": {
"description": "Number of x402 endpoints Settled tracks"
},
"endpoints_probed": {
"description": "How many have been probed"
},
"by_status": {
"description": "Endpoint counts by status (live, dead, ...)"
},
"live_share_of_probed": {
"description": "Percentage of probed endpoints that are live"
},
"total_probes": {
"description": "Probes run so far"
},
"last_probe_at": {
"description": "When the latest probe ran"
},
"sources": {
"description": "Discovery sources and how far each import has got"
},
"onchain_ledger": {
"description": "Coverage of Settled's on-chain settlement ledger"
},
"scout": {
"description": "Totals for the scout's paid test purchases"
},
"settlement_7d": {
"description": "USDC settled to tracked sellers in the last 7 days"
},
"prices_usd": {
"description": "Prices of Settled's paid routes, in USD"
},
"mcp": {
"description": "This MCP server's URL"
},
"docs": {
"description": "Where the docs are"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_peek(url)
Free, 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.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Full URL of the x402 endpoint, e.g. https://api.example.com/search"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"url": {
"description": "The endpoint"
},
"status": {
"description": "Endpoint status, e.g. live, degraded, dead, free, auth_gated, not_found or quote_invalid"
},
"quality": {
"description": "Quality score 0-100"
},
"last_probe_at": {
"description": "When Settled last probed it"
},
"seller_claimed": {
"description": "Whether the seller has claimed it"
},
"detail": {
"description": "Where to get the full check"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟡settled_submit(url)
Free, 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.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Full URL of an x402 endpoint to add to Settled's index"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"description": "true when accepted"
},
"queued": {
"description": "true when queued for its first probe"
},
"already_indexed": {
"description": "true when Settled already tracks it"
},
"status": {
"description": "Its current status, if already indexed"
},
"next_check_at": {
"description": "When it will next be probed"
},
"hint": {
"description": "What to call next"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_report(url, tx, ok, signature)
Free. 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.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The x402 endpoint you paid"
},
"tx": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "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...c21e"
},
"ok": {
"type": "boolean",
"description": "true if the call delivered what you paid for, false if it did not"
},
"signature": {
"description": "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",
"type": "string",
"pattern": "^0x[0-9a-fA-F]{130}$"
}
},
"required": [
"url",
"tx",
"ok"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"error": {
"description": "signature_required when no signature was given (sign message_to_sign and call again), or why the report was refused"
},
"message_to_sign": {
"description": "The exact message to sign with the paying wallet"
},
"accepted": {
"description": "true once the report is recorded"
},
"url": {
"description": "The endpoint"
},
"ok": {
"description": "Your verdict, as recorded"
},
"paid_usd": {
"description": "What your transaction paid the endpoint, in USD"
},
"paid_at": {
"description": "When your payment was made"
},
"reports": {
"description": "This endpoint's report tallies"
},
"privacy": {
"description": "What Settled keeps about you"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_sellers(limit, offset)
Free. 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.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "How many sellers to return, 1-50 (default 25)",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"offset": {
"description": "How many sellers to skip, for paging (default 0)",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"total": {
"description": "Total claimed sellers"
},
"limit": {
"description": "Page size used"
},
"offset": {
"description": "Offset used"
},
"sellers": {
"description": "Claimed sellers with their profile and endpoint counts"
},
"note": {
"description": "What a claim proves"
},
"generated_at": {
"description": "When this list was built"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟡settled_claim(wallet, name, website, contact, docs, ...)
Free. 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.
Esquema de entrada
{
"type": "object",
"properties": {
"wallet": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "The payTo wallet your endpoints are paid to: 0x + 40 hex characters on Base, or a base58 address on Solana"
},
"name": {
"description": "Seller name to show on your endpoints, up to 80 characters, e.g. Acme Data",
"type": "string",
"maxLength": 80
},
"website": {
"description": "Your website, as a full https URL",
"type": "string",
"format": "uri"
},
"contact": {
"description": "How buyers can reach you, e.g. [email protected] or @handle on X",
"type": "string",
"maxLength": 120
},
"docs": {
"description": "Your API documentation, as a full https URL",
"type": "string",
"format": "uri"
},
"action": {
"description": "claim (default) or remove to withdraw an existing claim",
"type": "string",
"enum": [
"claim",
"remove"
]
},
"issued_at": {
"description": "The issued_at timestamp returned by the first call; send it back unchanged with the signature",
"type": "string"
},
"signature": {
"description": "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",
"type": "string"
}
},
"required": [
"wallet"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"error": {
"description": "signature_required on the first call (sign message_to_sign and call again), or why the claim was refused"
},
"message_to_sign": {
"description": "The exact message to sign with the wallet"
},
"issued_at": {
"description": "Timestamp to send back with the signature"
},
"would_cover": {
"description": "The endpoints and hosts the claim would cover"
},
"claimed": {
"description": "true once the claim is recorded"
},
"removed": {
"description": "true once a claim is withdrawn"
},
"wallet": {
"description": "The wallet"
},
"network": {
"description": "The wallet's network"
},
"profile": {
"description": "The published profile: name, website, contact, docs"
},
"covers": {
"description": "The endpoints and hosts the claim covers"
},
"note": {
"description": "What the claim does"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_preflight(url, force, pass)
Pass 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.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Full URL of the x402 endpoint, e.g. https://api.example.com/search"
},
"force": {
"description": "true to probe the endpoint now instead of reusing a result up to 5 minutes old",
"type": "boolean"
},
"pass": {
"description": "Settled day pass token, if you did not send it as the x-settled-pass header",
"type": "string"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"url": {
"description": "The endpoint"
},
"recommendation": {
"description": "pay, caution or avoid"
},
"reasons": {
"description": "Why, in plain words"
},
"liveness": {
"description": "Fresh probe results"
},
"quote": {
"description": "The parsed 402 quote Settled sees: network, asset, price_usd, pay_to"
},
"payability": {
"description": "Payability verdict and the verb that pays"
},
"payee": {
"description": "Whether the payTo exists on-chain, and the seller's other endpoints and settlement integrity"
},
"delivery": {
"description": "The scout's last real purchase and whether it matched the listing"
},
"reports": {
"description": "Paying agents' reports"
},
"honeypot": {
"description": "Honeypot scan of the listing text"
},
"flags": {
"description": "Risk flags"
},
"seller_claim": {
"description": "The seller's claim and profile, if claimed"
},
"quality": {
"description": "Quality score breakdown"
},
"onchain": {
"description": "Settlements and unique payers over the last 30 days"
},
"description": {
"description": "The listing's description"
},
"checked_at": {
"description": "When this check ran"
},
"cached": {
"description": "Whether the probe came from Settled's 5-minute cache"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_check(url, force, pass)
Free up to 300 calls/day per client (a pass lifts the cap). 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.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Full URL of the x402 endpoint, e.g. https://api.example.com/search"
},
"force": {
"description": "true to probe now instead of using the 5-minute cache; needs a pass",
"type": "boolean"
},
"pass": {
"description": "Settled day pass token: lifts the free daily cap; or send it as the x-settled-pass header",
"type": "string"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"url": {
"description": "The endpoint"
},
"status": {
"description": "Endpoint status, e.g. live, degraded, dead, free, auth_gated, not_found or quote_invalid"
},
"payability": {
"description": "Payability verdict and the verb that pays"
},
"price_usd": {
"description": "Price per call in USD (cheapest option)"
},
"network": {
"description": "Network of the cheapest option (CAIP-2)"
},
"asset": {
"description": "Asset of the cheapest option"
},
"pay_to": {
"description": "The payTo Settled's probe sees; compare it with the quote you are about to pay"
},
"payee": {
"description": "Whether the payTo has on-chain history"
},
"delivery_verified": {
"description": "Whether a real payment by Settled's scout came back with content"
},
"delivery_receipt": {
"description": "The scout's last purchase, with its settlement transaction and checks (when the scout has bought it)"
},
"last_delivery_at": {
"description": "When the scout last bought it"
},
"onchain": {
"description": "Settlements and unique payers over the last 30 days"
},
"reports": {
"description": "Paying agents' reports"
},
"flags": {
"description": "Risk flags"
},
"quality": {
"description": "Quality score breakdown"
},
"seller_claim": {
"description": "The seller's claim and profile, if claimed"
},
"x402_version": {
"description": "x402 version of the quote"
},
"scheme": {
"description": "Payment scheme, e.g. exact"
},
"network_name": {
"description": "Readable network name"
},
"latency_ms": {
"description": "Latency of the latest probe"
},
"http_status_last": {
"description": "HTTP status of the latest probe"
},
"first_seen": {
"description": "When Settled first saw it"
},
"last_probe_at": {
"description": "When Settled last probed it"
},
"last_ok_at": {
"description": "When it last answered with a valid quote"
},
"description": {
"description": "The listing's description"
},
"service_name": {
"description": "The listing's service name"
},
"checked_at": {
"description": "When this answer was built"
},
"cached": {
"description": "Whether this came from Settled's 5-minute cache"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_find_endpoints(q, network, max_price, status, sort, ...)
Free up to 300 calls/day per client (a pass lifts the cap). 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.
Esquema de entrada
{
"type": "object",
"properties": {
"q": {
"description": "Keywords to match in endpoint names, descriptions and URLs, e.g. weather or gift cards",
"type": "string"
},
"network": {
"description": "Only endpoints on this network, as a CAIP-2 id, e.g. eip155:8453 for Base",
"type": "string"
},
"max_price": {
"description": "Highest price per call in USD, e.g. 0.01",
"type": "number",
"minimum": 0
},
"status": {
"description": "Only endpoints with this status; live (default) or any for every status",
"type": "string",
"enum": [
"live",
"degraded",
"dead",
"free",
"auth_gated",
"not_found",
"quote_invalid",
"unknown",
"any"
]
},
"sort": {
"description": "Order of results: quality (default), price, latency or payers",
"type": "string",
"enum": [
"quality",
"price",
"latency",
"payers"
]
},
"limit": {
"description": "How many endpoints to return, 1-50 (default 20)",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"pass": {
"description": "Settled day pass token: lifts the free daily cap; or send it as the x-settled-pass header",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"count": {
"description": "Number of endpoints returned"
},
"filters": {
"description": "The filters applied"
},
"items": {
"description": "Ranked endpoints, each with payability and delivery status"
},
"generated_at": {
"description": "When this list was built"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_seller_reputation(address, pass)
Pass 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.
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "The payTo address from a 402 quote: 0x followed by 40 hex characters (Base)"
},
"pass": {
"description": "Settled day pass token, if you did not send it as the x-settled-pass header",
"type": "string"
}
},
"required": [
"address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"address": {
"description": "The payTo address"
},
"endpoints": {
"description": "Endpoints paid to it"
},
"live": {
"description": "How many are live"
},
"dead": {
"description": "How many are dead"
},
"hosts": {
"description": "Hosts serving them"
},
"first_seen": {
"description": "When Settled first saw one"
},
"price_range_usd": {
"description": "Lowest and highest price"
},
"flags": {
"description": "Seller flags such as clone_farm or quote_only"
},
"top_endpoints": {
"description": "Its main endpoints"
},
"onchain": {
"description": "On-chain settlements and unique payers"
},
"settlement_integrity": {
"description": "Whether paid activity looks organic or self-generated"
},
"claim": {
"description": "The seller's claim and profile, if claimed"
},
"generated_at": {
"description": "When this answer was built"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_income_venues
Free. 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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"count": {
"description": "Number of venues"
},
"venues": {
"description": "Each venue with its verdict, agent policy, gating, open listings and on-chain payouts"
},
"verdict_vocabulary": {
"description": "The possible verdicts"
},
"generated_at": {
"description": "When this list was built"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_income_listings(venue, rail, agent_access, min_reward, include_honeypots, ...)
Pass 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.
Esquema de entrada
{
"type": "object",
"properties": {
"venue": {
"description": "Only listings from this venue, by its slug from settled_income_venues, e.g. superteam-earn",
"type": "string",
"pattern": "^[a-z0-9-]{2,40}$"
},
"rail": {
"description": "Only listings paid on this rail, e.g. usdc-base",
"type": "string",
"enum": [
"usdc-base",
"usdc-solana",
"crypto",
"fiat",
"mixed",
"unknown"
]
},
"agent_access": {
"description": "allowed (default) for listings agents may take, or any to include human-only ones",
"type": "string",
"enum": [
"allowed",
"any"
]
},
"min_reward": {
"description": "Smallest reward to include, in USD, e.g. 50",
"type": "number",
"minimum": 0
},
"include_honeypots": {
"description": "true to include suspected honeypots and dead listings",
"type": "boolean"
},
"sort": {
"description": "Order of results: trust (default), reward or recent",
"type": "string",
"enum": [
"trust",
"reward",
"recent"
]
},
"limit": {
"description": "How many listings to return, 1-50 (default 20)",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"pass": {
"description": "Settled day pass token, if you did not send it as the x-settled-pass header",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"count": {
"description": "Number of listings returned"
},
"filters": {
"description": "The filters applied"
},
"items": {
"description": "Open bounties and tasks with reward, agent access, gating, honeypot flags, trust score and the venue's payout record"
},
"label_vocabulary": {
"description": "The possible listing labels"
},
"generated_at": {
"description": "When this list was built"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_income_check(url, pass)
Pass 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.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL of the bounty issue, repository or listing page to scan"
},
"pass": {
"description": "Settled day pass token, if you did not send it as the x-settled-pass header",
"type": "string"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"url": {
"description": "The page scanned"
},
"scanned_at": {
"description": "When the scan ran"
},
"source": {
"description": "What was scanned, e.g. page_text"
},
"trust": {
"description": "Trust score 0-100"
},
"label": {
"description": "verified_paying, unverified, gated, suspected_honeypot, dead or closed_to_agents"
},
"flags": {
"description": "Every flag found, with its reason"
},
"repo": {
"description": "Repository facts, for GitHub links"
},
"indexed": {
"description": "Settled's listing for this URL, if it has one"
},
"note": {
"description": "How to read the result"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_events(limit, pass)
Free up to 300 calls/day per client. 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.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "How many events to return, newest first, 1-200 (default 50)",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"pass": {
"description": "Settled day pass token: lifts the free daily cap; or send it as the x-settled-pass header",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"count": {
"description": "Number of events returned"
},
"events": {
"description": "Changes newest first: venue verdict flips, new suspected honeypots, settlement-integrity changes"
},
"generated_at": {
"description": "When this list was built"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_watch(url, webhook, watch_id)
Paid: $1.00 USDC on Base over x402 inside MCP (the first call returns the payment requirements; @x402/mcp clients pay automatically). Buys 10 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.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"description": "The x402 endpoint to watch, e.g. https://api.example.com/search; required unless watch_id is given",
"type": "string",
"format": "uri"
},
"webhook": {
"description": "https URL that receives each alert as a signed POST; omit to poll with settled_watch_alerts",
"type": "string",
"format": "uri"
},
"watch_id": {
"description": "The watch_id of an existing watch to renew for 10 more days; give this or url, not both",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"watch_id": {
"description": "The watch's id: keep it to read alerts and to renew"
},
"url": {
"description": "The watched endpoint"
},
"delivery": {
"description": "webhook or poll"
},
"webhook_host": {
"description": "Host the alerts are POSTed to, if a webhook was given"
},
"status": {
"description": "active or expired"
},
"created_at": {
"description": "When the watch started"
},
"expires_at": {
"description": "When it ends unless renewed"
},
"baseline": {
"description": "The endpoint's state when the watch started"
},
"alerts": {
"description": "URL of the alerts feed"
},
"manage": {
"description": "URL of the watch"
},
"alert_format": {
"description": "What an alert contains"
},
"renewed": {
"description": "true when this call renewed an existing watch"
},
"note": {
"description": "What happens next"
},
"x402Version": {
"description": "Present when payment is needed: the x402 version of the requirements"
},
"accepts": {
"description": "Present when payment is needed: the x402 payment requirements; pay one and call again with the payment in _meta"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_watch_alerts(watch_id, since, limit)
Free. 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.
Esquema de entrada
{
"type": "object",
"properties": {
"watch_id": {
"type": "string",
"minLength": 8,
"description": "The watch_id returned by settled_watch when the Watchdog was bought"
},
"since": {
"description": "Return alerts with an id above this; pass next_since from your last call, or 0 for all",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Most alerts to return, 1-100 (default 50)",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"watch_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"watch_id": {
"description": "The watch"
},
"url": {
"description": "The watched endpoint"
},
"status": {
"description": "active or expired"
},
"expires_at": {
"description": "When the watch ends unless renewed"
},
"delivery": {
"description": "webhook or poll"
},
"endpoint_now": {
"description": "The endpoint's state now: status, payability, price, payTo, last probe"
},
"alerts": {
"description": "Alerts since the given id, oldest first: each change to status, payability, price or payTo"
},
"next_since": {
"description": "Pass this as since on your next call"
},
"more": {
"description": "true when more alerts are waiting"
},
"how": {
"description": "How to poll"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_weekly_report
Free. 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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"kind": {
"description": "Always weekly"
},
"key": {
"description": "The report's key, e.g. weekly:2026-W40"
},
"week": {
"description": "ISO week of the report"
},
"window": {
"description": "The 7 days covered"
},
"generated_at": {
"description": "When it was built"
},
"venues": {
"description": "Venues that paid agents on-chain"
},
"listings": {
"description": "Listings and honeypots"
},
"endpoints": {
"description": "x402 index health"
},
"settlements": {
"description": "On-chain settlement totals"
},
"links": {
"description": "Where the report is published"
},
"error": {
"description": "Present only when the call failed or needs another step: an error code such as pass_required, next to the fields that explain it"
},
"attested_at": {
"description": "When Settled signed this answer (ISO 8601)"
},
"attestation": {
"description": "EIP-191 signature over the answer; verify it with settled_verify or any EVM library"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢settled_verify(document)
Free. 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.
Esquema de entrada
{
"type": "object",
"properties": {
"document": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "A complete signed Settled answer, including its attestation block"
}
},
"required": [
"document"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"valid": {
"description": "true when the hash matches and the signer is Settled's published key"
},
"reason": {
"description": "Why it is not valid"
},
"hash": {
"description": "Hash recomputed from the document"
},
"hash_matches": {
"description": "Whether it matches the signed hash"
},
"signer_recovered": {
"description": "Address recovered from the signature"
},
"signer_published": {
"description": "Settled's published signing address"
},
"signer_matches": {
"description": "Whether the two addresses match"
},
"attested_at": {
"description": "When the document was signed"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}Comunidad
Evidencia