Paste any address. We work out what it is and read it from the chain — what a pool
will cost you, what a spender has been collecting, what a token can actually be sold into. One
input. No wallet, nothing signed.
⛔ Why one input. Seven pages each answered a fragment of the same
question — is this thing about to cost me something — and every one of them required you to
already know which fragment you needed. That is a menu, not a tool. A pool that succeeds and returns
$2.15 on a $9.57 swap, and a spender quietly collecting approvals from four hundred wallets, are the
same problem wearing different clothes: something you are about to sign, that nothing warns you
about.
⚑ It detects rather than asks. 66 hex is a v4 pool id. A 40-hex address is
read from the chain — no bytecode is a wallet, slot0() answering is a pool,
decimals() and symbol() answering is a token. You should not have to know
the taxonomy of the thing that is about to take your money.
⚑ The engines are shared, never copied. The approval score here is the
same file scripts/drain.mjs runs on a schedule, so what you see and what the ledger
records are identical bytes. The pool reading is the tick-bitmap depth walk, unchanged. Two copies of
either would be two answers to one question.
⚠ It never accuses. No address is labelled a scam here. It reports counts and
you conclude — a new protocol, an airdrop claim, a token migration and a popular mint all look like a
drainer for the first hour of their lives. ⚠ And every reading is exact for this block: it
reads the chain, it does not predict it. Not financial advice.