Analysis ·
What SIMD-0553 would have cost
A per-transaction replay of the resource-fee burn proposal over the ten most recent complete epochs in the archive. Every non-vote transaction was re-priced under the SIMD’s formula from its own requested compute, accounts and signatures; votes were priced from the proposal’s own figures.
Across 2,855,660,233 transactions the network collected 125,860 SOL in fees. Under SIMD-0553 at ½ lamport per requested cost unit, the same transactions would have paid 447,593 SOL — +255.6%, a 3.56× increase. The whole increase is burned: leader income is essentially unchanged, priority fees are untouched, and the burned share of fees goes from 6.2% to 73.8%.
The median transaction pays 8.0× what it pays today; 41% of transactions pay more than ten times as much.
125,860 SOL
Fees today, 10 epochs — 7,842 burned, 118,018 to leaders
183,371 SOL
At 1/10 lamport per CU — +45.7%, burn 66,056
447,593 SOL
At 1/2, the terminal rate — +255.6%, burn 330,278
| Scenario | Base to leader | Priority | Burned | Total | vs today |
|---|---|---|---|---|---|
| Today | 7,842 | 110,176 | 7,842 | 125,860 | +0.0% |
| Resource fee 1/10 | 7,139 | 110,176 | 66,056 | 183,371 | +45.7% |
| Resource fee 1/4 | 7,139 | 110,176 | 165,140 | 282,455 | +124.4% |
| Resource fee 1/2 | 7,139 | 110,176 | 330,278 | 447,593 | +255.6% |
A flat fee becomes a metered one — and the meter reads requested, not used
Today every signature costs 5,000 lamports, half burned and half to the leader, and that is the only base charge. SIMD-0553 replaces it with a flat 2,500-lamport inclusion fee per transaction (all to the leader) plus a resource fee that is burned in full and scales with the transaction’s pre-execution scheduler cost — its signatures, write locks, instruction bytes, requested compute-unit limit and requested loaded-accounts data size. The rate ramps through three feature gates: 1/10, 1/4, then 1/2 lamport per cost unit. Priority fees are untouched.
total_fee = 2500 + priority_fee + ceil(requested_cost_units × rate) requested_cost_units = 720·signatures + 300·writable_accounts + ⌈data_bytes / 140⌉ + requested_CU_limit + 8·⌈loaded_data_limit / 32 KiB⌉
Two design choices drive everything below. Charging on requested rather than consumed compute means a transaction that never set a compute budget is billed for the runtime default — 200,000 CU per instruction, up to 1.4M — and 64 MiB of loaded data (16,384 CU). And burning 100% of it means none of the new revenue reaches validators; the change is a pure transfer from fee payers to SOL holders, through deflation.
Most transactions pay more; a large tail pays an order of magnitude more
The fee multiple — new total divided by today’s total — for every non-vote transaction in epoch 1006, the epoch modelled with exact per-transaction inputs, at the terminal ½ rate. 15.1% of transactions get cheaper: they set tight compute and loaded-data budgets and request little. 41.3% pay more than 10× (between 41.3% and 45.6% in every one of the ten epochs) and 7.8% more than 50×. Even at the opening 1/10 rate, 51.3% of transactions at least double.
| Fee multiple | Transactions | Share | Fees today (SOL) | Fees at 1/2 (SOL) |
|---|---|---|---|---|
| <1x | 41,911,837 | 15.1% | 299 | 231 |
| 1–2x | 20,748,010 | 7.5% | 9,114 | 10,137 |
| 2–5x | 52,791,800 | 19.0% | 1,031 | 3,131 |
| 5–10x | 47,760,433 | 17.2% | 497 | 3,562 |
| 10–50x | 93,091,783 | 33.5% | 676 | 15,253 |
| ≥50x | 21,647,425 | 7.8% | 129 | 10,680 |
| Epoch | Txs | Votes | Today | At 1/10 | At 1/4 | At 1/2 | × at 1/2 | Burn today | Burn at 1/2 | Check |
|---|---|---|---|---|---|---|---|---|---|---|
| 1002 | 296,659,722 | 300,125,749 | 11,339 | 17,347 | 27,689 | 44,926 | 3.96× | 814 | 34,474 | 100.00% |
| 1003 | 277,766,367 | 297,742,269 | 12,117 | 17,692 | 27,286 | 43,277 | 3.57× | 758 | 31,981 | 100.00% |
| 1004 | 261,599,603 | 298,952,688 | 14,121 | 19,473 | 28,692 | 44,056 | 3.12× | 724 | 30,729 | 100.00% |
| 1005 | 256,438,834 | 299,539,292 | 11,491 | 16,898 | 26,191 | 41,679 | 3.63× | 715 | 30,976 | 100.00% |
| 1006 (exact) | 277,951,288 | 298,870,043 | 11,746 | 17,317 | 26,946 | 42,994 | 3.66× | 771 | 32,096 | 100.00% |
| 1007 | 252,295,048 | 295,272,293 | 10,848 | 16,333 | 25,707 | 41,329 | 3.81× | 697 | 31,245 | 100.00% |
| 1008 | 327,699,175 | 295,979,062 | 14,622 | 21,004 | 32,012 | 50,359 | 3.44× | 888 | 36,695 | 100.00% |
| 1009 | 328,155,517 | 295,425,200 | 13,901 | 20,211 | 31,124 | 49,313 | 3.55× | 893 | 36,378 | 100.00% |
| 1010 | 263,520,555 | 296,088,061 | 11,098 | 16,336 | 25,383 | 40,461 | 3.65× | 726 | 30,157 | 100.00% |
| 1011 | 313,574,124 | 295,372,442 | 14,578 | 20,760 | 31,425 | 49,198 | 3.37× | 856 | 35,547 | 100.00% |
The bill lands on transactions that never set a compute budget and pay no priority
Splitting transactions by whether they set an explicit compute-unit limit and whether they pay any priority fee separates the population cleanly. Transactions with no limit are billed for the 200k-per-instruction default; transactions with no priority fee had nothing else in their fee to dilute the new charge.
| Segment | Share of txs | Fees today (SOL) | At 1/10 | At 1/2 | × at 1/2 | Cheaper at 1/2 |
|---|---|---|---|---|---|---|
| No CU limit, zero priority | 8.4% | 1,668 | 16,192 | 78,563 | 47.09× | 0.0% |
| No CU limit, pays priority | 3.1% | 1,703 | 7,092 | 29,819 | 17.51× | 0.1% |
| CU limit set, zero priority | 17.5% | 2,698 | 12,102 | 55,502 | 20.57× | 18.1% |
| CU limit set, pays priority | 71.0% | 119,791 | 147,985 | 283,708 | 2.37× | 16.7% |
Failed transactions pay too
1,094,735,139 transactions (38.3%) failed on-chain. Today they paid 30,759 SOL; at ½ they would pay 126,611 SOL (4.12×). The proposal preserves fee-only processing, so a transaction that fails during account loading still owes the full resource fee.
Multi-signer transactions get a discount
The flat 2,500 inclusion fee replaces 5,000 per signature, so a transaction with extra signers keeps most of its savings unless it also requests a lot of compute. Leaders lose that per-signature income: 703 SOL over ten epochs.
| Signatures | Share | Today (SOL) | At 1/2 | × |
|---|---|---|---|---|
| 1 | 93.30% | 114,189.8 | 386,979.1 | 3.39× |
| 2 | 5.68% | 9,550.7 | 52,745.2 | 5.52× |
| 3 | 0.41% | 313.9 | 1,415.6 | 4.51× |
| 4 | 0.25% | 1,357.0 | 2,539.3 | 1.87× |
| 5 | 0.02% | 13.0 | 136.9 | 10.53× |
| 6 | 0.03% | 35.2 | 152.4 | 4.34× |
Which applications absorb the increase
Epoch 1006 is modelled with the exact loaded-data-size requests and instruction bytes from the instruction sidecar, so it carries the per-program attribution. Transactions are attributed to their first top-level program (ComputeBudget excluded). Added SOL is the difference between the ½-rate total and today’s fees for that program’s transactions in the epoch.
| Program | Txs | Today (SOL) | At 1/2 (SOL) | × | Median × | No CU limit | Zero priority | Added SOL |
|---|---|---|---|---|---|---|---|---|
| Associated Token | 47,277,992 | 2,434.6 | 15,781.2 | 6.48× | 32.1× | 31% | 43% | +13,346.6 |
| System | 59,921,509 | 4,264.2 | 10,362.5 | 2.43× | 9.9× | 11% | 27% | +6,098.3 |
| EtrnLz…jWih | 13,112,114 | 71.2 | 1,094.3 | 15.37× | 3.6× | 15% | 40% | +1,023.1 |
| 4Qv3mb…HSyi | 3,474,561 | 29.3 | 729.1 | 24.86× | 27.6× | 0% | 0% | +699.7 |
| 6MWVTi…QEGh | 4,096,898 | 36.3 | 660.4 | 18.19× | 22.3× | 0% | 0% | +624.1 |
| SPL Token | 2,903,275 | 88.8 | 600.4 | 6.76× | 10.8× | 51% | 48% | +511.5 |
| Token-2022 | 1,929,609 | 95.3 | 583.0 | 6.12× | 21.7× | 71% | 70% | +487.7 |
| FsU1rc…1rNF | 2,652,696 | 15.1 | 470.9 | 31.22× | 33.9× | 0% | 0% | +455.8 |
| 3QUnrc…EUoN | 2,669,817 | 28.2 | 430.3 | 15.23× | 24.7× | 0% | 46% | +402.1 |
| FkKYVS…vXvg | 2,201,690 | 19.0 | 346.5 | 18.20× | 25.5× | 0% | 0% | +327.5 |
| BYdq7N…vZtw | 1,882,658 | 9.4 | 319.9 | 33.97× | 34.0× | 0% | 0% | +310.5 |
| SAGE2H…f7EE | 1,779,192 | 9.8 | 287.4 | 29.22× | 22.6× | 92% | 21% | +277.6 |
| BevFQ2…56A3 | 7,202,476 | 88.4 | 363.9 | 4.12× | 8.2× | 0% | 0% | +275.5 |
| MAyhSm…MD4e | 1,247,048 | 80.4 | 341.8 | 4.25× | 5.3× | 0% | 0% | +261.4 |
| HVi6Vy…zt7H | 1,460,637 | 10.0 | 254.2 | 25.48× | 25.7× | 0% | 0% | +244.2 |
| Jupiter v6 | 2,736,838 | 79.2 | 317.2 | 4.00× | 12.2× | 0% | 22% | +238.0 |
| FLASHX…txB9 | 2,047,367 | 606.0 | 842.8 | 1.39× | 2.3× | 3% | 3% | +236.8 |
| 7JwTi9…94ZG | 5,504,324 | 60.3 | 262.1 | 4.35× | 5.5× | 0% | 0% | +201.8 |
| Program | Txs | Today (SOL) | At 1/2 (SOL) | × | Median × | No CU limit | Zero priority | Added SOL |
|---|---|---|---|---|---|---|---|---|
| ForaPm…tt4j | 229,508 | 1.1 | 112.6 | 98.08× | 102.6× | 0% | 100% | +111.5 |
| zincUF…LDsV | 183,960 | 1.1 | 87.8 | 77.20× | 87.5× | 0% | 0% | +86.7 |
| ATM777…up57 | 160,997 | 0.8 | 58.3 | 72.41× | 72.4× | 0% | 100% | +57.5 |
| 8GCr97…ViXk | 108,850 | 0.6 | 33.3 | 59.90× | 61.4× | 0% | 0% | +32.7 |
| Jito tip payment | 185,233 | 0.9 | 38.4 | 41.48× | 42.6× | 92% | 100% | +37.5 |
| CcmRKT…SQUr | 171,347 | 1.6 | 34.9 | 21.34× | 42.5× | 9% | 83% | +33.2 |
| EHMyCn…hobF | 673,700 | 9.6 | 132.1 | 13.79× | 38.4× | 0% | 62% | +122.5 |
| BinUMP…b2JM | 138,226 | 0.7 | 23.8 | 34.47× | 36.6× | 0% | 1% | +23.1 |
| BYdq7N…vZtw | 1,882,658 | 9.4 | 319.9 | 33.97× | 34.0× | 0% | 0% | +310.5 |
| FsU1rc…1rNF | 2,652,696 | 15.1 | 470.9 | 31.22× | 33.9× | 0% | 0% | +455.8 |
| oreV3E…LvWv | 258,207 | 2.2 | 102.3 | 45.62× | 32.8× | 11% | 53% | +100.1 |
| Associated Token | 47,277,992 | 2,434.6 | 15,781.2 | 6.48× | 32.1× | 31% | 43% | +13,346.6 |
| NA247a…HTUV | 576,682 | 9.4 | 120.3 | 12.75× | 30.8× | 0% | 1% | +110.9 |
| 8HYMd3…SUMf | 385,360 | 3.0 | 79.1 | 26.08× | 30.5× | 0% | 57% | +76.0 |
| 4Qv3mb…HSyi | 3,474,561 | 29.3 | 729.1 | 24.86× | 27.6× | 0% | 0% | +699.7 |
| L2TExM…3S95 | 173,081 | 8.6 | 33.6 | 3.90× | 27.1× | 0% | 0% | +25.0 |
| marginfi v2 | 123,504 | 1.4 | 31.3 | 21.70× | 26.3× | 0% | 4% | +29.9 |
| eniGmY…ohVh | 791,484 | 7.7 | 127.8 | 16.58× | 26.1× | 0% | 0% | +120.1 |
Across the epoch, 3,941,807 distinct fee payers were active; 1,204,040 of them would see their total bill rise more than tenfold, 3,381,240 more than double, and 720 would pay less. The heaviest single payers are high-frequency bots and market makers running millions of transactions per epoch, with multiples between 3.4× and 19.8×.
Until Alpenglow, voting gets almost six times more expensive
Votes are still on-chain transactions in these epochs — 2,973,367,099 of them, about 690 per slot from ~689 voting validators. The proposal’s own figure for a vote sent the way validators send them today is ~54,000 requested cost units, because a legacy vote carries no compute-budget instructions and inherits the defaults. At ½ that is a 27,000-lamport burn on top of the 2,500 inclusion fee: 29,500 lamports per vote against 5,000 today. Validators who update their clients to attach a tight compute budget (the SIMD’s 3,765-unit vote) pay 4,383 — slightly less than today.
14,867 SOL
Vote fees today, 10 epochs — ≈708 SOL/day, 4.2% of validators’ voting rewards
87,714 SOL
Legacy votes at 1/2 — +490.0%, 24.8% of voting rewards
13,032 SOL
Compute-budgeted votes at 1/2 — −12.3% if every client updates
At the intermediate gates legacy votes cost 23,490 SOL (+58.0%) at 1/10 and 47,574 SOL (+220.0%) at 1/4 over the same ten epochs.
The bill falls hardest on the smallest operators
Per validator, legacy voting at ½ costs about 6.1 SOL/day versus 1.0 today. Voting rewards averaged 51.3 SOL per validator per epoch in these epochs, so for operators near the bottom of the stake distribution the un-updated vote bill alone would exceed their commission income. The outcome hinges on client updates that the proposal recommends but cannot enforce.
Real deflationary pressure, but only at the terminal rate
Inflation rewards (staking + voting) in these epochs totalled 1,288,306 SOL — 61,365 SOL/day. Today’s burn of 2,500 lamports per signature (votes included) destroys 15,276 SOL over the same period, 1.2% of issuance.
| Scenario | Burn, SOL per day | Share of issuance |
|---|---|---|
| Today | 728 | 1.2% |
| At 1/10 | 3,911 | 6.4% |
| At 1/4 | 9,778 | 15.9% |
| At 1/2 | 19,556 | 31.9% |
The SIMD projects 7,500–9,000 SOL/day of resource-fee burn at ½ from May 2026 data; this replay lands at 15,732 SOL/day from non-vote transactions alone, 19,556 with legacy votes (15,999 with budgeted votes). The replay is higher because it prices every transaction that landed — including the 38% of non-vote transactions that failed and still pay — at its requested cost, with the runtime defaults for the 12% that never set a compute budget. Either way the direction is the same: net issuance falls by roughly 30.7% of today’s inflation at the terminal rate, and a meaningful slice of that comes from vote fees the proposal simultaneously tells validators to eliminate.
What this replay says the network would give up
- Zero-priority, no-budget traffic is repriced by an order of magnitude. The “No CU limit, zero priority” segment — 8.4% of transactions — goes from 1,668 to 78,563 SOL (47.09×). This is the long tail of wallets, bots, oracles and consumer apps that have never needed a fee strategy.
- Insufficient-funds rejections. Any payer funded for today’s flat fee whose new total exceeds its balance is dropped at block packing. 77.5% of transactions at least double, so pre-funded flows (Helium-style device uploads, custodial hot wallets, airdrop claimers) will fail until every sender re-estimates.
- Validator operating cost. 72,847 SOL more per ten epochs in vote fees for un-updated clients — an involuntary 20.6% levy on voting rewards until Alpenglow removes on-chain votes.
- Nothing new reaches validators. The entire increase is burned. Leader income is flat to slightly down (−0.6%) because the per-signature base fee becomes a per-transaction one.
- Failed transactions pay the resource fee too — 95,852 SOL of the ten-epoch increase falls on transactions that did nothing.
- Cheaper spam at the floor. A minimal transaction costs 3,010 lamports at ½ (less at the earlier gates) instead of 5,000: 15.1% of real transactions get cheaper, and so does the cheapest possible DoS transaction.
- Requested ≠ consumed. The fee rewards accurate budgeting, but it is set at submission, so a wallet that over-estimates to avoid failures now pays for the headroom. The incentive pushes toward under-requesting and more compute-exhaustion failures.
What it buys: 395,283 SOL of additional burn over ten epochs at the terminal rate, and a fee floor that finally scales with scheduler cost.
How the replay was built
Source: the sol-view events corpus for epochs 1002–1011 (one row per non-vote transaction with fee, compute-unit price and limit, signer and writable-account counts and program list), the per-slot aggregates for vote counts, and the rewards tables for issuance. 2,855,660,233 transactions were re-priced individually with DuckDB.
- Requested compute. The explicit compute-unit limit when set; otherwise the runtime default (200,000 CU per non-builtin instruction, 3,000 per builtin, capped at 1,400,000). Priority fee =
ceil(price × limit / 10⁶). - Signatures. Recovered from the observed fee:
(fee − priority) / 5,000. Transaction signatures cost 720 CU; precompile signatures 2,400 (ed25519) or 6,690 (secp256k1). The decomposition is exact for 100.00% of transactions in every epoch, which validates the default-compute rules. - Loaded-accounts data size. Epoch 1006 uses each transaction’s actual request from the instruction sidecar (47.4% of transactions set one; median 13 MB → 3,216 CU vs the 16,384 default). The other nine epochs impute the 1006 mean by segment. Using the default for every transaction instead would raise the ½-rate burn by 2.8% — the imputation is a second-order term.
- Instruction data. Exact for 1006 (mean 149 bytes ≈ 1 CU); 1 CU elsewhere.
- Votes are not in the events corpus. They are priced from the SIMD’s own numbers: ~54,000 requested cost units for a legacy vote, 3,765 for a compute-budgeted one.
- Distribution statistics (median, percentiles, share cheaper or above a multiple) are reported from epoch 1006 only, because the imputed loaded-data term in the other epochs is a class mean and cannot reproduce the low tail; ten-epoch figures are totals and segment sums, where the imputation is mean-preserving.
- Not modelled: behavioural response. Wallets would tighten budgets and some traffic would stop; both push the realised burn below these figures and the failure count above them. Fee-only (load-failed) transactions are priced like any other.
Generated from sol-view epoch artifacts · epochs 1002–1011 · 2,855,660,233 non-vote and 2,973,367,099 vote transactions · cost-model constants from Agave (SIMD-0170 defaults). Epoch 1006 exact; others imputed as described.