Solana Accounts
- Type
- mainnet
- Identifier
- solana-accounts
- Chain ID
- solana:Accounts
- Native Currency
- SOL
Indexing Data on Solana Accounts
Solana Accounts is a Substreams data source for Solana that streams account state changes — how program, token, and other accounts are created and updated over time — rather than transactions or instructions. The Graph can stream that onchain activity — account creations and updates, token account and balance changes, and program-owned account state — as real-time data with Substreams.
Solana Accounts is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via The Graph Market.
Indexing Solana Accounts 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. Solana Accounts streams Solana’s account block model, so modules have access to full account snapshots and updates as they change. 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 Solana Accounts; 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:
- Install the Substreams CLI and get a key at thegraph.market (no personal information required).
substreams init’s Solana templates stream Solana blocks, not account blocks, so set up the project by hand: write asubstreams.yamlmanifest withnetwork: solana-accountsand a Rust map module that takessf.solana.type.v1.AccountBlockas its input (the protobuf definitions are published on Buf).- Write your extraction and transformation logic in Rust, then run
substreams build. - Stream the output with
substreams gui(orsubstreams run) to iterate, then publish your package to the Substreams Registry to reuse or share it.