/ Writing · · 6 min read
How full is a Solana block? About a quarter. The limit you hit is the account
By Oussama Allamou · Solana · Compute Units · Priority Fees · Trading Bots
A Solana block at the 200 ms slot target can hold 50 million compute units, and any one account written in it can take 20 million. In 80 mainnet blocks I read on October 20, 2026, the median block consumed about 11 million, roughly a quarter of its limit. The busiest block reached 45.3 million, and a single account in that block took 18.7 million, 93% of its own limit. When a trade does not fit, the reason is usually the account it writes, not the block.
Everything here comes from getBlock on a public mainnet RPC node, and the three blocks in the playground are real. Put your transaction in one.
This block11.6M + 0.4M of 50.0M
The busiest account you write2.0M + 0.4M of 20.0M
- Your transaction
- Fits
It fits. Inside this block your transaction is ordered by priority fee against the others, but there is room.
Limits per block at the 200 ms slot: 50 million compute units for the block, 20 million for any one account that transactions write. The three cases are real blocks I read on October 20, 2026, with the compute they consumed.
What are the block limits on Solana now?
Two limits apply to every block. One caps the whole block and one caps each account that transactions write. SIMD-0286 raised them to 100 million and 40 million for a 400 ms block, live since May 2026. SIMD-0525 then scaled every per-block limit with the slot, so at the 200 ms slot that has run since October 9 a block holds 50 million and an account 20 million. Per second the capacity is the same; per block it is half.
A third limit, about 1.4 million per transaction, is the most a single transaction can request.
How full are Solana blocks really?
- Case 01The block
Compute consumed by all transactions in the block, against 50 million. The median of 40 blocks between slots 459,220,158 and 459,220,438 was 11.6 million; slot 459,220,389 reached 45.3 million. Read on October 20, 2026.
- Case 02Its busiest account
Compute consumed by transactions that write the block's busiest account, against 20 million. Median 1.5 million; in slot 459,220,389 one account took 18.7 million.
I took a second sample of 40 blocks about an hour later. Its median block consumed 10.4 million and its busiest 15.6 million, with no account above 4.1 million. So the quarter-full median held, and the near-full block was a burst, not the normal state. Votes were 11 to 13% of the compute in both samples. From Alpenglow on October 21 they leave blocks, and that share frees up.
Two caveats. I counted compute consumed per transaction and summed it per block and per written account. The runtime counts cost, which adds signatures, write locks and data size to the requested compute, so a block can hit its limit before consumed compute reaches 50 million. Read my numbers as a floor. And a transaction that writes several accounts counts toward each of them.
Which accounts are the busiest?
| Account | What it is | In the top 3 | Most in one block |
|---|---|---|---|
| 94qWNrtm… | A wrapped SOL token account holding about 10,121 SOL | 20 of 40 blocks | 2.8M |
| HjQjngTD… | An SPL token account | 11 of 40 | 2.2M |
| C2aFPdEN… | A PumpSwap pool | 9 of 40 | 2.0M |
| 8FnX3xo2… | State of program BiSoNHVp… | 9 of 40 | 18.7M |
From the first sample. The pattern is what you would expect: vaults of the deepest pools and the state of programs that many bots call. A token account that every swap on a pair writes is a single point that all of those swaps queue on.
Why did my transaction fail when the network was quiet?
Because quiet is a property of the block, and your transaction writes accounts. If the pool you trade is busy, the transactions writing it fill its 20 million long before the block fills its 50, and the leader has to leave yours out of this block. It may land in the next one, or your blockhash may run out first. The failure looks random from outside because the network as a whole was not busy.
Failed transactions are common anyway. 28% of non-vote transactions failed in the first sample and 43% in the second, for every reason a transaction can fail, not only a full account.
What can a priority fee do about a full account?
It decides the order among transactions that compete for the same accounts. That is why fees on Solana are local: you bid against everyone writing the pool you write, not against the whole network, as I described in how a Solana transaction lands. A higher fee moves you ahead in that queue. It does not raise the account's limit.
So for a trade on a hot pool:
- Price the fee for the accounts you write. Recent prioritization fees for those accounts, not a network average.
- Request only the compute you need. A smaller request fits in what is left of a busy account, and the fee is charged on the request. The token program alone differs by about 25 times between SPL Token and Token-2022.
- Write fewer accounts. Every account you write is another queue you have to fit into.
- Retry into the next block. At 200 ms the next leader slot is close, and a full account empties every block.
What do the terms mean?
- Compute unit: the unit the runtime meters work in. A transaction requests a limit and pays its priority fee on it.
- Block limit: the most a block may hold, 50 million at the 200 ms target.
- Account limit: the most that transactions writing one account may use in a block, 20 million at the 200 ms target.
- Cost: what the runtime counts against the limits: requested compute plus signatures, write locks and data.
- Local fee market: fees compete per account, among transactions that write the same accounts.
- Write lock: a transaction that writes an account locks it, so two transactions writing it cannot run in parallel.
FAQ
What is the Solana block compute limit in 2026?
50 million compute units per block at the 200 ms slot target, and 20 million for any single writable account. They are the 100 million and 40 million limits of 400 ms blocks, scaled with the slot by SIMD-0525.
How full are Solana blocks?
In 80 mainnet blocks I read on October 20, 2026, the median block consumed about 11 million compute units, around a quarter of the limit. The busiest reached 45.3 million.
Why does my Solana transaction fail when the network is not busy?
Because an account it writes is busy. The transactions writing a hot pool can fill that account's 20 million compute units in a block while the block itself is far from full.
Does a higher priority fee help when an account is full?
It moves you ahead of other transactions writing the same accounts. It cannot make the account's limit bigger, so in a full account it decides who gets the space, not whether there is more of it.
Do votes count toward the block limit?
Under TowerBFT, yes: votes were 11 to 13% of the compute in my samples. With Alpenglow, live from October 21, 2026, votes are no longer transactions in blocks.
Further reading
- SIMD-0286: Raise block limits to 100M: the block and account limits for 400 ms blocks.
- SIMD-0525: Reduce slot times: how every per-block limit scales with the slot.