Astralane
  • Welcome to Astralane
  • 🚅Low Latency
    • Quickstart
    • Endpoints and Configs
    • Submit Transactions
  • 🔍Data Pipelines
    • Overview
    • Our Products
      • Authentication
      • Dex Pools API
        • Latest Dex Pools API
      • OHLCV API
      • Websocket - Token price and Volume
      • Trade Data - Dex trades
      • PnL Indexer
      • Historical Token Portfolio
      • Top 100 Token Holders
      • Token Price API
      • Historical Token Price API
      • Profitable Wallets
      • Wallet PnL API
      • Trasaction Indexer
  • Japanese Docs
    • 🌌 Astralane ドキュメント
      • 低遅延 -クイックスタート
      • 🚅 エンドポイントと設定
      • トランザクションの送信
  • Mandarin Docs
    • 🌌 欢迎来到 Astralane
      • 低延迟快速入门
      • 🚅 端点和配置
      • 提交交易
Powered by GitBook
On this page
  1. Data Pipelines
  2. Our Products

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

query Transaction {
  transaction(
    limit: 1, 
    page: 1, 
    start_block_time: 1734312900, 
    end_block_time: 1734323700, 
    account_key: "BRnAAgctCz19YZw6q7maRsXHXP1j4oeqC93PGzjE5Si8"
  ) {
    block
    blockTime
    blockHeight
    parentSlot
    previousBlockhash
    signature
    transaction {
      signatures
      message {
        accountKeys
        recentBlockhash
        header {
          numReadonlySignedAccounts
          numReadonlyUnsignedAccounts
          numRequiredSignatures
        }
        instructions {
          accounts
          data
          programIdIndex
        }
      }
      meta {
        fee
        preBalances
        postBalances
        logMessages
        innerInstructionsNone
        rewards
        loadedWritableAddresses
        loadedReadonlyAddresses
        returnDataNone
        computeUnitsConsumed
        innerInstructions {
          index
          instructions {
            accounts
            data
            programIdIndex
          }
        }
        preTokenBalances {
          accountIndex
          mint
          owner
          programId
          uiTokenAmount {
            uiAmount
            decimals
            amount
            uiAmountString
          }
        }
        postTokenBalances {
          accountIndex
          mint
          owner
          programId
          uiTokenAmount {
            uiAmount
            decimals
            amount
            uiAmountString
          }
        }
      }
    }
    blockHash
  }
}

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

PreviousWallet PnL APINext🌌 Astralane ドキュメント

Last updated 1 month ago

🔍