@solana/kit · Transaction building

Solana error #5663022

TRANSACTION__NONCE_ACCOUNT_CANNOT_BE_IN_LOOKUP_TABLE

Appears as Solana error #5663022; Decode this error by running `npx @solana/errors decode -- 5663022 '…'`

Message

The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction.

Placeholders (nonce) are filled from the error’s context. Paste the base64 argument below to see the real values.

What it means

Assembling, compiling, signing and size-checking transaction messages.

What to do

  • Set a fee payer and a lifetime (blockhash or durable nonce) before compiling.
  • Keep the serialised transaction at or under 1,232 bytes; use address lookup tables for large transactions.
  • A durable-nonce transaction must have AdvanceNonceAccount as its first instruction.

Decode it locally instead

npx @solana/errors decode -- 5663022 '<base64 context>'

In development, import from @solana/kit as usual and the full message is thrown. In production the message is stripped to keep bundles small; the error object still carries error.context with the same values this page decodes, and isSolanaError(err, SOLANA_ERROR__TRANSACTION__NONCE_ACCOUNT_CANNOT_BE_IN_LOOKUP_TABLE) lets you branch on it.

Decode another error

Try: