Every rule change, dataset bump, and weight adjustment is logged here. Bumping the rule pack version is the canonical record of a methodology change. If you cached a score under a previous pack version, the dossier you saved carries the version string + SHA-256 so an auditor can recreate exactly which rules ran.
External cross-check via the public Chainalysis Sanctions Oracle.
2026-05-30
Every EVM dossier now carries an independent second-source check against the public Chainalysis Sanctions Oracle (contract 0x40C57923924B5c5c5455c48D93317139ADDaC8fb on Ethereum mainnet) — the same reference Uniswap, Coinbase Wallet, and most major frontends consume.
Two new rules. external_sanctions_oracle_confirmed: when both our local SDN list and the oracle agree, attach the oracle response as cited evidence on the existing direct-match signal — weight 0 (confirmation, not amplification).
external_sanctions_oracle_disagreement: when the oracle flags an address our local list misses, fire a critical signal with weight 80 — treats Treasury designations that landed faster than our manual sync as effectively sanctioned. The reverse direction (local YES, oracle NO) fires a low-severity disagreement log so an analyst can confirm whether the local SDN entry has been delisted.
Cross-check is EVM only — the oracle contract is not deployed on Solana.
Runs in parallel with the existing GoldRush + Helius fetches (typical oracle eth_call latency 200-600ms via publicnode.com fallback list). Net latency impact: zero.
CHAINALYSIS_ORACLE_VERSION pinned in dossier metadata so the cross-check is reproducible alongside rule_pack_sha256, sdn_list_version, goldrush_api_version, and helius_das_version.
0.4.0-mvp
Solana first-class coverage via Helius DAS + Enhanced Transactions.
2026-05-08
Solana subjects no longer return a 'limited coverage' advisory — they get a parallel pipeline that calls Helius for SPL + native holdings, recent signatures, and decoded native + token transfer counterparty extraction.
Same Cited<T> / Evidence contract as the EVM side.
sanctions_adjacency rule fires on Solana subjects when their decoded counterparty set intersects an active SDN entry.
SDN seed expanded with two Solana entries: DPRK SB0416 cross-listed + Lazarus Solana cluster from the FATF June 2025 Targeted Update.
helius_das_version pinned in dossier metadata for FCA 2024 reproducibility, parallel to goldrush_api_version on EVM.
0.3.2
DPRK cluster matching becomes data-driven.
2026-05-06
stablecoin_dprk_cluster_proximity now matches on the SdnEntry.cluster field instead of brittle label string-matching.
Future DPRK designations only need cluster: 'SB0416_DPRK' in sdn.ts to fire the specific rule — no engine code change required.
0.3.1
Removed a dead config key that was inflating the rule pack hash.
2026-05-05
Removed dead sanctions_adjacency_hop2 config key. It was defined in RULE_CONFIG but never read by the risk engine.
The dead key was inflating rule_pack_sha256 and misrepresenting active rules to auditors. SHA-256 now reflects exactly the rules the engine reads.
New rule sanctions_indirect_exposure_2hop walks the second-degree counterparty graph but only for 1-hop counterparties with material flow (≥ $1k USD bidirectional).
Capped at 30 1-hop walks per scan for cost-bounded latency (≈5s p95 added when materially-active).
Skipped on Solana since 1-hop USD aggregates are not yet computed on the Helius pipeline.
Defensible scope: FATF Recommendation 16 layered-funds typology; below the $1k threshold, indirect exposure is pure graph noise.
SDN seed expanded to ≈37 entries with Tornado Cash 2022-08-08 original designation (delisted 2025-03-21, retained as historic concern), Ronin Bridge Lazarus 2022-04-14 OFAC designation, and structured designation_date + treasury_ref fields per entry.
sdn_list_version bumped to 2026-05-07-tc-expanded.
0.2.2
ERC-20 transfer sweep added to sanctions counterparty set.
2026-05-03
SB0416 DPRK addresses are USDT contracts — they appear inside Transfer event logs, NOT as top-level tx counterparties.
This release sweeps USDT and USDC transfer histories per chain (3 pages each) and merges those counterparties into the sanctions check set.
Catches the asymmetric 'I funded a DPRK USDT address but my recent native ETH tx don't show it' case.
Sanctions adjacency rationale notes both top-level and ERC-20 sweep depths.
0.2.1
Deep counterparty sweep for sanctions checks.
2026-05-02
Sanctions adjacency, Tornado Cash historic exposure, stablecoin issuer-frozen-list match, and DPRK stablecoin cluster proximity now scan up to 5 pages (~500 tx) of transaction history rather than the recent-100 sample.
Catches the asymmetric blind spot where an active wallet's recent tx sample no longer contains an old interaction with a low-activity sanctioned counterparty.
Activity timeline and high_velocity rule still use the recent-100 sample.
0.2.0
Stablecoin compliance signals.
2026-05-01
Six new cited rules wired to STABLECOIN_REGISTRY (issuer cooperation profile + MiCA EMT status) and ISSUER_FROZEN_LIST (Tether / Circle / Paxos publicly-disclosed on-chain freezes).
Citation chain: CSIS December 2025 GENIUS Act FPSI report; Tether / Circle / Paxos quarterly transparency reports; ESMA MiCA EMT register; FATF Targeted Update June 2025; Treasury SB0416 March 12, 2026 DPRK stablecoin designation.
Added STABLECOIN_REGISTRY_VERSION and ISSUER_FROZEN_LIST_VERSION pinning to dossier metadata.
0.1.3
Solana branch with coverage advisory (pre-Helius).
2026-04-28
Solana wallets run only the balances endpoint + active SDN direct-match check.
Dossier carries an explicit advisory that full SPL / decoded-tx coverage requires a Helius supplement (out of MVP scope at the time).
Superseded by 0.4.0-mvp which delivers full Helius coverage.
0.1.2
ofac_direct_match — subject is itself sanctioned.
2026-04-25
Fires when the subject wallet is on the active OFAC SDN list (e.g., DPRK IT-worker designations from Treasury SB0416 2026-03-12).