Transaction size
Legacy and v0 transactions are limited to 1,232 bytes — the IPv6 minimum packet size minus headers. Signatures and 32-byte account keys use most of it; lookup tables shrink accounts to one byte each.
The first two rows are SetComputeUnitLimit (5 bytes) and SetComputeUnitPrice (9 bytes).
863 bytes left. Each length prefix is a compact-u16 (1 byte below 128).
Wire format: signatures (compact-u16 count + 64 bytes each), message header, account keys, recent blockhash, instructions, and in v0 the lookup-table section. Limit: SIMD-0296, SIMD-0385.
FAQ
What is the Solana transaction size limit?
1,232 bytes for legacy and v0 transactions. SIMD-0296 and the v1 transaction format (SIMD-0385) specify 4,096 bytes for the new format; legacy and v0 keep 1,232.
How do address lookup tables save space?
In a v0 transaction an account stored in a lookup table is referenced by a one-byte index instead of its 32-byte key; each table costs 32 bytes for its own address plus the index lists.
Does a larger transaction pay a higher fee?
Not directly: the base fee is per signature and the priority fee per compute unit. Size limits what fits, not what it costs.