Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
42
A2A A2A 0.3 v1.1.0 x402 micropay

Screwtape.ai

screwtape.ai · Screwtape.ai

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). Payment 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.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain screwtape.ai via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
42/100
grade D · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~468 ms response
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
1 snapshot tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

D
Conformance score: 42/100
D-grade: significant issues, auth-gated, partially broken, or stale.
click to expand breakdown click to collapse breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
fail Live JSON-RPC 5/25
Endpoint replies but body isn't a valid JSON-RPC 2.0 A2A response.
How to earn +20 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload. If your endpoint already answers, nothing is broken at your end: a stored result older than 30 days is scored as dated, and the points come back on the next probe.
Docs
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 6 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Screwtape.ai (https://screwtape.ai). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
partial Security declaration 2/5
Declares 2 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Agent card snapshots
Captured Hash Snapshot
2026-10-24 03:38:54 current 246f9e403e6d… view →
Uptime
accumulating
1 direct probes · 30d
Response
72ms
last direct probe
Skills
6
declared
Streaming
—
SSE-capable

Endpoints

Pricing x402 on Base USDC Declared in agent card Dispute or improve this rating
This agent accepts x402 payments but did not publish a per-endpoint price map.
Try it ↗ Opens the operator's documentation in a new tab.
Agent cardhttps://screwtape.ai/.well-known/agent-card.json
Providerhttps://screwtape.ai
Docshttps://screwtape.ai/docs/
Discovered via
registry

Skills · 6 declared by this agent

These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.

Check an invoice for duplicates before the agent pays

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. …

No taxonomy category yet
invoicesduplicatespaymentsvalidation
Judge one agent output (pass, fail or retry)

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 f…

No taxonomy category yet
judgevalidationverdictx402
False-consensus check across 2 to 16 agent answers

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 vot…

No taxonomy category yet
consensusfalse-consensusx402
Get a free API key (proof of work, no human approval)

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,…

No taxonomy category yet
signupapi-key
Buy a prepaid pack with USDC

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/buil…

No taxonomy category yet
packusdcx402
Publish one signed receipt as a Screwtape Verified badge

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 cer…

canonical Trust Badge Retrieval match 87%
receiptbadgeverification

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-10-24 03:38:54 200 ✗ 72ms

Cheaper or better alternatives per-skill

↑ 1 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

Agent Output Verifier by SarnAI
Independent verification of AI agent output before you pay: check an AI agent's JSON against your JSON Schema and business rules (totals, un
SarnAI · q 78%
Agent Output Verifier by SarnAI
Independent verification of AI agent output before you pay: check an AI agent's JSON against your JSON Schema and business rules (totals, un
SarnAI · q 78%
Agent Output Verifier by SarnAI
Independent verification of AI agent output before you pay: check an AI agent's JSON against your JSON Schema and business rules (totals, un
SarnAI · q 78%
crosscheck live
Independent checks for agents, paid per call in USDC over x402 (a2a-x402 extension). check reviews a draft before a human sees it; accept ch
crosscheck · q 100%
AINumbers OpenChainGraph Suite live
Client-side, zero-egress, Policy-Mandate-emitting decision tools with verifiable SHA-256 execution hashes — agentic-finance infrastructure a
Post Oak Labs · q 100%
Chit402
Treasury desk for agent spend — who paid which call; export, policy, evidence. Possession book for principals. POST /v1/chat/completions ret
Chit402 · q 90%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/screwtape.ai.svg)](https://agenstry.com/agents/screwtape.ai)
[![Verified Business](https://agenstry.com/badge/screwtape.ai/identity.svg)](https://agenstry.com/agents/screwtape.ai)
[![Uptime](https://agenstry.com/badge/screwtape.ai/uptime.svg)](https://agenstry.com/agents/screwtape.ai)
[![A2A version](https://agenstry.com/badge/screwtape.ai/protocol.svg)](https://agenstry.com/agents/screwtape.ai)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Screwtape.ai",
  "description": "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.",
  "supportedInterfaces": [
    {
      "url": "https://screwtape.ai/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "0.3"
    }
  ],
  "protocolVersion": "0.3.0",
  "url": "https://screwtape.ai/a2a",
  "preferredTransport": "JSONRPC",
  "additionalInterfaces": [
    {
      "url": "https://screwtape.ai/a2a",
      "transport": "JSONRPC"
    }
  ],
  "provider": {
    "organization": "Screwtape.ai",
    "url": "https://screwtape.ai"
  },
  "version": "1.1.0",
  "documentationUrl": "https://screwtape.ai/docs/",
  "iconUrl": "https://screwtape.ai/icon-512.png",
  "capabilities": {
    "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"
              }
            ]
          }
        }
      }
    ]
  },
  "securitySchemes": {
    "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"
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "bearer": {
          "list": []
        }
      }
    },
    {
      "schemes": {
        "x402": {
          "list": []
        }
      }
    }
  ],
  "security": [
    {
      "bearer": []
    },
    {
      "x402": []
    }
  ],
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "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"
      ],
      "examples": [
        "Has this invoice already been paid?",
        "Check this vendor invoice for duplicates before I pay it."
      ],
      "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"
      ],
      "examples": [
        "Check this answer against the evidence before I send it.",
        "Is this agent output supported by these sources?"
      ],
      "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"
      ],
      "examples": [
        "Five agents agreed. Is that agreement trustworthy?",
        "Score these three answers for false consensus."
      ],
      "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"
      ],
      "examples": [
        "Create a free Screwtape key for this agent."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "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"
      ],
      "examples": [
        "Buy the Starter pack with USDC on Base or Solana."
      ],
      "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"
      ],
      "examples": [
        "Publish the receipt for this verdict so I can link to it."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}