Local Fee Markets

Solana's isolated fee system where congestion in one app raises priority fees only for accounts that app touches, so a hot token launch can't inflate costs for your unrelated USDC transfer.

What are Local Fee Markets

Local fee markets represent how Solana charges congestion per application rather than per chain. If demand increases for a specific part of state - let's say a single trading pool or a single mint - then only the transactions interacting with that piece of state experience a rise in priority fees, while everything else on the network remains affordable.

Consider a supermarket with 20 registers. A famous chef is autographing cookbooks at register four. The line at that register is long enough to reach the back wall, while all other registers (registers 1–3 and 5–20) are completely empty. You go in to buy some milk, and you're out in a 90-second interval, because the line at register four really has nothing to do with you. Ethereum, on the other hand, used to behave like a single-register supermarket, so when the cookbook-signing people arrived, the grocery-store shoppers had to wait - and pay.

How Local Fee Markets Work

Local fee markets are a direct result of Solana's scheduling. Every transaction must indicate up front which accounts it will read from, and which it will modify. The runtime is able to run non-contending transactions in parallel based on these hints. Two transactions trying to write to different accounts will never be in contention. They only contend if they're fighting for a write lock on the same account, because writes are serialized on an account-by-account basis.

That write-lock is the scarce item here. When a new memecoin goes viral on pump.fun, all sorts of bots will fight to write to the same Raydium pool within the same 400-ms slot. The block builder (aka leader) orders the pending transactions by priority-fee-per-compute-unit, which drives up the price of that write lock for everyone trying to interact with that account. Additionally, there's a per-account compute limit inside each block - about 12 million compute units per account, against a block budget of about 100 million compute units total. That limits any one hot account from hogging the entire block, thereby preventing it from completely pricing out other transactions.

So if you're sending some USDC to a friend as an unrelated transaction, you write to accounts nobody is fighting over. You land in the base fee tier, 5,000 lamports (about $0.0004 at $80 SOL), plus whatever priority fee your wallet adds in the form of a token fee.

How Local Fee Markets Compare to Ethereum

Ethereum has a single, global auction for blockspace under EIP-1559. The base fee rises or falls with total demand. A popular application driving usage across the entire chain increases prices for everyone else on the chain. History is littered with examples where a single popular mint or token launch has driven Ethereum's gas price so high that a simple token swap or transfer could cost over $100 for hours at a time. The mint's demand and your demand paid the same gas price.

Under Solana local fee markets, the mint's and your demand are decoupled. When a hot token launch is on pump.fun, or bots are trying to trade at a single pool on Raydium - only those inside that specific Raydium pool are likely to drive up priority fees to the tens of thousands of lamports per transaction. At the same time, you're swapping on some other, unbothered pool on Orca - via, say, Jupiter - for just a few fraction of a cent. So congestion is a local problem, instead of a citywide one.

There's some rough edges to the design, though. Popular protocols can concentrate activity into a single account (such as a hot Raydium trading pool). So if you want to enter that hot pool, you will compete with everyone else who wants the same spot (local fee markets protect bystanders, but not those competing for the same hot blockspace). Additionally, it's harder to estimate fee prices across thousands of fee markets (wallets like Phantom and RPC providers like Helius handle fee estimation for you, but they are not infallible).

Why Local Fee Markets Matter

Local fee markets are why Solana degrades locally rather than globally. When the hot trading on pump.fun takes place - it doesn't increase the cost for your USDC to USDC payment, your DePIN wallet check-in transaction, or your Drift position re-adjustment. This is a critical difference from Ethereum's global auction mechanism; anyone who experienced gas prices hitting $60 because they wanted to exit a position when a mint was going viral knows the difference.

Applications can now offer users a predictable fee structure, because they only have to account for demand on their own state. They don't have to take into account what the hottest application on the network is doing right now.

Do local fee markets maintain low fees during high usage periods?

Local fee markets allow fees to stay low for users not involved in the hot zone. Inside that pool, priority fees increase exactly as they should in an auction, and you pay up, or you don't.

Contents

Writen By

Stay Updated - Follow us on X

Project review threads, dApp insights, announcements, news, and more.