@solana/kit · Transaction building

Solana error #5663000

TRANSACTION__INVOKED_PROGRAMS_CANNOT_PAY_FEES

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

Message

This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees

Placeholders (programAddress) 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 -- 5663000 '<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__INVOKED_PROGRAMS_CANNOT_PAY_FEES) lets you branch on it.

Decode another error

Try: