// documentation

learn how to use tx-indexer

installation

npm

Loading...

bun

Loading...

yarn

Loading...

pnpm

Loading...

quick start

Loading...

API reference

createIndexer(options)

Creates a new indexer instance.

Options:

  • rpcUrl: string - Solana RPC endpoint
  • wsUrl?: string - Optional WebSocket URL
  • client?: SolanaClient - Pre-configured client

getBalance(walletAddress, tokenMints?)

Fetches wallet balance including SOL and specified tokens.

getTransactions(walletAddress, options?)

Fetches and classifies transactions for a wallet.

Options:

  • limit?: number - Number of transactions (default: 10)
  • filterSpam?: boolean - Filter spam (default: true)
  • enrichNftMetadata?: boolean - Fetch NFT metadata (default: true)

getTransaction(signature, options?)

Fetches and classifies a single transaction by signature. Returns null if not found.

getRawTransaction(signature)

Fetches raw transaction data without classification.

transaction types

transfer

Wallet-to-wallet transfers

swap

Token exchanges (any DEX)

nft_mint

NFT minting

nft_transfer

NFT transfers between wallets

stake_deposit

SOL staking deposits

stake_withdraw

SOL staking withdrawals

bridge_in

Receiving from bridge

bridge_out

Sending to bridge

airdrop

Token distributions

fee_only

Only network fees

solana_pay

Solana Pay payments

privacy_cash

Privacy-preserving transactions

examples

get wallet transaction history

Loading...

check if transaction is a swap

Loading...

frontend perspective handling

Loading...

RPC compatibility

Core features (transactions, balances, classification) work with any Solana RPC.

NFT metadata enrichment requires a DAS-compatible RPC (Helius, Triton, etc.). If using a standard RPC, disable it:

Loading...

bundle size

ImportSize (minified + brotli)
Full SDK11.34 KB
createIndexer only11.34 KB
classifyTransaction6.39 KB
fetchTransaction7.39 KB
transactionToLegs7.3 KB

need more help? check out the repository

view on github →