in-solana by Supanode

Address Lookup Table Program — ID & Instructions

AddressLookupTab1e1111111111111111111111111

The Address Lookup Table Program creates and manages on-chain address tables that allow versioned transactions (v0) to reference accounts by 1-byte index instead of full 32-byte public keys, significantly increasing the number of accounts a transaction can reference.

Program ID

AddressLookupTab1e1111111111111111111111111

Key instructions

InstructionDescription
CreateLookupTableCreates a new lookup table with a derived address
ExtendLookupTableAdds addresses to an existing lookup table
DeactivateLookupTableDeactivates a table (can no longer be referenced by new transactions)
CloseLookupTableCloses a deactivated table, reclaiming rent
FreezeLookupTablePermanently freezes a table (cannot be extended or closed)

How lookup tables work

  1. Create a table: derives the table address from the authority and a recent slot.
  2. Extend with addresses: add up to 256 public keys.
  3. Use in transactions: versioned transactions reference the table and use 1-byte indices.
  4. Deactivate/close: when no longer needed, reclaim the rent SOL.
Table account:
  Index 0 → PublicKey A (32 bytes)
  Index 1 → PublicKey B (32 bytes)
  Index 2 → PublicKey C (32 bytes)
  ...
  Index 255 → PublicKey Z (32 bytes)

Transaction references: [Table address] + [0, 1, 2]
Instead of: [PublicKey A, PublicKey B, PublicKey C]
Saves: 3 × 31 = 93 bytes

Table lifecycle

Create → Extend (add addresses) → Active (referenceable)
                                       ↓
                                  Deactivate → Cooldown (~512 slots) → Close

New addresses added via Extend require one slot (~400ms) to become active before transactions can reference them.

FAQ

How many addresses can a lookup table hold? Up to 256 addresses (indices 0–255).

Can anyone use my lookup table? Yes. Lookup tables are public. Any transaction can reference any active lookup table. Only the authority can modify (extend, deactivate, close) it.

What is the rent cost? The rent-exempt minimum scales with the number of addresses stored. A full table (256 addresses) costs approximately 0.0035 SOL.

Can I update an address in a lookup table? No. Once an address is added, it cannot be changed or removed. You can only add new addresses. To “replace” entries, create a new table.

Updated: