Skip to content

Releases: RohanOnKeys/bitcraft

BitCraft v0.1.4

Choose a tag to compare

@RohanOnKeys RohanOnKeys released this 03 Oct 09:13
2895462

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/charts endpoint 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 m on the dashboard to mark the selected alert reviewed, escalate or dismiss (R, E or D in the triage column).
  • No guessed numbers. If /threats/overview fails, 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

Choose a tag to compare

@RohanOnKeys RohanOnKeys released this 02 Oct 19:36
fb61340

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 to datasets/synthetic/.
  • The air-gapped bundle fetches missing datasets before packing them.
  • Dataset sources credited in datasets/NOTICE and docs/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

Choose a tag to compare

@RohanOnKeys RohanOnKeys released this 02 Oct 14:10
91c4eed

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 bitcraft command.
  • 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 bitcraft package 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/chocolatey but 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

Choose a tag to compare

@RohanOnKeys RohanOnKeys released this 02 Oct 13:36
7f7d4d7

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 bitcraft command.
  • 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 bitcraft package 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/chocolatey but 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.