Address Poisoning Check
RemoteAbout Address Poisoning Check
Address Poisoning Check is a read-only CLI and MCP server for checking crypto recipient addresses. It compares addresses with trusted contacts and validates EIP-55 checksums offline; a separate paid API scans transfer history on Ethereum, Base and optionally Avalanche.
Key features
- 01Offline lookalike address detection
- 02EIP-55 checksum validation
- 03On-chain transfer-history analysis
- 04Poisoning transfer and sender flags
- 05CLI exit code for gating flows
Use cases
- 01Check a recipient before sending crypto
- 02Gate agent payment flows with CLI results
- 03Review sender history for poisoning indicators
MCP support
Provides local stdio and hosted streamable HTTP MCP access. The `check_recipient_lookalike` tool runs the free offline check; `onchain_check_info` explains how to obtain the paid on-chain check.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://address-poisoning-check.nextill-pos.workers.dev/mcpclaude mcp add --transport http devx-agent-address-poisoning-check https://address-poisoning-check.nextill-pos.workers.dev/mcp{"mcpServers":{"devx-agent-address-poisoning-check":{"type":"http","url":"https://address-poisoning-check.nextill-pos.workers.dev/mcp"}}}Open in Cursor{"servers":{"devx-agent-address-poisoning-check":{"type":"http","url":"https://address-poisoning-check.nextill-pos.workers.dev/mcp"}}}Open in VS Code{"mcpServers":{"devx-agent-address-poisoning-check":{"type":"http","url":"https://address-poisoning-check.nextill-pos.workers.dev/mcp"}}}{"mcpServers":{"devx-agent-address-poisoning-check":{"serverUrl":"https://address-poisoning-check.nextill-pos.workers.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEAddress Poisoning Check
Is this the address you meant? Address poisoning plants a lookalike address (same first and last characters, different middle) in a wallet's history with a zero-value, dust or fake-token transfer, and waits for the owner (or their AI agent) to copy it. Bitquery counted about $76M stolen on Ethereum alone in the 12 months to July 2026.
This repo has three pieces, all read-only (we never ask for keys and never move funds):
| What | Cost | |
|---|---|---|
CLI / stdio MCP devx-address-poisoning-check | Offline: is the recipient a lookalike of any address you trust? Is its EIP-55 checksum valid? Nothing leaves your machine. | free |
Remote MCP https://address-poisoning-check.nextill-pos.workers.dev/mcp | Same offline check as a hosted MCP tool | free |
HTTP API GET /v1/check?from=<sender>&to=<recipient> | On-chain: scans the sender's real transfer history (Ethereum + Base, optional Avalanche) and flags lookalikes of real counterparties, zero-value / dust / fake-token poisoning transfers (with tx hashes), recipients that only ever appeared through such transfers, and senders that were already poisoned. Returns ok | caution | danger and the address you probably meant. | 0.005 USDC via x402 on Base |
Live: https://address-poisoning-check.nextill-pos.workers.dev
CLI
npx devx-address-poisoning-check 0xd9A1C3788D81257612E2581A6ea0aDa244853a91 --known 0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91
# DANGER: Looks like 0xd9a1...3a91 (same first 4 / last 6 hex chars) but is a different address. Classic address-poisoning lookalike.
Exit code 2 on danger, so it can gate scripts and agent payment flows.
MCP
Claude Desktop / Cursor (stdio):
{ "mcpServers": { "address-poisoning-check": { "command": "npx", "args": ["-y", "devx-address-poisoning-check", "mcp"] } } }
Or remote (streamable HTTP): https://address-poisoning-check.nextill-pos.workers.dev/mcp
Tools: check_recipient_lookalike (free), onchain_check_info (how to buy the on-chain check; does not pay).
Paid on-chain check (x402)
GET https://address-poisoning-check.nextill-pos.workers.dev/v1/check?from=0x...&to=0x...[&chains=ethereum,base,avalanche]
- Answers
402with an x402 v1 body (X-PAYMENT, networkbase) and a v2PAYMENT-REQUIREDheader (PAYMENT-SIGNATURE,eip155:8453). Both work. - 5000 atomic USDC (0.005 USDC) to
0xB3cDDccEe6B150c8efFD55B961afc0Ecefe7f247, settled through the Coinbase CDP facilitator, listed in the CDP x402 Bazaar. - Settled only after the report is produced; bad input or data-source errors are not charged.
- Data: Ethereum/Avalanche via the Routescan explorer API (last 300 token transfers + 150 transactions of the sender); Base via the Coinbase CDP SQL API (last 14 days of all ERC-20 transfers, including unknown/fake tokens), falling back to public RPC logs for a shorter window. Typical paid response: about 1-2 s. Data collection has a 3.5 s budget; if a source is slow you still get a report with
"partial": trueand the scanned window stated per chain inchains[].window. It is a heuristic over a window of public data: always confirm the full address with the payee.
Example (the May 2024 $68M WBTC case): from=0x1E227979f0b5BC691a70DEAed2e0F39a6F538FD5&to=0xd9A1C3788D81257612E2581A6ea0aDa244853a91 returns danger / possibly_already_poisoned: the victim did send real value to that address, but it first appeared in their history through a zero-value transfer.
OpenAPI: /openapi.json · Terms: /terms
Related DevX tools
- 7702 Sweeper Check: is an EIP-7702 sweeper delegation set on a wallet?
- Crypto Link Check: is a crypto URL a phishing / drainer lookalike?
- Repo Run Check: is a GitHub repo safe to clone and run?
Layout
cli/: npm packagedevx-address-poisoning-check(CLI + stdio MCP),npm testworker/: the Cloudflare Worker behind the hosted API (npm run build)
MIT. Made by DevX · [email protected]
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.