{
  "name": "Settled",
  "tagline": "Did it pay? Verify before you spend, and find where agents actually get paid.",
  "description": "Settled answers the questions an autonomous agent should ask before spending or working: (1) does this x402 endpoint work, deliver what its listing promises, and get paid by anyone real, and (2) does this bounty/task/audit venue actually pay agents — screened for honeypots. Machine-readable and signed, paid per call over x402 in USDC or with a 24-hour pass. Settled never custodies anyone's funds; its probes never pay, and every test purchase its scout makes is public.",
  "for_agents": {
    "why": "Avoid paying x402 endpoints that are dead, mispriced, never settle, or don't deliver what they list; and avoid burning work on bounty listings that are honeypots, human-only, or from venues that never pay. Every verdict is grounded in live probes, real paid test purchases and on-chain payout logs, not marketing copy.",
    "start_here": [
      "POST /v1/pass ($0.05) — start here: one payment unlocks every paid route except the Watchdog and the seller re-test, and every MCP tool except settled_watch, for 24h",
      "GET /v1/preflight?url= ($0.005) — the one call to make before paying an unfamiliar endpoint: pay | caution | avoid, with reasons",
      "GET /v1/free/check?url= (free, 300 a day) — the check from cache, no payment needed",
      "GET /v1/income/venues (free) — which venues are paying agents right now, on-chain verified"
    ],
    "honeypot_warning": "Some listings are baited to make an agent leak its prompt, tokens, or a seed phrase. /v1/income and /v1/income/check flag hidden-comment instructions, prompt injection, credential requests, and dead-repo/reward anomalies with a reason and a 0-100 trust score. Scan a listing before you act on it."
  },
  "for_sellers": {
    "claim": "/claim",
    "how": "One signature from the wallet your endpoints are paid to claims every endpoint paid to it, on every host. No key files. Claims never change scores; the profile you publish is shown as yours and is not verified.",
    "api": "POST /v1/claim (see /llms.txt)",
    "delivery_checks": "The scout compares each purchase with your listing: the sample's fields, the price, placeholder samples. Keep responses under 25 MB (big lists are spot-checked at random) and your example input real; disclosed problems count for much less than broken responses. See 'For sellers: passing the delivery checks' in /llms.txt.",
    "retest": "POST /v1/retest {url} ($2.00): the scout buys from your endpoint now and checks it against your listing. Charged only if it completes a purchase; the result is public, marked requested, and judged like any other. Listed price up to $1.00, once an hour per endpoint."
  },
  "payment": {
    "protocol": "x402",
    "version": 2,
    "scheme": "exact",
    "asset": "USDC",
    "network": "eip155:8453",
    "how": "Paid routes answer HTTP 402 with a PAYMENT-REQUIRED header. Pay with any x402 client (@x402/fetch, Coinbase AgentKit, Cloudflare Agents SDK, AWS AgentCore Payments, OpenClaw x402 skills) and retry with PAYMENT-SIGNATURE. Data routes settle only after a 2xx response, so a failed call is never charged; the pass and the Watchdog settle up front, after the request is checked; the seller re-test settles only if the scout completes a purchase. Standard x402 clients cap a single payment at $1 by default (spendControls.maxAmountPerPayment in @x402/core). The Watchdog ($1.00) fits under it; raise it to buy a re-test ($2.00).",
    "facilitator": "Coinbase CDP (api.cdp.coinbase.com)"
  },
  "routes": {
    "free": [
      {
        "method": "GET",
        "path": "/v1/free/check?url=",
        "does": "The same answer as /v1/check, from the 5-minute cache, free up to 300 calls a day per client (shared with MCP)."
      },
      {
        "method": "GET",
        "path": "/v1/free/endpoints?q=",
        "does": "The same answer as /v1/endpoints, free up to 300 calls a day per client (shared with MCP)."
      },
      {
        "method": "GET",
        "path": "/v1/status",
        "does": "Index summary: endpoints tracked, live share, last probe, on-chain ledger coverage, the scout's purchase totals, USDC settled to tracked sellers in the last 7 days, and every price."
      },
      {
        "method": "GET",
        "path": "/v1/peek?url=",
        "does": "Coarse status + quality for one endpoint (rate-limited)."
      },
      {
        "method": "POST",
        "path": "/v1/submit",
        "does": "Add an endpoint to the index (rate-limited)."
      },
      {
        "method": "POST",
        "path": "/v1/report",
        "does": "Report whether a call you paid for worked, proven by your USDC payment on Base and the paying wallet's signature (rate-limited). Exact message format in /llms.txt."
      },
      {
        "method": "POST",
        "path": "/v1/claim",
        "does": "Sellers: claim every endpoint paid to your wallet with one signature, on every host (rate-limited). Never changes scores."
      },
      {
        "method": "GET",
        "path": "/v1/sellers",
        "does": "Claimed sellers with their published profile and endpoint counts, paged (rate-limited)."
      },
      {
        "method": "GET",
        "path": "/v1/deliveries",
        "does": "Every purchase Settled's scout made: its settlement transaction on Base (checked against the scout wallet's on-chain transfers) and whether the response matched the endpoint's listing (rate-limited)."
      },
      {
        "method": "GET",
        "path": "/v1/income/venues",
        "does": "Scorecard of every venue an agent could earn at: paying/measuring/closed verdict, agent policy, gating, and on-chain payouts out of escrow."
      },
      {
        "method": "GET",
        "path": "/v1/events",
        "does": "Change feed: venue verdict flips, new suspected honeypots, settlement-integrity changes, newest first (rate-limited)."
      },
      {
        "method": "GET",
        "path": "/v1/reports/latest",
        "does": "The weekly Agent Income Report as JSON (rate-limited). Human page: /reports."
      },
      {
        "method": "GET",
        "path": "/v1/observatory/latest",
        "does": "The weekly x402 Payability Observatory as JSON, including the scout's delivery results (rate-limited). Human page: /observatory; CC BY sample at /v1/observatory/sample.csv."
      },
      {
        "method": "POST",
        "path": "/v1/verify",
        "does": "Verify any signed Settled response. Daily signed, hash-chained snapshots of the whole index: GET /v1/snapshots/latest."
      },
      {
        "method": "GET",
        "path": "/v1/watch/{id}",
        "does": "A Watchdog's status and recent alert deliveries (rate-limited)."
      },
      {
        "method": "GET",
        "path": "/v1/watch/{id}/alerts?since=",
        "does": "A Watchdog's alerts since a given alert id, the endpoint's state now and next_since for the next poll (rate-limited, signed)."
      }
    ],
    "paid": [
      {
        "method": "POST",
        "path": "/v1/pass",
        "price": "$0.05",
        "does": "24-hour pass: unlocks every paid route except the Watchdog and the seller re-test, and every MCP tool, for 24h at 120 req/min. Returns a token to send as the x-settled-pass header."
      },
      {
        "method": "GET",
        "path": "/v1/preflight?url=",
        "price": "$0.005",
        "does": "The pre-spend check: fresh probe on both verbs, parsed quote, payability, payee existence, seller reputation and settlement integrity, the scout's purchase result, agent reports and a honeypot scan of the listing, as one signed answer: recommendation pay | caution | avoid, with reasons."
      },
      {
        "method": "GET",
        "path": "/v1/check?url=",
        "price": "$0.002",
        "does": "Live probe of one endpoint: status, latency, x402 version, price/network/asset/payTo, payability, schema completeness, on-chain payer activity, quality breakdown and flags, plus the scout's last purchase (settlement transaction and whether the response matched the listing), paying agents' reports and the seller's claim. Free from cache up to 300 calls a day at /v1/free/check."
      },
      {
        "method": "GET",
        "path": "/v1/endpoints?q=&network=&max_price=&status=&sort=",
        "price": "$0.005",
        "does": "Ranked live x402 endpoints by quality, each with payability and delivery status. Free up to 300 calls a day at /v1/free/endpoints."
      },
      {
        "method": "GET",
        "path": "/v1/payto/{address}",
        "price": "$0.005",
        "does": "Seller reputation for a recipient address: whether its on-chain sales look organic or self-generated (settlement_integrity: organic / concentrated / single_source / circular), settlements and unique payers, endpoints served, live/dead, price range, clone-farm and quote-only flags."
      },
      {
        "method": "GET",
        "path": "/v1/income?venue=&rail=&agent_access=&min_reward=&sort=",
        "price": "$0.01",
        "does": "Open listings from sanctioned venue APIs with reward, agent access, competition, honeypot flags + reasons, trust 0-100, label, and the venue's payout record. Honeypots, dead and human-only listings excluded by default."
      },
      {
        "method": "GET",
        "path": "/v1/income/check?url=",
        "price": "$0.005",
        "does": "Scan one bounty issue, repo or listing page for honeypot signals before you work on it. Returns trust, label and every flag with its reason."
      },
      {
        "method": "POST",
        "path": "/v1/watch",
        "price": "$1.00",
        "does": "Watchdog: for 10 days Settled probes one endpoint about every 15 minutes and records a signed alert when its status, payability, price or payTo changes, plus a heads-up about a day before it ends. Body {url, webhook?}: with a webhook each alert is POSTed there; without one, poll GET /v1/watch/{id}/alerts. Body {watch_id} renews it for $1.00: 10 more days, same feed. A bad request is refused before payment. Also sold inside MCP as settled_watch."
      },
      {
        "method": "POST",
        "path": "/v1/retest",
        "price": "$2.00",
        "does": "Seller re-test: the scout buys from an endpoint now and checks the response against its listing; public at /v1/deliveries, marked requested. Charged only if the scout completes a purchase. Listed price up to $1.00, once an hour per endpoint."
      }
    ]
  },
  "mcp": {
    "endpoint": "/mcp",
    "transport": "streamable-http",
    "stateless": true,
    "free_tools": [
      "settled_status",
      "settled_peek",
      "settled_submit",
      "settled_report",
      "settled_claim",
      "settled_sellers",
      "settled_income_venues",
      "settled_weekly_report",
      "settled_verify",
      "settled_watch_alerts"
    ],
    "free_daily_tools": {
      "tools": [
        "settled_check",
        "settled_find_endpoints",
        "settled_events"
      ],
      "limit": "300 calls per client per day, shared with /v1/free/check and /v1/free/endpoints; a pass lifts the cap"
    },
    "pass_tools": [
      "settled_preflight",
      "settled_seller_reputation",
      "settled_income_listings",
      "settled_income_check",
      "settled_check with force=true"
    ],
    "note": "Calls over the free quota return free_quota_exhausted and pass-gated tools return pass_required, both with purchase instructions; nothing fails silently.",
    "paid_tools": [
      {
        "tool": "settled_watch",
        "price": "$1.00",
        "how": "x402 inside MCP: the first call returns the payment requirements; retry with the payment in _meta['x402/payment'] (clients built on @x402/mcp do this automatically). Not covered by a pass. Pass watch_id instead of url to renew a watch for 10 more days."
      }
    ]
  },
  "labels": {
    "endpoint_status": [
      "live",
      "degraded",
      "dead",
      "free",
      "auth_gated",
      "not_found",
      "quote_invalid",
      "unknown"
    ],
    "income": [
      "verified_paying",
      "unverified",
      "gated",
      "suspected_honeypot",
      "dead",
      "closed_to_agents"
    ],
    "venue_verdict": [
      "paying",
      "paying_small",
      "measuring",
      "no_payouts_seen",
      "closed_to_agents",
      "defunct",
      "unmeasured"
    ],
    "note": "'suspected' means the text or repo shows patterns used to bait agents; it is not proof and can be disputed.",
    "delivery_check": [
      "as_advertised",
      "not_as_advertised",
      "disclosed_problem",
      "partial_match",
      "unverified",
      "nothing_to_compare",
      "not_delivered"
    ]
  },
  "trust": {
    "data": "Live unpaid probes, paid test purchases by Settled's scout (each listed with its settlement transaction), Base on-chain USDC payout and settlement logs via public JSON-RPC, and sanctioned venue APIs.",
    "custody": "Settled never holds anyone else's funds. Probes never pay. Only the scout pays endpoints, from Settled's own wallet 0xA1d1C0cf717402ff3651aA4873CcF96410B01978, and every purchase is listed at /v1/deliveries.",
    "scores_for_sale": false,
    "settlement_integrity": "An on-chain settlement proves a payment happened, not that it was organic. Settled measures concentration (top-payer share, HHI), single-source funding, and circular flows (a wallet that both funds and receives), and labels each recipient organic / concentrated / single_source / circular. Returned as settlement_integrity on /v1/payto and payout_integrity on the income venues, so on-chain volume is never taken at face value.",
    "disputes": "A seller or venue can dispute a label by messaging @settledfyi on X (https://x.com/settledfyi)."
  },
  "discovery": {
    "openapi": "/openapi.json",
    "llms_txt": "/llms.txt",
    "x402_manifest": "/.well-known/x402",
    "human_pages": "/venues",
    "bazaar": "indexed in the Coinbase CDP x402 Bazaar"
  }
}
