Docs
Search⌘ K
  • Home
  • About The Graph
  • Supported Networks
  • Protocol Contracts
  • AI Tooling
  • Subgraphs
    • Substreams
      • Indexer Software
        • Gateway Software
          • Data Services
            • Resources

              Bitcoin Mainnet

              Substreams (Non-EVM)
              The Graph Market⁠ • Pinax Network⁠
              Type
              mainnet
              Identifier
              btc
              Chain ID
              bip122:000000000019d6689c085ae165831e93
              Native Currency
              BTC
              Chain Docs
              https://developer.bitcoin.org⁠

              Indexing Data on Bitcoin

              Bitcoin is the original and largest proof-of-work blockchain, securing the BTC asset and a growing ecosystem of layers and protocols built on top of it. The Graph can stream that onchain activity — blocks and transactions, inputs and outputs, and address activity — as real-time data with Substreams.

              Bitcoin is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via The Graph Market⁠ and Pinax Network⁠.

              Indexing Bitcoin with Substreams

              Substreams is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via 10+ supported sinks. Substreams streams Bitcoin’s blocks, transactions, and their inputs and outputs. Modules are written in Rust and composed into reusable packages.

              Find an Existing Module on Substreams.dev

              Before writing any code, check the Substreams Registry⁠ for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Bitcoin; if a module fits, you can consume its output directly or import it as a dependency in your own project.

              Develop Your Own Substreams Module

              If no existing module fits, you can build one. The Substreams Quick Start is the full walkthrough. In short:

              1. Install the Substreams CLI and get a key at thegraph.market⁠ (no personal information required).
              2. substreams init does not have a template for Bitcoin yet, so set up the project by hand: write a substreams.yaml manifest⁠ with network: btc and a Rust map module that takes sf.bitcoin.type.v1.Block as its input (the protobuf definitions are published on Buf⁠).
              3. Write your extraction and transformation logic in Rust, then run substreams build.
              4. Stream the output with substreams gui (or substreams run) to iterate, then publish your package to the Substreams Registry⁠ to reuse or share it.

              Guides

              15 min

              Substreams quick start

              Stream high-speed data for real-time indexing.

              10 min

              Substreams.dev

              Access tutorials, templates, and documentation to build custom data modules.

              8 min

              Custom Substreams Sinks

              Leverage existing Substreams sinks to access data.

              5 min

              Substreams starter

              Leverage this boilerplate to create your first Substreams module.

              7 min

              Substreams GitHub repository

              Study, contribute to, or customize the core Substreams framework.

              The GraphStatusTestnetBrand AssetsForumSecurityPrivacy PolicyTerms of Service