{
  "api_base_url": "https://shoon-a2a-sandbox.onrender.com",
  "api_status_note": "Public pilot endpoint is live. Hosted on Render's free tier: the service sleeps after ~15 min idle (first request wakes it in ~30-60s); quota counters and pause state live on ephemeral disk and may reset on redeploy.",
  "authentication": {
    "human": "X-API-KEY header plus task input.",
    "machine": "Two-step: 1) POST /quote for a binding quote (15-minute expiry). 2) Authorize that exact quote with an X-PAYMENT header on POST /execute. The flow is x402-shaped; in the sandbox the authorization is mocked and settlement is a $0.00 ledger event.",
    "mcp": "POST /mcp \u2014 MCP Streamable HTTP (methods: initialize, notifications/initialized, ping, tools/list, tools/call) on the same auth rails."
  },
  "name": "Shoon Enterprises A2A Services",
  "operator": "Shoon Enterprises",
  "pricing": "Free during the pilot. 20 tasks per service per day (global supply), at most 10 tasks per identity per day. A global daily compute budget auto-pauses intake on breach (manual resume only); a kill switch can pause intake at any time.",
  "privacy": "Each task is private to its buyer. A random 256-bit read token is issued with the task receipt; task status, the deliverable, the signature check, and that task's ledger entries all require it via the Authorization: Bearer header (URL/query tokens are rejected; missing or wrong token returns 401). Treat the token like a password: never log it or share it.",
  "sandbox": true,
  "services": [
    {
      "description": "Checks factual claims against their cited sources. For each claim the service fetches each provided source URL and reports the HTTP status and whether the quoted text appears in the page. It verifies quoted-text presence \u2014 it does NOT judge factual truth.",
      "id": "claim-verification",
      "input_caps": {
        "max_claims": 10,
        "max_sources": 5
      },
      "name": "Claim Verification"
    },
    {
      "description": "Audits the citations in a document. For each citation the service fetches the URL and reports the HTTP status, content type, and whether the quoted text appears verbatim in the fetched page. It does not judge citation quality.",
      "id": "citation-audit",
      "input_caps": {
        "max_citations": 25
      },
      "name": "Citation Audit"
    },
    {
      "description": "Turns messy text (or a fetched page) into structured data using deterministic heuristics: headings, links, tables and key statistics. This is NOT an LLM extraction \u2014 no semantic understanding is claimed.",
      "id": "structured-extraction",
      "input_caps": {
        "max_text_chars": 100000
      },
      "name": "Structured Extraction"
    },
    {
      "description": "Watches a public URL (e.g. an RSS/Atom feed or a news page) for keywords. Register a tripwire, then trigger a check: the service fetches the URL and reports whether each keyword appears, with match counts. No background scheduler in the pilot \u2014 checks run on demand.",
      "id": "news-tripwire",
      "input_caps": {
        "max_keywords": 20
      },
      "name": "News Tripwire"
    },
    {
      "description": "Audits a claim that work was performed. The service fetches each evidence URL and reports whether the evidence resolves and whether the claimed artifact text appears. It checks evidence resolution \u2014 it CANNOT independently verify that the work occurred.",
      "id": "proof-of-work-audit",
      "input_caps": {
        "max_evidence_items": 10
      },
      "name": "Proof-of-Work Audit"
    }
  ],
  "signing": {
    "algorithm": "Ed25519",
    "key_id": "sandbox-ed25519-8a42aae6a81d",
    "public_key_hex": "c11742a36b429c24228d2386af6b4d8c4a8d70abc141cd79b0af4918107c39e4",
    "note": "Every deliverable is Ed25519-signed by the live pilot instance. Verify signatures offline with the public key above; key rotation is announced via a catalog version bump."
  },
  "site": "https://shoonenterprises.github.io/",
  "status": "pilot",
  "updated": "2026-09-19",
  "version": "0.2.1"
}