Skip to content

B1AAB/EBA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dataPipelineOverview_v3_README

EBA addresses a long-standing issue that has hindered the ML community from developing applications for Bitcoin: a lack of ML-first data. EBA interfaces with the Bitcoin network and creates a graph of the full history of transactions recorded on-chain. On this graph, the nodes are Bitcoin scripts (aka addresses), and the edges between them represent transactions recorded on-chain via the UTxO model. Simply put, the graph represents a transaction between addresses x and y as a time-stamped, directed edge between their corresponding nodes. Consequently, the flow of how funds are earned and spent can be traced by traversing these paths.

| Read More | NeurIPS 2025 Spotlight |

This graph is built for machine learning, particularly Graph Neural Networks (GNNs), allowing a graph-based model to aggregate information from neighbors through message passing and learn the topology of fund flows for various applications across the vibrant cryptocurrency ecosystem, including:

  • Exploring economic evolution and temporal behaviors.
  • Analyzing network dynamics and trading patterns.
  • Identifying suspicious or illicit activities.
  • Benchmarking large-scale, graph-based machine learning models.

| 101 Quick Start Jupyter Notebook | Explore Example Applications |

The Bitcoin Graph that EBA creates encompasses the complete trading details of over 8.72 billion BTC, and it consists of over 2.4 billion nodes and 39.72 billion time-stamped edges spanning more than a decade. We share the complete ETL pipeline and all the data it generates.

| Documentation | Quick Start | Data Releases |

To simplify working with the pipeline and its resources, we have split them into separate repositories. The following resource map will help you navigate to the resources that suit your application.

graph LR
    bitcoin{{Bitcoin Core}} --> eba(EBA);
    eba --> tsv[\Graph in TSV\];
    eba --> neo4j[\Graph in Neo4j\];
    neo4j --> neo4jDump[\Neo4j dump\];

    subgraph gStudio[Graph Studio]
        direction TB

        apps>Applications];

        offchain[/Off-chain Resources/];

        %%offchain --> apps;
    end

    eba --> coms[\Sampled Communities\];
    coms --> apps;    

    %% --- Link Definitions ---
    click eba "https://eba.b1aab.ai" "EBA"
    click offchain "https://github.com/B1AAB/GraphStudio/blob/main/off_chain_resources/" "Off-chain Resources"
    click apps "https://github.com/B1AAB/GraphStudio/blob/main/quickstart/" "Off-chain Resources"
    click neo4j "https://eba.b1aab.ai/releases/data-release/v1" "Graph in Neo4j"
    click neo4jDump "https://eba.b1aab.ai/releases/data-release/v1" "Neo4j Dump"
    click coms "https://www.kaggle.com/datasets/aab/bitcoin-graph-sampled-communities" "Sampled Communities"
    click tsv "https://eba.b1aab.ai/releases/data-release/v1" "Graph in TSV"

    %% --- Styling ---
    %%style eba fill:#ff9e00,stroke:#ff9e00,color:#000
    style eba fill:#5a189a,stroke:#5a189a,color:#fff
Loading