Trasaction Indexer

Raw solana transactions

Transaction Indexer Overview

The Transaction Indexer captures and stores finalized Solana blockchain transactions from the latest two epochs using Geyser gRPC. This indexed data is made accessible via a GraphQL API, allowing developers and analysts to efficiently query and analyze transactions without directly interacting with Solana’s RPC endpoints.


Key Features

  • Real-Time Transaction Indexing Ingests and processes finalized transactions in real-time using Geyser gRPC.

  • Efficient Data Storage Transactions are structured and stored in ClickHouse, enabling high-performance querying.

  • GraphQL API Access Provides a robust and flexible GraphQL interface for querying transaction data, supporting filters and pagination.


Architecture

  • Data Ingestion

    • Source: Solana blockchain via Geyser gRPC

    • Processing: Transactions are parsed, structured, and indexed

    • Batching: Batched and flushed periodically to optimize performance

  • Data Storage

    • Database: ClickHouse (chosen for its speed and scalability)

  • GraphQL API

    • Queryable endpoint for transaction data

    • Built-in resolvers support pagination, filtering, and deep transaction inspection


GraphQL API

  • Base URL: https://graphql.astralane.io/api/v1/dataset/transactions


Query Example – Fetch Transactions with Pagination


Use Cases

  • Real-time monitoring and indexing of wallet activity

  • Building custom transaction explorers

  • Historical transaction analysis and token flow tracking

  • Developer tools and dashboards for Solana on-chain data


Query Filters

Field
Type
Description

limit

Integer

Default: 100, max number of rows to fetch

page

Integer

Default: 1, Page number

block

Integer

Block slot to filter, eg: 307771651

start_block_time

Integer

Unix timestamp of date time in seconds eg: 1734312900

end_block_time

Integer

Unix timestamp of date time in seconds1734313900

account_key

string

Public key of account to search for

start_block

Ineger

Block slot to start with

end_block

Integer

Block slot to end with

Last updated