Solana's V1 Upgrade Brings Increased Transaction Limits but Risks for Unprepared Infrastructure
Solana's upcoming v1 upgrade brings significant changes to its transaction format, increasing the maximum payload from 1,232 bytes to 4,096 bytes, a three-fold increase. However, this change poses risks for infrastructure operators and developers who are not ready for it.
RPC clients must opt-in to v1 by passing the integer maxSupportedTransactionVersion: 1 when using getTransaction, getBlock or blockSubscribe. Without this opt-in, v1 transactions will return an error, causing failures in systems that stop working entirely while others keep running with wrong resource limits.
V1 also moves compute-unit limits, loaded-account data limits, and priority fees into a transactionConfig object instead of ComputeBudget instructions. An indexer that continues to scan those instructions will report zero compute budget for every v1 transaction without raising an error.
Indexers, fee sponsors, relayers, paymasters, and server signers must update their policies before the first v1 transaction arrives on mainnet, which is still pending activation. The minimum reader-capable releases include @solana/kit 8.0.0, @solana/web3.js 3.0.0-rc.3, Rust solana-* 4.2.x, Python solders 0.29.0, and solana-go 1.23.0.