Ledger All ledgers
Crypto sanctions, hacks and enforcement data for developers
Free JSON and CSV files: 1,056 sanctioned crypto addresses, 939 FBI theft addresses, hacks, US enforcement and MiCA licences, updated twice a day. CC BY 4.0.
Every ledger is a plain file you can fetch, with no key or sign-up. Please fetch a file once per update rather than per request. Files update with each desk run, twice a day; check the data status for how current each source is. They are licensed CC BY 4.0: use them in products, research or articles, crediting Bitminer.io with a link. Source data stays under its publisher’s terms.
| File | Rows | Fields | What it holds |
|---|---|---|---|
| hacks-in-court.json · .csv | 8 | hack_date, hack, lost_usd, action_date, agency, step, summary, document | Hacks named in a later US theft or laundering document. |
| failures.json · .csv | 1,335 | date, name, lost_usd, returned_usd, target_type, category, method, chains, page | Every recorded crypto hack, exploit and theft, from DefiLlama. |
| crypto-atm-scams-by-state.json · .csv | 56 | state, year, complaints, adjusted_losses_usd, population, losses_per_100k_residents | FBI crypto kiosk scam complaints and losses by US state, with losses per resident. |
| enforcement.json · .csv | 444 | date, agency, stage, scheme, figure_usd, figure_means, prison_months, summary, companies_mentioned, document | US crypto enforcement documents since 2024 (DOJ, SEC, CFTC, OFAC, FinCEN, New York DFS), each classified by stage and scheme. |
| licences.json · .csv | 383 | from, firm, legal_name, lei, country, authority, basis | Every firm authorised under MiCA in ESMA’s interim register. |
| fbi-theft-addresses.json · .csv | 939 | address, network, thefts_named_in_notice, fbi_notice_date, fbi_notice, fbi_says, on_ofac_list | Addresses the FBI published as holding funds from thefts it attributes to North Korea, with each notice’s wording. Not sanctions. |
| wallets.json · .csv | 1,056 | address, network, holder, programme, date_ofac_added_it, ofac_action_adding_it, ofac_entry_uid | Every crypto address on the US Treasury’s OFAC sanctions list. Individuals appear as “Individual”. |
| search-demand.json · .csv | 24 | term, group, 2025-10, 2025-11, 2025-12, 2026-01, 2026-02, 2026-03, 2026-04, 2026-05, 2026-06, 2026-07, 2026-08, 2026-09 | Monthly search demand for crypto topics. |
Monthly copies for citing
The files above change with every update. Early each month a copy of the hacks, enforcement, sanctioned wallets and EU licences CSVs is frozen and kept at a fixed address, so a figure you cite can be checked later against the data as it stood.
| Copy | Taken | Files |
|---|---|---|
| 2026-11 | 05 Nov 2026 | failures.csv · enforcement.csv · wallets.csv · licences.csv |
Shape of a file
Each JSON file holds fields (the column names), rows (arrays in that order), updated, source, cite and license. The CSV has the same columns.
Example: an offline address check
// Check addresses against the sanctions list and the FBI's theft notices, offline.
const sdn = await (await fetch('https://bitminer.io/data/wallets.json')).json();
const fbi = await (await fetch('https://bitminer.io/data/fbi-theft-addresses.json')).json();
const key = a => /^0x|^bc1/i.test(a) ? a.toLowerCase() : a;
const listed = new Map(sdn.rows.map(r => [key(r[0]), r]));
const flagged = new Map(fbi.rows.map(r => [key(r[0]), r]));
for (const a of ['0x098B716B8Aaf21512996dC57EB0615e2383E2f96']) {
console.log(a, listed.get(key(a)) ? 'on the OFAC list' : flagged.get(key(a)) ? 'named by the FBI' : 'on neither');
}
Ethereum-style and bech32 addresses are matched without regard to letter case; others exactly, as in the address check. For decisions that matter, confirm against OFAC’s own Sanctions List Search. New listings and removals arrive in the sanctions feed.
Cite this Bitminer.io, “Crypto sanctions, hacks and enforcement data for developers”, data to 5 November 2026, https://bitminer.io/ledger/data/. Free to reuse under CC BY 4.0 with credit and a link. How this is built · Frozen copy of November 2026’s data