protocol // $ man daoaml-mcp · spec: MCP · x402 · /llms.txt

An AML check your agent can pay for, by itself

Most APIs assume a human signed up, accepted terms, and put a credit card on file. Agents don't do that. So we expose the same risk-scoring engine over MCP — discoverable, callable, and billable per request via x402 micropayments. No keys, no signup, $0.40 / call.

# install.sh

One config, every client

Same MCP server endpoint works for Claude Desktop, Cursor, Continue, Cline, OpenAI Responses, and any custom agent that speaks MCP.

  • Stateless — no session, no auth handshake
  • Tools: check_address, batch_check, resolve_chain
  • Resources: verdict://<id>, categories://list
  • Free tier: 3 calls/day per host, $0.40 after via x402
~/.config/claude/mcp.json claude desktop
{
  "mcpServers": {
    "daoaml": {
      "url": "https://mcp.daoaml.com/v1",
      "transport": "streamable-http"
    }
  }
}
$ npx cursor / cline / continue
$ npx -y @daoaml/mcp@latest
→ listening on stdio · ready
→ tools: check_address, batch_check, resolve_chain
→ free tier: 3 calls remaining today
# tools.json

Tool reference

check_address— score a single address
$0.40 / call
# input
{
  "address": "0x8589...DA16",
  "chain":   "ethereum" // optional, auto-detect
}
# output
{
  "score": 75,
  "badge": "HIGH",
  "categories": ["mixer", "sanctions"],
  "permalink": "https://daoaml.com/v/8e19fa..."
}
batch_check— up to 500 in one call
$0.30 / addr
# input
{
  "addresses": [
    { "chain": "eth", "addr": "0x..." },
    { "chain": "btc", "addr": "bc1q..." }
  ]
}
# output
{
  "results": [
    { "score": 5,  "badge": "LOW" },
    { "score": 82, "badge": "HIGH" }
  ]
}
resolve_chain— guess chain from address shape
free
# input
{ "address": "bc1qx7f..." }
# output
{
  "chain": "bitcoin",
  "confidence": 0.99,
  "format": "bech32"
}
# x402.md

x402 — pay per call, no account

x402 is HTTP 402 Payment Required, finally implemented. Server returns a price, agent settles in USDC, request resumes. We never know who you are; you don't have to log in.

  • USDC on Base · settles in <1s
  • No API keys, no rate limits beyond what you pay for
  • Idempotent — same payment proof = same response
  • Receipts on-chain, queryable by anyone
// flow.txt client ⇄ server
 POST /v1/check { addr: "0x..." }
 402 Payment Required
   X-Payment-Required: usdc-base · 0.40 · 0xa1b2...c3d4
   X-Payment-Quote:    eyJxIjoiZGFvYW1sIiwiYW10I...

// agent signs payment with its wallet

 POST /v1/check { addr: "0x..." }
   X-Payment-Proof: 0x9f2a...e91b
 200 OK { score: 5, badge: "LOW", ... }
   X-Payment-Receipt: base:0xfe21...8a09

// total round-trip including settlement: ~1.1s
# DAOAML
> Wallet AML check — 25+ chains, FATF-aligned, agent-callable.

## Tools
- check_address(chain, address) → { score, badge, categories[], permalink }
- batch_check(addresses[])      → { results[] }
- resolve_chain(address)        → { chain, confidence, format }

## Pricing
- check_address:  $0.40 / call (USDC on Base, x402)
- batch_check:    $0.30 / address
- resolve_chain:  free

## Endpoints
- MCP:     https://mcp.daoaml.com/v1
- HTTP:    https://api.daoaml.com/v1
- OpenAPI: https://api.daoaml.com/openapi.json
  • POST
    /v1/check
    single address, returns canonical verdict
  • POST
    /v1/batch
    up to 500 addresses, ~600ms p50
  • GET 
    /v1/verdict/{id}
    fetch a previously-computed verdict by id
  • GET 
    /v1/categories
    list all 47 FATF categories with descriptions
  • POST
    /v1/verify
    verify a verdict signature / on-chain anchor
Auth: API key (top-up tier) or x402 payment proof (agent tier). No bearer tokens, no OAuth.
# agent_prompts.txt — copy/paste

What you'd actually ask an agent

// compliance officer

"Before you draft the SAR, check 0x8589…DA16 with daoaml and paste the verdict link in the report."

// OTC trader

"For every counterparty in this CSV, run daoaml check. Flag anything HIGH or CRITICAL and don't initiate the trade."

// solidity dev

"Before signing this transaction, call daoaml on the recipient address. If score > 60, abort and tell me why."

Hand it to your agent

Three calls a day are on us. Past that, $0.40 per check, paid from the agent's own wallet. No middleman.