{"domain":"screwtape.ai","count":1,"changes":[{"captured_at":"2026-10-24T03:38:54.790703","card_hash":"246f9e403e6dd29a238d903a0cc000a85447a6cc60f6edace931217782488521","previous_card_hash":null,"diff":{"skills_added":[{"id":"buy_pack","name":"Buy a prepaid pack with USDC","description":"Starter is $40 USD for 10000 calls and Builder is $175 USD for 50000 calls, payable in USDC on Base or Solana. POST /v1/packs/starter/buy or POST /v1/packs/builder/buy. The MCP tool buy_pack returns the 402 requirements and does not move funds. Pay with PayPal at POST /v1/packs/checkout.","tags":["pack","usdc","x402"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"check_duplicate_invoice","name":"Check an invoice for duplicates before the agent pays","description":"Duplicate invoice check before an agent pays, with a signed receipt. Compares the invoice with the ones this API key recorded earlier and judges it like judge. Input: POST /v1/duplicate, the MCP tool check_duplicate_invoice, or A2A message/send with a data part, sending task, agent_output (the invoice JSON) and duplicate {vendor_path, invoice_id_path, amount_path, currency_path?, date_path?, window_days?, store?}. Output: the judge result plus duplicate.status (unique, duplicate, possible_duplicate, replay or not_checked). Needs Authorization: Bearer, because fingerprints are kept per key; only keyed HMAC fingerprints are stored, and only when store is true. Cost: same as judge.","tags":["invoices","duplicates","payments","validation"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"consensus","name":"False-consensus check across 2 to 16 agent answers","description":"False-consensus check: scores agreement across 2 to 16 answers to one task and flags agreement that looks copied or thin. Use it before accepting a majority vote. Not for a single answer, and not proof of correctness: verify consensus_answer with judge. Input: POST /v1/consensus, or MCP tool consensus, with task and answers[{agent_id?, output}]. Output: consensus_answer, agreement_score, false_consensus_risk (low, medium or high), reasons, clusters, engine, request_id. Cost: same as judge, on Base or Solana.","tags":["consensus","false-consensus","x402"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_api_key","name":"Get a free API key (proof of work, no human approval)","description":"Creates a free key (100 calls per UTC day). Use it only when no key exists and you can compute SHA-256 in code. Input: POST /v1/signup, or MCP tool get_api_key, with pow_nonce (SHA-256 of screwtape-signup-v1:<UTC YYYY-MM-DD>:<nonce> must start with 12 zero bits; nonce matches ^[A-Za-z0-9_-]{8,64}$), plus optional email and name (at most 80 characters). Output: api_key (shown once), key metadata, request_id. Limits: 5 keys per IP per hour and per UTC day. Free.","tags":["signup","api-key"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"judge","name":"Judge one agent output (pass, fail or retry)","description":"Independent pass/fail/retry verdict on one agent output, checked against the evidence and criteria you send. Use it before returning or acting on a draft. Not for web lookup or for comparing several answers (use consensus). Input: POST /v1/judge, the MCP tool judge, or A2A message/send, with task and agent_output plus optional evidence[], criteria[] and retain. Output: verdict, score 0 to 1, reasons, engine, request_id, retention. Cost: free key (100 calls per UTC day) or $0.005 USDC per call via x402 on Base or Solana.","tags":["judge","validation","verdict","x402"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"publish_receipt","name":"Publish one signed receipt as a Screwtape Verified badge","description":"Publish a receipt you own so a public page and badge link to that one verdict. It states that this output got this verdict at this time; it is not a general certification of the agent. Input: receipt_id, optional include_content, label, unpublish. Output: public_url, badge_svg_url, embed_html, embed_markdown. Needs the Bearer key that owns the receipt; no x402. Free. Available on MCP and REST.","tags":["receipt","badge","verification"],"inputModes":["application/json"],"outputModes":["application/json"]}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"Screwtape.ai"},{"field":"description","before":null,"after":"Verify before the agent pays. Screwtape is an independent check on agent work before a payment goes out: invoices, duplicate invoices and reconciliation, with a signed receipt for your auditor. It also judges any agent output (pass, fail or retry) and flags false consensus across agents. An independent judge for your agents. Screwtape is independent of your agent's own model and vendor, with no stake in your agent passing. Every verdict comes with a signed receipt you can verify yourself. The receipt proves what was checked, when, and the verdict that was returned. Skills: check_duplicate_invoice (duplicate invoice check before an agent pays; needs a Bearer key), judge (pass/fail/retry verdict on one agent output against your evidence), consensus (false-consensus check across 2 to 16 answers), get_api_key (free key, 100 calls per UTC day, proof of work), buy_pack, publish_receipt. A2A JSON-RPC message/send at https://screwtape.ai/a2a maps to judge (send a duplicate object in the data part to check an invoice). The same skills are on MCP (https://screwtape.ai/mcp) and REST (https://screwtape.ai/openapi.json). Unpaid calls return x402 payment requirements ($0.005 USDC per call on Base or Solana).\n\nPayment required: every skill call, including A2A message/send, needs either a Bearer API key (free: POST https://screwtape.ai/v1/signup, 100 calls per UTC day) or an x402 payment (scheme exact, amount 5000 = $0.005 USDC on Base eip155:8453 or Solana). A call with neither returns HTTP 402 with the x402 requirements."},{"field":"version","before":null,"after":"1.1.0"},{"field":"protocolVersion","before":null,"after":"0.3.0"},{"field":"url","before":null,"after":"https://screwtape.ai/a2a"},{"field":"documentationUrl","before":null,"after":"https://screwtape.ai/docs/"},{"field":"iconUrl","before":null,"after":"https://screwtape.ai/icon-512.png"},{"field":"preferredTransport","before":null,"after":"JSONRPC"},{"field":"supportedInterfaces","before":null,"after":[{"url":"https://screwtape.ai/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3"}]},{"field":"securitySchemes","before":null,"after":{"bearer":{"httpAuthSecurityScheme":{"description":"Authorization: Bearer with an API key from POST /v1/signup or POST /v1/keys. Email and name are optional. A free key includes 100 calls per UTC day. A single call can instead send an x402 PAYMENT-SIGNATURE of $0.005 USDC on Base or Solana. GET /v1/health, MCP tools/list, and the MCP tool get_api_key do not require a key.","scheme":"Bearer","bearerFormat":"API key"}},"x402":{"apiKeySecurityScheme":{"description":"Pay per call instead of using a key: send an x402 v2 PAYMENT-SIGNATURE header (scheme exact, 5000 = $0.005 USDC). A call with no key and no payment returns HTTP 402 with the requirements in the PAYMENT-REQUIRED header.","location":"header","name":"PAYMENT-SIGNATURE"}}}},{"field":"securityRequirements","before":null,"after":[{"schemes":{"bearer":{"list":[]}}},{"schemes":{"x402":{"list":[]}}}]},{"field":"security","before":null,"after":[{"bearer":[]},{"x402":[]}]},{"field":"capabilities","before":null,"after":{"streaming":false,"pushNotifications":false,"extendedAgentCard":false,"extensions":[{"uri":"https://screwtape.ai/ext/x402/v1","description":"Per-call x402 payment. Details in params.","required":false,"params":{"protocol":"x402","version":2,"discovery":"https://screwtape.ai/.well-known/x402","scheme":"exact","asset":"USDC","amount":"5000","perCallUsd":"0.005","paymentHeader":"PAYMENT-SIGNATURE","freeKey":{"signup":"POST https://screwtape.ai/v1/signup","callsPerDay":100},"packs":[{"id":"starter","priceUsd":"40","calls":10000,"url":"https://screwtape.ai/v1/packs/starter/buy"},{"id":"builder","priceUsd":"175","calls":50000,"url":"https://screwtape.ai/v1/packs/builder/buy"}],"networks":[{"id":"eip155:8453","payTo":"0x028Bb9A57B8C27c22f6B39dd00e7eFF1FB60344B"},{"id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"56cBfPbDrz3DGnGD8xUfkuffYS6qMXqXFfQY3KnE1YpL","payToRole":"owner","offered":true}]}},{"uri":"https://a2a-registry.org/extensions/registry/v1","description":"Payment discovery: free key tier plus x402 per-call payments.","required":false,"params":{"payment":{"model":"freemium","protocols":["x402"],"direction":"inbound","rails":[{"network":"base","token":"USDC","type":"stablecoin","caip2":"eip155:8453","contractAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","protocol":"x402","scheme":"exact"},{"network":"solana","token":"USDC","type":"stablecoin","caip2":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","contractAddress":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","protocol":"x402","scheme":"exact"}]}}}]}},{"field":"provider","before":null,"after":{"organization":"Screwtape.ai","url":"https://screwtape.ai"}}],"other_changed":true,"is_empty":false,"human_summary":"added 6 skills · name ∅ → Screwtape.ai · description ∅ → Verify before the agent pays. Screwtape  · version ∅ → 1.1.0 · protocolVersion ∅ → 0.3.0 · url ∅ → https://screwtape.ai/a2a · documentationUrl ∅ → https://screwtape.ai/docs/ · iconUrl ∅ → https://screwtape.ai/icon-512.png · preferredTransport ∅ → JSONRPC · supportedInterfaces ∅ → https://screwtape.ai/a2a (JSONRPC) · securitySchemes ∅ → bearer, x402 · securityRequirements ∅ → bearer, x402 · security ∅ → bearer, x402 · capabilities ∅ → extendedAgentCard, extensions, pushNotif · provider ∅ → Screwtape.ai"}}]}