Solana Data: Index Programs, Accounts, and Transactions
Index decoded Solana program data, account state, and transactions in one pipeline, delivered to your own database. Not a hosted API. Real-time via Geyser plus complete history, no node to run.
Solana is non-EVM and high-throughput, and its data does not look like Ethereum's. There is no native event-log system: a transaction is a list of instructions calling on-chain programs, each touching a set of accounts. Meaning lives in account state changes and in program logs, which are raw and unstandardized unless a program uses Anchor with an IDL. Real-time data comes off the validator through Geyser / Yellowstone gRPC, and complete history means large-scale indexing of accounts and instructions, not a single eth_getLogs range query.
Indexing Co decodes Solana program data, accounts, and transactions, shapes it into your schema, and delivers it to your own PostgreSQL, warehouse, or webhook. One pipeline that also covers your other chains. This is the model a hosted Solana API does not give you: decoded data in your own store, on a unified multi-chain schema. Mesh runs BTC, ETH, and SOL transfers through Indexing Co into one unified interface on exactly this pattern.
Why Solana data is hard
eth_getLogs range query to lean on.
What Indexing Co delivers for Solana
Run the stream yourself, or rent someone else's endpoint.
- Stand up a Geyser / Yellowstone gRPC stream and keep up with the chain head.
- Decode instructions, accounts, and IDL-encoded program logs by hand.
- Or take a hosted API in its shape, behind its rate limits, on its endpoint.
- Either way the data does not land in your database on your other chains' schema.
Decoded Solana data, in your store, on one multi-chain schema.
- Solana programs, accounts, and transactions decoded in a single pipeline.
- Shaped by your TypeScript transform into the schema you define.
- Lands in your PostgreSQL, BigQuery, warehouse, or webhook.
- The same pipeline carries your EVM and BTC chains. Real-time via Geyser plus complete history. No node.
What you can index
| Accounts and State | Programs and Transactions |
|---|---|
| Account updates and balance deltas | Decoded instructions and inner instructions |
| Token accounts (SPL) and mints | Program logs and Anchor events (via IDL) |
| Program-owned account state | SOL and SPL transfers |
| Slot and block metadata | Swaps, mints, and decoded program activity |
A transform, not a subgraph
You write the indexing logic in TypeScript, not Rust or AssemblyScript, and change it without re-indexing from genesis. The example below shapes a decoded SPL transfer into a row for your database.
// Illustrative: shape a decoded Solana SPL transfer into an output row
export function onSplTransfer(ix: DecodedInstruction): TransferRow {
return {
slot: ix.slot,
timestamp: ix.blockTimestamp,
signature: ix.signature,
mint: ix.accounts.mint,
source: ix.accounts.source,
destination: ix.accounts.destination,
amount: ix.data.amount,
};
}
Solana with Indexing Co
You want full control of your own Geyser stream and node, and have the team to operate the gRPC pipeline, IDL decoding, and historical indexing.
You want decoded Solana programs, accounts, and transactions delivered to your own database, on a schema shared with your other chains, with real-time plus complete history and no infrastructure to run.
Related Reading
- DeFi Data Infrastructure
- Payments Data Infrastructure
- Subgraph Migration: Moving Off The Graph's Hosted Service
- Indexing Co vs Subgraphs
FAQ
Does Indexing Co decode Solana program data, or just return raw transactions?
Decoded. Instructions, inner instructions, account state, and program logs are decoded into the shape you define, including Anchor events parsed against a program's IDL. You define the output schema.
How does Indexing Co get real-time Solana data?
We source low-latency data off the validator via the Geyser / Yellowstone gRPC plugin, which streams slots, accounts, transactions, and blocks. You do not run or keep up with that stream.
Can I index Solana alongside my EVM and Bitcoin chains?
Yes. That is the point. Solana lands in your own database on the same schema as your other chains. Mesh runs BTC, ETH, and SOL transfers through one unified interface on this model.
How is this different from a hosted Solana API?
A hosted API serves decoded data on its endpoint, in its shape, behind its rate limits. Indexing Co delivers decoded data into your own PostgreSQL, warehouse, or webhook, on a schema you own and share across chains.
Can I get complete historical Solana data?
Yes. We backfill account and instruction history and merge it with the real-time Geyser stream so your dataset is gap-free from your chosen start slot.
Get Started
Index Solana in minutes. Set up your first decoded program, account, or transfer pipeline without running a node.