@solana/kit · Transaction building

Solana error #5663026

TRANSACTION__VERSION_ZERO_MUST_BE_ENCODED_WITH_SIGNATURES_FIRST

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

Message

Transaction version 0 must be encoded with signatures first. This transaction was encoded with first byte $firstByte, which is expected to be a signature count for v0 transactions.

Placeholders (firstByte) 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 -- 5663026 '<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__VERSION_ZERO_MUST_BE_ENCODED_WITH_SIGNATURES_FIRST) lets you branch on it.

Decode another error

Try: