Repository navigation
Releases: RohanOnKeys/bitcraft
Release list
BitCraft v0.1.4
Every chart in BitCraft now shows real data from the pipeline, and analysts can mark alerts for triage.
Changes
- Real data in every chart. A new
GET /stats/chartsendpoint serves per-timestep counts, seconds per pipeline stage, the degree histogram, BTC volume and suspicious traffic by country.- Dashboard KPI sparklines show each measure per timestep; the pipeline tile shows seconds per stage.
- Graph explorer: each stat tile has its own series; BTC volume per timestep, all vs alerted (2.2% of volume); suspicious traffic by source country and timestep; the transaction graph's degree distribution on a log scale.
- The neighbourhood graph fills in from
/graph/{tx_id}and never shows a made-up layout.
- Triage marks. Press
mon the dashboard to mark the selected alert reviewed, escalate or dismiss (R, E or D in the triage column). - No guessed numbers. If
/threats/overviewfails, the error surfaces instead of totals estimated from one page of alerts. The placeholder chart module and an unused widget are gone. - Weights guarded. The TUI's score breakdown uses the same fusion weights as
ml/config.yaml, checked by a test.
Install
pipx install bitcraft # or: pip install bitcraft
bitcraft demo
Python 3.10+, on Linux, Windows and macOS. Package: https://pypi.org/project/bitcraft/
Datasets
Unchanged: the archives stay on release v0.1.3 and python -m ml.dataset download fetches and verifies them. docker compose up --build downloads them on its first run.
Authors
Rohan Pattanayak, Jagadish Prasad Pattanaik, Shreya Mishra, Shreya Mohanty, Ashutosh Badapanda and Rosalin Nayak. Licensed under Apache 2.0. IP geolocation by DB-IP, CC BY 4.0.
BitCraft v0.1.3
Every BitCraft dataset now ships with the release, so the full system runs for anyone, not only the demo.
Datasets
python -m ml.dataset download # all three archives, SHA-256 verified, into datasets/
python -m ml.synthetic # or: a fully synthetic dataset, no download
| Archive | Contents |
|---|---|
bitcraft-base.zip (148 MB) |
The five base tables (Rosalin Nayak, Kaggle rosalinnayak/bitcoin-transaction-traffic) |
bitcraft-metadata.zip (78 MB) |
50,000 challenge-format records in CSV, JSON and XML, GeoIP-enriched versions, txid_map.csv, generator_truth.csv |
bitcraft-geoip.zip (10 MB) |
DB-IP Lite country and ASN databases (CC BY 4.0) and the IP pool cache |
SHA256SUMS lists the hashes, which are also pinned in ml/references/dataset_manifest.json. Each archive carries LICENSE and NOTICE.
Changes
python -m ml.dataset download | status | pack: no Kaggle account needed.python -m ml.synthetic: base tables plus CSV, JSON and XML metadata in the same contract, written todatasets/synthetic/.- The air-gapped bundle fetches missing datasets before packing them.
- Dataset sources credited in
datasets/NOTICEanddocs/dataset_provenance.md: Rosalin Nayak's Kaggle dataset, the Elliptic Data Set, blockchain-etl/bitcoin-etl, Schnoering and Vazirgiannis (arXiv:2411.10325) and DB-IP Lite. - Author name corrected to Ashutosh Badapanda on PyPI and in the Chocolatey package.
Install
pipx install bitcraft # or: pip install bitcraft
bitcraft demo
Authors
Rohan Pattanayak, Jagadish Prasad Pattanaik, Shreya Mishra, Shreya Mohanty, Ashutosh Badapanda and Rosalin Nayak. Code under Apache 2.0; datasets under Apache 2.0 (datasets/LICENSE) with third-party terms in datasets/NOTICE. IP geolocation by DB-IP, CC BY 4.0.
BitCraft v0.1.2
First public release of BitCraft: AI-powered monitoring and analysis of Bitcoin transaction traffic, in your terminal. Built for Smart India Hackathon 2026, problem statement SIH26146.
Install
pipx install bitcraft # or: pip install bitcraft
bitcraft demo
Python 3.10+, on Linux, Windows and macOS. Package: https://pypi.org/project/bitcraft/
Highlights
- Ingestion of transaction and network metadata from CSV, JSON, JSON Lines and XML, with per-row validation and reasons for every rejected row.
- Offline GeoIP enrichment (country, ASN, organisation) from DB-IP Lite, with Tor-exit and hosting networks flagged.
- Entity graph linking IP addresses, wallet addresses and transactions; wallet clustering by common-input ownership; Louvain communities over the 203,769-node transaction graph.
- Machine learning: a supervised risk model, a metadata model and an Isolation Forest, fused into one composite score.
- Explainable alerts for transactions and wallets: confidence score, weighted drivers, SHAP reasons and evidence tagged real or modeled.
- Terminal dashboard: dashboard, threats, graph explorer, wallets and alert detail, opened with a single
bitcraftcommand. - Fully offline at runtime, with a Docker Compose stack verified on Linux and an air-gapped install bundle.
Results
On held-out timesteps 35 to 49 (16,670 labeled transactions, 6.5% illicit), the shipped ranking reaches AUC 0.899, with 100% precision in the top 100 alerts and 99.4% in the top 500. On the metadata layer, 98% of the top 100 wallet alerts are illicit owners. That layer uses planted typologies, so it measures recovery of those patterns, not real-world accuracy.
What is in this release
- The
bitcraftpackage on PyPI: the terminal interface. It connects to a BitCraft API, or uses built-in demo data when none is running. - The full system in this repository: ML pipeline (
ml/), FastAPI backend (backend/), Docker Compose, and the air-gapped bundle builder (packages/offline_bundle.py). - Documentation: user manual, technical writeup, model card, dataset provenance and a submission checklist in
docs/.
Notes
- The datasets are not included in the repository; see
docs/dataset_provenance.md. - A Chocolatey package is prepared in
packages/chocolateybut not yet published. - PyPI versions 0.1.0 and 0.1.1 have the same code; 0.1.1 added the project README as the PyPI description and 0.1.2 corrects the author credits.
Authors
Rohan Pattanayak, Jagadish Prasad Pattanaik, Shreya Mishra, Shreya Mohanty, Ashutosh Badapada and Rosalin Nayak. Licensed under Apache 2.0. IP geolocation by DB-IP, CC BY 4.0.
Bitcraft 0.1.1
First public release of BitCraft: AI-powered monitoring and analysis of Bitcoin transaction traffic, in your terminal. Built for Smart India Hackathon 2026, problem statement SIH26146.
Install
pipx install bitcraft # or: pip install bitcraft
bitcraft demo
Python 3.10+, on Linux, Windows and macOS. Package: https://pypi.org/project/bitcraft/
Highlights
- Ingestion of transaction and network metadata from CSV, JSON, JSON Lines and XML, with per-row validation and reasons for every rejected row.
- Offline GeoIP enrichment (country, ASN, organisation) from DB-IP Lite, with Tor-exit and hosting networks flagged.
- Entity graph linking IP addresses, wallet addresses and transactions; wallet clustering by common-input ownership; Louvain communities over the 203,769-node transaction graph.
- Machine learning: a supervised risk model, a metadata model and an Isolation Forest, fused into one composite score.
- Explainable alerts for transactions and wallets: confidence score, weighted drivers, SHAP reasons and evidence tagged real or modeled.
- Terminal dashboard: dashboard, threats, graph explorer, wallets and alert detail, opened with a single
bitcraftcommand. - Fully offline at runtime, with a Docker Compose stack verified on Linux and an air-gapped install bundle.
Results
On held-out timesteps 35 to 49 (16,670 labeled transactions, 6.5% illicit), the shipped ranking reaches AUC 0.899, with 100% precision in the top 100 alerts and 99.4% in the top 500. On the metadata layer, 98% of the top 100 wallet alerts are illicit owners. That layer uses planted typologies, so it measures recovery of those patterns, not real-world accuracy.
What is in this release
- The
bitcraftpackage on PyPI: the terminal interface. It connects to a BitCraft API, or uses built-in demo data when none is running. - The full system in this repository: ML pipeline (
ml/), FastAPI backend (backend/), Docker Compose, and the air-gapped bundle builder (packages/offline_bundle.py). - Documentation: user manual, technical writeup, model card, dataset provenance and a submission checklist in
docs/.
Notes
- The datasets are not included in the repository; see
docs/dataset_provenance.md. - A Chocolatey package is prepared in
packages/chocolateybut not yet published. - 0.1.1 has the same code as 0.1.0, with the project README as the PyPI description.
Authors
Rohan Pattanayak, Jagadish Pattnaik, Shreya Mishra, Shreya Mohanty, Ashutosh Badapada and Rosalin Nayak. Licensed under Apache 2.0. IP geolocation by DB-IP, CC BY 4.0.