{
  "markdown": "# ChainVerdict — chainverdict.xyz\n\nChecks an autonomous agent runs **before it moves money or trusts a counterparty**:\ntoken safety verdicts and wallet risk profiles on Base, on-chain payment\nverification, financial-identifier validation, and live domain security posture.\n\nEvery call is paid per request in USDC on Base over the **x402** protocol —\nno accounts, no API keys, no signup. Every response carries an evidence record\nsaying what was checked, how fresh it is and what it does **not** establish, and\nis Ed25519-signed. **No LLM inference anywhere:** every answer is a deterministic\ncomputation or a live read of external state, so the same input returns the same\nanswer forever.\n\n## MCP server\n\nChainVerdict is a remote **MCP (Model Context Protocol) server**, built on the\nofficial [`@modelcontextprotocol/sdk`](https://github.com/modelcontextprotocol/typescript-sdk)\nand served over **Streamable HTTP** at:\n\n```\nhttps://chainverdict.xyz/mcp\n```\n\nIt is published in the official MCP registry as `xyz.chainverdict/chainverdict`.\n\n- **`initialize` and `tools/list` are free**, so registries and clients can index\n  the server without paying.\n- **`tools/call` is x402-paid** at the price of the route behind the tool — except\n  `payment_info`, which is free.\n- 20 MCP **tools**, all read-only and idempotent, annotated with\n  `readOnlyHint` / `destructiveHint` / `idempotentHint` / `openWorldHint`.\n- No MCP **resources** or **prompts** are exposed; this server is tools-only.\n\nTool descriptions interpolate the live price from the same map the payment\nmiddleware charges from, so `tools/list` can never advertise a rate that is not\nthe rate. `test/mcp-parity.test.js` fails the build if a tool exists for a route\nthat is no longer sold, or if a sold route has no tool.\n\n### Tools\n\n| Tool | What it answers |\n|---|---|\n| `payment_info` | **Free.** How x402 payment works, the price of every tool, where payments settle. |\n| `token_verdict` | Is this ERC-20 on Base a scam, a honeypot, or safe to hold? |\n| `wallet_dossier` | Wallet risk profile for a Base address before you pay it. |\n| `verify_payment` | Decode and confirm an on-chain payment on Base. |\n| `verify_token` | Resolve a symbol or address to the canonical Base token. |\n| `validate_iban` `validate_vat` `validate_bic` `validate_lei` `validate_isin` | Deterministic check-digit and format validation. |\n| `security_email` `security_tls` `security_typosquat` | SPF/DMARC/DKIM posture, live TLS probe, brand look-alike analysis. |\n| `data_gas` `data_block` `data_token_supply` `data_token_activity` `data_portfolio` | Live Base chain reads. |\n| `html_to_markdown` `text_diff` | Document utilities. |\n\n`POST /v1/batch/validate` is HTTP-only by design: 500 identifiers do not belong\nin a tool-call argument.\n\n## HTTP rate card\n\nEvery endpoint answers an unpaid request with a 402 quote.\n\n| Route | Price |\n|---|---|\n| `GET /v1/token/verdict/*` | $0.01 |\n| `GET /v1/wallet/dossier/*` | $0.01 |\n| `GET /v1/validate/iban/*` | $0.001 |\n| `GET /v1/validate/vat/*` | $0.001 |\n| `GET /v1/validate/bic/*` | $0.001 |\n| `POST /v1/doc/html-to-markdown` | $0.002 |\n| `POST /v1/doc/diff` | $0.002 |\n| `GET /v1/verify/payment/*` | $0.02 |\n| `GET /v1/verify/token/*` | $0.005 |\n| `GET /v1/validate/lei/*` | $0.002 |\n| `GET /v1/validate/isin/*` | $0.001 |\n| `POST /v1/batch/validate` | $0.10 |\n| `GET /v1/security/email/*` | $0.01 |\n| `GET /v1/security/tls/*` | $0.01 |\n| `GET /v1/security/typosquat/*` | $0.005 |\n| `GET /v1/data/gas` | $0.002 |\n| `GET /v1/data/block` | $0.001 |\n| `GET /v1/data/supply/*` | $0.003 |\n| `GET /v1/data/activity/*` | $0.005 |\n| `GET /v1/data/portfolio/*` | $0.004 |\n\nFree to read before you pay for anything: `/` (discovery), `/health`,\n`/openapi.json`, `/llms.txt`, `/v1/methodology`, `/.well-known/x402.json`.\n\nThe whole portfolio, machine-readable:\n<https://pulse.chainverdict.xyz/.well-known/portfolio.json>\n\n## Local dev\n\n```bash\nnpm ci\nX402_ENABLED=false npm start   # free mode, no payments\nnpm test                       # 34 tests\n```\n\n## Ops\n\nStateless. No database, no cron, no maintained data set. Sources are pure\narithmetic over public specifications plus live Base RPC.\n\n## Limitations\n\nThese are informational signals. **None is a compliance control**, none discharges\na legal obligation, and none is regulated financial, legal or compliance advice.\nA valid signature proves a response came from this service unaltered — not that\nthe answer is correct. A signed wrong answer is still wrong, and still signed.\n\nOperated by Alexander Balieu, independent professional established in Luxembourg.\n\n## Licence\n\nMIT. See [LICENSE](./LICENSE).\n",
  "bytes": 4633,
  "sha": "2de18f86cf72e756ab128d5abc06ebe0c3c6c85b44dc9de2a5a4b5545963bb5c",
  "repo_slug": "alexanderbalieu-connections/chainverdict",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_xyz_chainverdict_chainverdict_b665a45d/readme"
}