Solana Just Tripled Its Transaction Size: 1,232 to 4,096 Bytes, Live Since Epoch 1035
Solana activated Transaction V1 at epoch 1035, taking the maximum transaction size from 1,232 to 4,096 bytes. Here's what fits now — and which apps break.
Solana flipped its biggest transaction-format change since 2022 on mainnet this morning. When the network rolled into epoch 1035 shortly after 01:20 UTC, the maximum size of a single Solana transaction went from 1,232 bytes to 4,096 bytes — a 3.3x jump that was defined by SIMD-0296 and delivered through the entirely new message layout of SIMD-0385, the v1 transaction format.
I checked it against the chain rather than the announcement. Solana's mainnet RPC reports epoch 1035, 246,342 slots into the network's 432,000-slot epoch, and a lifetime transaction count of 548,852,775,110. Then I pulled four consecutive blocks — slots 447,366,338 through 447,366,341 — and counted 7,207 transactions: 316 of them were already sent in the new version 1 format, 3,551 were v0 and 3,340 were legacy. That is 4.4% of a live mainnet sample using a format that is barely a day old, and nobody had to do anything to make it happen.
Advertisement
Why 1,232 Bytes Was the Ceiling for Years
The old limit was never about compute. It came from network plumbing: the original Solana client sized transactions to fit inside the 1,280-byte minimum IPv6 MTU, and the leftover 1,232 bytes was the practical maximum. Every account address takes 32 bytes and every Ed25519 signature takes another 64, so a transaction that touched a few dozen accounts and carried a handful of signatures could run out of bytes long before it ran out of runtime limits.
The first patch for that was transaction v0 in October 2022, which introduced Address Lookup Tables: instead of repeating 32-byte public keys, a v0 transaction referenced them by one-byte indices. It worked — research cited by the Solana Foundation found around 62% of v0 transactions reference at least one lookup table — but it added an on-chain dependency that validators had to resolve, indexers had to reconstruct, and that becomes impossible to decode historically once a table is closed.
Advertisement
What made the ceiling artificial in the first place is QUIC. Solana moved transaction ingestion to it in 2022, and QUIC defines no maximum stream size, so the MTU maths stopped constraining anything. The new 4,096-byte number was picked for hardware reasons instead: it matches the standard 4 KiB page validators already handle in memory, so a full-size transaction stays inside a single page. The wire-format details are laid out in Helius' breakdown of legacy, v0 and v1.
What v1 Changes Inside the Transaction
Three structural changes matter. First, the version discriminator moves to position zero — a v1 transaction starts with the byte 0x81 — so infrastructure can identify the format without deserialising the payload. Second, signatures move to the tail. Third, a 32-bit TransactionConfigMask at a fixed offset now carries the priority fee, the compute-unit limit, the loaded-accounts data-size limit and the heap size directly in the message header, replacing the ComputeBudget instructions that legacy and v0 transactions had to embed as program calls. Those instructions still exist, but inside a v1 transaction they are ignored as no-ops.
The most visible trade is what leaves the format: Address Lookup Tables are gone in v1. All account addresses must appear inline. At the old size that was impossible — 64 accounts of 32 bytes each would have eaten 2,048 bytes of a 1,232-byte budget — but inside a 4,096-byte envelope the full account list fits with room left over, so the lookup-table indirection stops paying for itself. Parsing gets simpler and historical decoding stops depending on tables that may no longer exist.
What Fits Now That Never Fit Before
The headline unlock is zero-knowledge proofs. Proof payloads routinely exceed 1,232 bytes, which is why privacy features built on them — such as Confidential Transfers under the Token Extensions standard — could not be constructed as a single atomic transaction before. A user had to split work across multiple calls or accept a window where the operation was half-applied. At 4,096 bytes the whole thing lands in one transaction, or it does not land at all.
Alongside proofs, three more workloads become practical: BLS signature schemes that aggregate many signatures into one compact proof, which matters for cross-chain bridge attestations and validator-set signing; nested multisigs of the kind institutional treasuries and DAOs run through Squads, which previously ran out of envelope once you added signatories; and on-chain signature schemes such as Winternitz one-time signatures that need far more than a kilobyte of instruction data.
There is an atomicity angle too, and it is why the proposal exists. Developers who needed more room had been stitching five-transaction Jito bundles together, relying on a block engine for all-or-nothing execution while competing on tips. A native v1 transaction carries Solana's own protocol-level guarantee: it either succeeds fully or reverts cleanly, without bundle infrastructure, with fewer signatures to pay for and one confirmation instead of several. The reasoning behind removing lookup tables is set out in the Foundation's ALT trade-off analysis.
“This upgrade addresses a practical ceiling that application teams have had to design around since the early days of Solana, and brings a whole new class of capabilities that we're looking forward to support.” — the Solana Foundation's upgrade page
Who Has to Do Something — and Who Does Not
If you hold SOL in a wallet, the answer is nothing. Legacy and v0 transactions are untouched, approval flows are unchanged, and v1 is strictly opt-in for senders. The work sits with builders. A v1 transaction must state its compute-unit limit and loaded-accounts data-size limit explicitly, because both default to zero and an unconfigured transaction fails; the recommended path is one simulation with both limits maxed, rounding the data size up to the next 32 KiB page, expressing the priority fee in total lamports rather than micro-lamports per compute unit, and sending with base64 encoding. If you were using lookup tables, the addresses go back inline — up to 64 accounts — and any ComputeBudget instruction you were adding should be deleted.
For anyone who reads blocks rather than sends them, v1 is a breaking change the moment it appears. RPC providers, indexers and analytics platforms have to pass maxSupportedTransactionVersion: 1 to getTransaction, getBlock and blockSubscribe, read resource limits from the transactionConfig field instead of inspecting ComputeBudget instructions, treat a null-with-error block subscription as a failure rather than an empty block, and regenerate their protobuf stubs. Client libraries have shipped for that: @solana/kit from 8.0.0 reads and sends v1, the Rust solana crates from 4.2.x, the Python solders package from 0.29.0, and web3.js 1.x is read-only for v1 until 1.99.0.
The Foundation's own sizing suggests the migration is not as scary as 3.3x sounds. When all lookup-table addresses are inlined, 50% of existing v0 transactions grow by less than 420 bytes and 90% grow by less than 1,400 bytes — which leaves most of the new envelope free for the payloads that actually need it.
What Else Lands With It
Larger transactions are not shipping alone. Anza's schedule pairs them with the first stage of Solana's reduced slot times — the 400 ms to 350 ms step on the road to a 200 ms network — plus a rent reduction on account storage, and puts Alpenglow, the consensus overhaul that replaces proof-of-history tower voting with a vote-transaction-based model, in October. Capacity is being raised at the transaction layer, the block-time layer and the consensus layer in the same quarter.
The demand side is not hypothetical either. Solana passed $3 trillion in cumulative lifetime DEX volume on September 11, and the tokenized-stock supply running on the network hit a record $684 million this month, up 47% in three weeks. Both of those workloads live or die on how much logic, signature data and proof data a single atomic operation can carry — which is exactly the ceiling that moved today.
What It Means for SOL
The market did not price it in, and there is no reason it should have. SOL is trading at $96.85 with a $56.8 billion market cap and rank #7, down 6.0% in 24 hours and 30% higher over 30 days, after a day that ran from a $102.97 high down to $96.07 on Binance, where today's candle opened at $102.54 and closed at $96.92. The token sits about 67% below its January 2025 all-time high of $293.31. What is moving price this week is macro — the Fed decision on Wednesday — not a byte limit, and anyone claiming otherwise is selling a story.
The byte limit is where the developer work starts, not where a rally does. What is worth watching over the next month: how quickly the share of v1 transactions climbs past today's 4.4% sample, whether Confidential Transfers finally ship as single atomic transactions, whether institutional multisig setups get big enough to need the new envelope, and whether Alpenglow makes its October window. SOL's price is tracked live on CoinGecko, and the full specification of what changed is on the Foundation's upgrade page.
Written by
EarnCrypto.dev Editorial
The EarnCrypto.dev editorial team researches and reviews AI mining platforms, pools and earning tools — publishing only what passes our own checks.
Related reading
Bitcoin's Next Halving Is 576 Days Away — the Live Block-Height Countdowns for BTC, BCH, LTC and ZEC
Bitcoin's next halving is 83,057 blocks out — about 576 days. Live block-height countdowns for BTC, BCH, LTC and ZEC, plus what each subsidy pays today.
How to Trade Meme & Newly Created Tokens on FOMO — $16 to $3M Stories and the 10% Off Fees Edge
Small trades, legendary returns: $838 became $1M on CASHCAT, $16 became $3M on PNUT. Here is how to spot, ape and trade new meme tokens on FOMO — fast, gasless, one-click.
The AI Publisher Guide: How Rationale Automates Your Entire Content Operation
Stop posting manually. Rationale is an AI media orchestration engine that generates, adapts, schedules and publishes your content across every social platform — including YouTube — fully on its own. Here's how it works and why it matters.



