Skip to main content
Address lookup tables let a Solana transaction reference accounts by table index. Use the Ridge RPC methods to find tables containing your transaction’s accounts and select a set before building the message.
  • LUTs owned by a wallet authority.
  • LUTs that contain one account or token mint.
  • LUTs that contain every account in a set.
  • A best-effort LUT set for reducing transaction size.
Each Lookup Table RPC method costs 1 credit per call.

When to use these methods

Use these methods before building a versioned transaction, or to inspect where an account appears in existing tables.
Start with getLookupTablesByAccounts when your goal is transaction optimization. Use the single-account methods when you are exploring where a specific account or mint appears.

RPC endpoint

All examples use JSON-RPC 2.0 over HTTP:

Find luts by authority

Query getLookupTablesByAuthority for tables controlled by a wallet authority.
The response is paginated:
deactivationSlot uses 18446744073709551615 to represent an active LUT.

Find luts containing one account

Use getLookupTablesByAccount when you already know an account that will appear in a transaction and want to find LUTs that contain it.
Matched results include transaction-optimization metadata:

Find luts containing a mint

getLookupTablesByMint is the same lookup pattern as getLookupTablesByAccount, but the parameter name is mint.
Use this when a transaction is token-centric and you want to discover LUTs that already contain the mint address.

Find luts for a full account set

getLookupTablesByAccounts has two modes: intersection mode and best-set mode.

Intersection mode

Intersection mode returns LUTs that contain every account you provide. Use it when you need one table that covers the full set.

Best-set mode

Best-set mode selects tables to cover the supplied accounts and reduce the transaction message size. Set bestSet: true and pass the full account list your transaction needs:
The response tells you what the selected LUTs cover:

Best-set tuning

Start with the defaults. Tune only after measuring the returned coverage, estimated savings, and request time.

Example: choose luts before building a transaction

The typical flow is:
  1. Collect the accounts your transaction will reference.
  2. Call getLookupTablesByAccounts with bestSet: true.
  3. Attach returned LUTs to your transaction builder.
  4. Keep uncoveredAccounts as normal account keys.

Practical tips

  • Use bestSet: true for transaction-size optimization, not for exhaustive discovery.
  • Use owner when you only trust or care about LUTs controlled by a specific authority.
  • Use mintsOnly on authority lookups when you are building token-oriented UX and do not need every stored address.
  • Treat estimatedBytesSaved as a planning signal, then still simulate the final transaction.
  • Keep pagination logic for authority, account, and mint searches. Popular accounts can appear in many LUTs.

getLookupTablesByAccounts

Find LUTs for multiple accounts or get a best-fit LUT set.

Credits and Rate Limits

Review credit costs and plan limits for RPC calls.