Address Lookup Table Program
What are Address Lookup Tables?
Address Lookup Tables (ALTs) allow transactions to reference accounts by index rather than full 32-byte addresses, dramatically reducing transaction size and enabling more complex transactions within Solana's size limits.
Smaller Transactions
Store account addresses in a table and reference them with 1-byte indices instead of 32 bytes.
More Accounts
Fit more account references in a transaction, enabling more complex multi-account operations.
Reusable Tables
Create tables once and reuse them across many transactions for frequently accessed accounts.
Program Details
Program ID: AddressLookupTab1e1111111111111111111111111
How It Works
An Address Lookup Table is an on-chain account that stores a list of addresses. Transactions can reference this table and use 1-byte indices to point to addresses within it, instead of including the full 32-byte address in the transaction.
For example, instead of including 20 × 32 = 640 bytes of addresses, a transaction using an ALT only needs 20 × 1 = 20 bytes plus a reference to the table.
Key Instructions
CreateLookupTable: Create a new address lookup table
ExtendLookupTable: Add addresses to an existing table
FreezeLookupTable: Make a table immutable (cannot be extended)
CloseLookupTable: Close and reclaim rent from a table
DeactivateLookupTable: Mark a table for deactivation before closing
Common Use Cases
DeFi protocols with many token accounts and pools
Multi-hop swap routes that touch many accounts
Gaming programs with complex state across many accounts
Governance systems voting across many proposals
Any transaction that hits account limits
Best Practices
Tables can hold up to 256 addresses
Wait at least 1 slot after extending before using new addresses
Consider freezing tables that won't change to prevent accidents
Deactivate tables before closing (must wait ~512 slots)
Group frequently used addresses together in the same table
Resources
Solana Address Lookup Tables Documentation
ALT Program Source Code
Versioned Transactions Guide