{"slug":"paycheck-hectichustle-workers-dev-address-check-768a24","title":"Address-poisoning check before you send USDC on Base","host":"paycheck.hectichustle.workers.dev","method":"POST","resource":"https://paycheck.hectichustle.workers.dev/address/check","category":"market","description":"Address-poisoning check before you send USDC on Base. Body {from, to} (or sender/recipient; chain=base, token=USDC only, others 400 not charged; optional contacts/known_addresses): scans the sender's recent Base USDC transfers for lookalikes (same first/last 4 hex) plus dust/zero-value transfers. No","price_listed":0.001,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"answered_7d":0,"latency_ms_median":null,"reported_calls_30d":19,"reported_payers_30d":3,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"from":"0x9D42EbA8868CFd38A50Ba615ee0cf903F1BBeCE9","to":"0x509E55c4F898B43C856Fb0E51048B1b7bFBC9eDE"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"description":"Three shapes: {from, to, contacts?} scans the sender's recent Base USDC history; contacts-only {to, contacts} without from (aliases recipient/address + known_addresses/known) is offline lookalike vs contacts (no RPC); recipient-only {to} alone (alias address) scans that address's own recent USDC history for poisoning fingerprints.","properties":{"chain":{"description":"Optional. Base only (base, eip155:8453, 8453). Any other chain returns 400 unsupported_chain and is not charged — Shield only scans Base USDC.","type":["string","integer"]},"contacts":{"description":"Optional: up to 50 trusted addresses / address book (aliases: known_addresses, known). With from: offline lookalike of contacts too. Without from: contacts-only mode (no RPC).","items":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"maxItems":50,"type":"array"},"from":{"description":"Sender address (aliases: sender, fromAddress). Omit for contacts-only or recipient-only mode.","pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"to":{"description":"Intended recipient (aliases: recipient, toAddress, address). Required in every shape.","pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"token":{"description":"Optional. USDC only (symbol USDC or Base USDC contract). Any other token (e.g. USDT) returns 400 unsupported_token and is not charged.","type":"string"}},"required":["to"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"chain":{"enum":["base"],"type":"string"},"contacts":{"description":"Only present when contacts were sent","properties":{"checked":{"type":"integer"},"inContacts":{"type":"boolean"},"lookalikes":{"items":{"properties":{"contact":{"type":"string"},"prefixMatch":{"type":"integer"},"suffixMatch":{"type":"integer"}},"type":"object"},"type":"array"}},"type":"object"},"coverage":{"properties":{"complete":{"type":"boolean"},"coveragePct":{"type":"number"},"lowCoverage":{"description":"true when coveragePct < 10: almost nothing was scanned, so risk low does not mean safe (top reason explains; retry, pass contacts, or use /address/check/full)","type":"boolean"},"rpcCalls":{"type":"integer"},"scannedFrom":{"type":"integer"},"scannedTo":{"type":"integer"},"transfersSeen":{"type":"integer"},"windowBlocks":{"type":"integer"}},"type":"object"},"ignoredFields":{"description":"Request fields Kertivo Shield did not use (they did not affect the answer); only present when there were any","items":{"type":"string"},"type":"array"},"ignoredNote":{"type":"string"},"lookalikes":{"items":{"properties":{"address":{"type":"string"},"dustTransfers":{"type":"integer"},"inbound":{"type":"integer"},"lastBlock":{"type":"integer"},"outbound":{"type":"integer"},"pattern":{"enum":["dust_or_zero_value","lookalike_counterparty"],"type":"string"},"realOut":{"type":"integer"},"sampleTx":{"type":"string"}},"type":"object"},"type":"array"},"reasons":{"items":{"type":"string"},"type":"array"},"risk":{"enum":["low","medium","high"],"type":"string"},"seenBefore":{"type":"boolean"},"token":{"enum":["USDC"],"type":"string"}},"required":["risk","lookalikes","seenBefore","coverage"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[],"description_full":"Address-poisoning check before you send USDC on Base. Body {from, to} (or sender/recipient; chain=base, token=USDC only, others 400 not charged; optional contacts/known_addresses): scans the sender's recent Base USDC transfers for lookalikes (same first/last 4 hex) plus dust/zero-value transfers. No sender? {recipient, known_addresses} = offline contacts check; {address} alone scans its own history for poisoning signs. Returns risk low/medium/high, lookalikes, reasons, coverage.","last_updated":"2026-10-15T11:19:16.121Z","schemes":["exact"]}