Solana Tracker LogoSolana Tracker
Swap
Developers
⌘K
Affiliate
All Resources
Find Reusable Solana LUTs Before You Build the Transaction
UpdatesJSON-RPCJune 4, 20265 min read

Find Reusable Solana LUTs Before You Build the Transaction

Find and reuse indexed Solana address lookup tables for smaller transactions with Ridge DB RPC methods.

  • updates,
  • solana-rpc,
  • address-lookup-tables,
  • raptor,
  • ridge-db
Solana RPC›Raptor API›

Reusing LUTs beats creating them from scratch

Solana Tracker RPC now includes four Ridge DB-powered methods for finding and reusing Solana address lookup tables. Instead of creating a new LUT, paying SOL, waiting for activation, and maintaining it yourself, you can search indexed LUTs that already contain the accounts your transaction needs.

Each lookup table method costs 1 credit per call.

Why LUT reuse matters for transaction builders

Address lookup tables are one of the cleanest ways to fit more accounts into Solana transactions, but creating your own LUT has operational overhead. You need to fund it, extend it, wait for it to become usable, and keep it maintained.

These methods make reuse practical. Find LUTs by authority, account, mint, or full account set, then build smaller versioned transactions with tables that already exist.

This is useful for swap routing, transaction compression, bots, wallets, and aggregators. Our Raptor DEX Aggregator uses LUTs for compact route execution, and the same pattern helps any app that needs to pack more accounts into one Solana transaction without spending SOL to create fresh tables for every route shape.

Four LUT methods cover discovery and compression

  • getLookupTablesByAuthority - returns LUTs owned by a wallet authority
  • getLookupTablesByAccount - finds LUTs containing a specific account
  • getLookupTablesByMint - finds LUTs containing a token mint
  • getLookupTablesByAccounts - finds LUTs containing every listed account, or a compact best set with bestSet: true

Responses include match metadata such as matchedAccounts, matchedAddressIndices, and estimatedBytesSaved where available.

Find Tables for a Mint

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLookupTablesByMint",
  "params": [{
    "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "limit": 100
  }]
}

Use this when your transaction touches a token mint and you want to find LUTs that already include it.

Find the Best LUT Set

For transaction builders, getLookupTablesByAccounts with bestSet: true is the most useful mode. Pass the accounts your transaction expects to use, and Ridge DB returns a greedy compact LUT set optimized for coverage and estimated byte savings.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLookupTablesByAccounts",
  "params": [{
    "accounts": [
      "AccountApubkey11111111111111111111111111111",
      "AccountBpubkey22222222222222222222222222222",
      "AccountCpubkey33333333333333333333333333333"
    ],
    "bestSet": true,
    "maxLookupTables": 8,
    "candidateLimit": 5000,
    "perAccountLimit": 500
  }]
}

Example response fields:

{
  "result": {
    "lookupTables": [{
      "pubkey": "LUT1pubkey1111111111111111111111111111111111",
      "matchedAccounts": [
        "AccountApubkey11111111111111111111111111111",
        "AccountBpubkey22222222222222222222222222222"
      ],
      "matchedAddressIndices": [3, 17],
      "estimatedBytesSaved": 62
    }],
    "coveredAccounts": [
      "AccountApubkey11111111111111111111111111111",
      "AccountBpubkey22222222222222222222222222222"
    ],
    "uncoveredAccounts": [
      "AccountCpubkey33333333333333333333333333333"
    ],
    "estimatedBytesSaved": 62,
    "count": 1
  }
}

Use coveredAccounts and uncoveredAccounts to decide whether to use the returned set, add another table, or fall back to a normal account list.

Find Tables by Authority

If you already know which authority owns useful LUTs, query by authority and optionally filter to token mints only.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLookupTablesByAuthority",
  "params": [{
    "authority": "9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p",
    "limit": 100,
    "mintsOnly": false,
    "includeDeactivated": false
  }]
}

This is useful for inventorying your own LUTs, inspecting active tables, and finding addresses already indexed under a known authority.

Read the LUT RPC docs

  • getLookupTablesByAuthority
  • getLookupTablesByAccount
  • getLookupTablesByMint
  • getLookupTablesByAccounts
  • Credits and rate limits

FAQ

How many credits does each LUT method cost?

Each method costs 1 credit per call.

Why reuse LUTs instead of creating new ones?

Reusing existing LUTs avoids funding and managing new lookup tables when the accounts you need are already indexed elsewhere.

What does bestSet: true do?

It returns a greedy minimal LUT set that covers as many requested accounts as possible, tuned for transaction size reduction rather than strict intersection.

Related Guides

Resolve .sol Wallet Identity in One Solana RPC Call
Updates

Resolve .sol Wallet Identity in One Solana RPC Call

Read more
High Performance RPC Node Providers for Solana Apps
Solana RPC

High Performance RPC Node Providers for Solana Apps

Read more
Rank Solana Traders by PnL, Not Follower Count
Data API

Rank Solana Traders by PnL, Not Follower Count

Read more

Products

  • Data API
  • Pump.fun API
  • Solana RPC
  • Dedicated Nodes
  • Yellowstone gRPC
  • Raptor Swap API
  • Enterprise

Trading

  • Swap
  • Latest Tokens
  • Trending
  • Top Gainers
  • Memescope
  • Whale Watch
  • KOL Tracker

Tools

  • Wallet Tracker
  • Rugcheck
  • PnL Leaderboard
  • KOLScan
  • Axiom Leaderboard
  • Photon Leaderboard
  • Bloom Leaderboard
  • FOMO Leaderboard
  • GMGN Leaderboard
  • Pump.fun App Leaderboard
  • Terminal Leaderboard
  • Platform Compare
  • My Positions
  • Teams

Resources

  • Developer Guides
  • Blog
  • Documentation
  • API Reference
  • Status
  • Affiliate Program — 25% recurring, uncapped
Solana TrackerSolana Tracker© 2026
Terms of ServicePrivacy PolicyContact