Address Poisoning Check

io.github.devx-agentPublished by GitHub account devx-agentv1.1.0Updated Nov 6, 2026

Before sending crypto, check the recipient for address poisoning: lookalikes and bad checksums

The publisher's own server: check.tattoo: tattoo size and placement guide

VerifiedStreamable HTTPWeb executableFinanceSecurity & Monitoring

Overview

AI-generated overview

Read-only MCP server that checks a crypto recipient address for address-poisoning lookalikes and bad EIP-55 checksums before you send funds.

What you can do
  • Check a recipient address against addresses you trust for lookalike patterns (same first and last hex characters, different middle) and validate its EIP-55 checksum, offline and free.
  • Get guidance on the paid on-chain check, which scans a sender's transfer history on Ethereum, Base and optionally Avalanche for poisoning transfers and lookalikes; the tool itself does not pay.
  • Run the same free check locally via the npm CLI or stdio server, or through the hosted remote endpoint.
When to use it
Useful when an assistant helps prepare or gate a crypto transfer and should confirm the recipient is not a lookalike of a known counterparty. Also fits scripted or agent payment flows that need a danger signal before sending.
Requirements
Either the remote streamable HTTP endpoint or a local runtime with Node.js to run the npm package via npx. No accounts, API keys or environment variables are declared. The paid on-chain check is a separate HTTP API billed in USDC over x402 on Base.
Before you install
The free lookalike check is a heuristic over address prefixes and suffixes and does not prove an address is correct; confirm the full address with the payee. The on-chain check costs 0.005 USDC per call via x402 on Base and requires a payment-capable client. The server states it is read-only and never asks for keys, but never supply private keys or seed phrases to any tool.

Installation

In SourceWeft

  1. Open Address Poisoning Check in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.devx-agent%2Faddress-poisoning-check/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "address-poisoning-check": {
      "type": "http",
      "url": "https://address-poisoning-check.nextill-pos.workers.dev/mcp"
    }
  }
}

README

Address 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):

WhatCost
CLI / stdio MCP devx-address-poisoning-checkOffline: 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/mcpSame offline check as a hosted MCP toolfree
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

sh
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):

json
{ "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 402 with an x402 v1 body (X-PAYMENT, network base) and a v2 PAYMENT-REQUIRED header (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": true and the scanned window stated per chain in chains[].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

Layout

  • cli/: npm package devx-address-poisoning-check (CLI + stdio MCP), npm test
  • worker/: the Cloudflare Worker behind the hosted API (npm run build)

MIT. Made by DevX · [email protected]

Source: README.md at commit 2141d56

Tools

2

check_recipient_lookalike

Free, offline, read-only: before sending crypto, check whether the recipient address is a lookalike (same first/last hex characters, different middle) of any address you trust, and whether its EIP-55 checksum is valid. Address poisoning stole $76M+ in 12 months by planting such lookalikes in wallet histories.

Parameterstorequiredknown

onchain_check_info

How to buy the on-chain check (scans the sender's real transfer history on Ethereum/Base/Avalanche for poisoning transfers and lookalikes) via x402 for 0.005 USDC. Does not pay.

Takes no parameters.

Version history

1
  1. v1.1.0LatestOct 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Check integrations