in-solana by Supanode

Transaction loads an address table account that doesn't exist

The transaction references an Address Lookup Table (ALT) account that does not exist on-chain or has been deactivated and closed.

Common causes

  1. Wrong lookup table address. The public key used for the lookup table is incorrect or from a different environment (devnet vs. mainnet).
  2. Table was deactivated and closed. The owner deactivated the ALT and reclaimed the rent after the cooldown period.
  3. Table not yet created. The ALT creation transaction has not been confirmed, or the table was created on a different cluster.
  4. Table recently created. The RPC node has not yet processed the slot where the ALT was created. Wait for confirmation.

How to fix

  1. Verify the ALT address. Use getAccountInfo to check that the lookup table account exists and is owned by the Address Lookup Table program (AddressLookupTab1e1111111111111111111111111).
  2. Check the cluster. Ensure you are using the same cluster (mainnet/devnet/testnet) where the ALT was created.
  3. Wait for confirmation. If you just created the ALT, wait for the creation transaction to be confirmed before using it.
  4. Recreate if closed. If the table was closed, create a new one with createLookupTable.

FAQ

What is an Address Lookup Table? An ALT stores up to 256 public keys on-chain. Transactions reference the table instead of including each key, reducing transaction size and enabling more accounts per transaction.

Can a closed ALT be reopened? No. Once an ALT is deactivated and closed, it cannot be reopened. You must create a new one.

How long before a deactivated ALT can be closed? Approximately one epoch (~2 days) after deactivation. During this cooldown, transactions referencing the table can still be processed.

Error text variants

  • Transaction loads an address table account that doesn't exist
  • Address lookup table not found
  • address table account does not exist

Updated: