Skip to content

feat(feeds): ScamSniffer community scam-address feed#158

Merged
rinjanianalytics merged 1 commit into
masterfrom
feat/scamsniffer-scam-address-feed
Jun 17, 2026
Merged

feat(feeds): ScamSniffer community scam-address feed#158
rinjanianalytics merged 1 commit into
masterfrom
feat/scamsniffer-scam-address-feed

Conversation

@rinjanianalytics

Copy link
Copy Markdown
Owner

What

#3 of the free on-chain roadmap: ScamSniffer's openly-published blacklist of crypto scam/phishing/drainer addresses (~2.5k EVM). Active-fraud coverage alongside OFAC's sanctioned set — together they harden the on-chain attribution layer without paying Arkham. Where OFAC is legal ground-truth, ScamSniffer is the scam wallets analysts actually hit.

Source

https://raw.githubusercontent.com/scamsniffer/scam-database/main/blacklist/address.json — a flat JSON array, no key, ~2530 lowercase 0x addresses. Plain fetch (no new deps, unlike OFAC's XML or AID's pagination).

Dual sink (mirrors ofac.ts)

Sink Shape Purpose
iocs type=crypto-address, tags [scam, scamsniffer, phishing, eth], confidence 75 Landscape shift band
wallets entityType=scam, attributionSource=scamsniffer, confidence 75 /onchain attribution

Community intel → confidence 75 (vs OFAC's 100), entity_type=scam (vs sanctioned).

Confidence-preserving wallet upsert

The wallet onConflictDoUpdate uses GREATEST(confidence, excluded.confidence) + CASE-guarded label fields, so a scam label (75) never clobbers a higher-confidence attribution — an OFAC sanctioned wallet (100) or an analyst's manual label survives. OFAC always wins regardless of feed run order.

Verification (boundary-tested live)

Ran the connector against a local DB: 2530 addresses → 2530 iocs + 2530 wallets, 0 failed. Gateway tsc (strict gate) + api tests (16-feed registry) green. No migration (reuses iocs + wallets).

Registered as scamsniffer; scheduled daily 03:30 UTC (30 min after OFAC).

🤖 Generated with Claude Code

#3 of the free on-chain roadmap. ScamSniffer's openly-published blacklist of
crypto scam/phishing/drainer addresses (~2.5k EVM) — active-fraud coverage
alongside OFAC's sanctioned set, hardening on-chain attribution without
paying Arkham. Where OFAC is legal ground-truth, ScamSniffer is the scam
wallets analysts actually hit.

Plain JSON fetch (no deps), dual-sink mirroring ofac.ts:
  - iocs   — type `crypto-address`, tagged `scam` → Landscape shift band.
  - wallets — entityType `scam`, attributionSource `scamsniffer`, confidence
             75 (community intel, not authoritative like OFAC's 100).

The wallet upsert is confidence-preserving: a scam label (75) never clobbers
a higher-confidence attribution (OFAC sanctioned=100, or an analyst's manual
one) — GREATEST(confidence) + CASE-guarded fields — so OFAC always wins
regardless of feed run order.

Registered as `scamsniffer`; daily 03:30 UTC. No migration (reuses iocs +
wallets). Verified live against local DB: 2530 addresses → 2530 iocs + 2530
wallets, 0 failed; gateway tsc + api tests (16-feed registry) green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rinjanianalytics rinjanianalytics merged commit dbc1c32 into master Jun 17, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant