{"id":293,"date":"2026-08-27T12:03:44","date_gmt":"2026-08-27T16:03:44","guid":{"rendered":"https:\/\/dolanduck.io\/blog\/?p=293"},"modified":"2026-08-27T12:03:44","modified_gmt":"2026-08-27T16:03:44","slug":"solana-transaction-fees-priority-fee","status":"publish","type":"post","link":"https:\/\/dolanduck.io\/blog\/solana-transaction-fees-priority-fee\/","title":{"rendered":"Solana Transaction Fees: Base Fee vs Priority Fee 2026"},"content":{"rendered":"\n<p>Solana transaction fees come in two parts that behave nothing alike. The base fee is a flat 5,000 lamports per signature \u2014 about $0.00025 \u2014 charged on every transaction regardless of what it does, with half burned and half paid to the validator. The priority fee is optional, priced by you, and buys placement when block space is contested; since a governance vote in 2026 all of it goes to the block producer, none of it is burned. Almost every failed memecoin swap traces back to the second number being set too low, not to the first.<\/p>\n\n\n<!--more-->\n\n\n<h2 class=\"wp-block-heading\">Key Facts<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Base fee: 5,000 lamports (0.000005 SOL) per signature, flat. A transaction with two signers pays 10,000.<\/li><li>Base fee split: 50% burned, 50% to the validator that produced the block.<\/li><li>Priority fee: optional, set in micro-lamports per compute unit, multiplied by the compute budget you request.<\/li><li>SIMD-0096 passed with roughly 77% validator support and routes 100% of priority fees to the block producer \u2014 nothing burned.<\/li><li>Fees are charged even when a transaction fails, as long as it was included in a block.<\/li><li>Fees are always paid in native SOL. No SPL token, including wrapped SOL, can pay them.<\/li><li>A base-fee redesign priced by resource usage rather than a flat per-signature charge has been under governance discussion through 2026.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">The Base Fee Is Not the Interesting One<\/h2>\n\n\n\n<p>The base fee exists to make spam cost something. It is charged per signature, not per instruction, not per byte, and not per amount transferred \u2014 send 0.001 SOL or 10,000 SOL and the base fee is identical. That flatness is why Solana fees are quoted as a fraction of a cent and why the number barely moves regardless of network conditions. Half of it is burned, which permanently removes SOL from supply; the other half lands with the validator whose slot included the transaction.<\/p>\n\n\n\n<p>Because it is denominated in SOL, the dollar cost drifts with price rather than with demand. That predictability is also its weakness: a flat per-signature charge does not reflect how much work a transaction actually asks the network to do, which is exactly the criticism driving current proposals to price the base fee by resource consumption instead. Whatever replaces it, the requirement that <a href=\"\/blog\/why-do-you-need-sol-to-send-memecoins\/\">every transaction needs unstaked SOL to pay with<\/a> does not change.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Priority Fee Is an Auction<\/h2>\n\n\n\n<p>When a leader has more transactions than fit in its block, it orders them by how much they are paying per unit of compute. You set the priority fee as a price in micro-lamports per compute unit, and your actual cost is that price multiplied by the compute units you request. Two knobs, not one \u2014 this is why &#8220;I set a high priority fee and still failed&#8221; usually means a high price on a tiny compute budget.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th>Base fee<\/th><th>Priority fee<\/th><\/tr><\/thead><tbody><tr><td>Amount<\/td><td>5,000 lamports per signature<\/td><td>You choose, per compute unit<\/td><\/tr><tr><td>Optional<\/td><td>No<\/td><td>Yes<\/td><\/tr><tr><td>Varies with congestion<\/td><td>No<\/td><td>Yes, sharply<\/td><\/tr><tr><td>Who receives it<\/td><td>50% validator, 50% burned<\/td><td>100% validator<\/td><\/tr><tr><td>Effect on inclusion<\/td><td>None<\/td><td>Determines ordering<\/td><\/tr><tr><td>Charged on failure<\/td><td>Yes<\/td><td>Yes<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The economics changed meaningfully with SIMD-0096. Before it, half of every priority fee was burned; now the full amount reaches the block producer. That strengthened <a href=\"\/blog\/solana-validators-explained\/\">validator revenue<\/a> at the cost of one deflationary sink, and it sharpened the incentive to build blocks that maximise fee revenue \u2014 which is the same incentive that makes MEV extraction worth doing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why You Pay for Failed Transactions<\/h2>\n\n\n\n<p>Fees pay for execution attempted, not execution succeeded. A swap that reverts because slippage was exceeded still consumed validator resources \u2014 the transaction was decoded, the accounts were loaded, the program ran and returned an error \u2014 so the fee is taken. During a launch frenzy a trader can burn through a stack of small fees on failed attempts, which feels punitive but is exactly what prevents free retry spam from flooding the network.<\/p>\n\n\n\n<p>The transaction that costs nothing is the one never included at all. If it never reaches a leader, or its blockhash expires while it sits in a queue, it simply disappears with no fee charged and no record. That is the difference between &#8220;failed&#8221; and &#8220;dropped&#8221;, and explorers show them differently: a failed transaction appears on <a href=\"https:\/\/solscan.io\" rel=\"nofollow\">Solscan<\/a> with an error, while a dropped one was never there.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting Fees That Actually Land<\/h2>\n\n\n\n<p>Wallets and routers estimate priority fees from recent block data, which works fine in normal conditions and badly during the exact minutes that matter. When a token is trending, the fee level that cleared blocks thirty seconds ago is already stale. Practical approach: raise the priority setting deliberately when you know you are competing, keep the compute budget realistic rather than minimal, and accept that a few cents of priority fee is trivial next to missing a fill. Aggregators like <a href=\"https:\/\/jup.ag\" rel=\"nofollow\">Jupiter<\/a> expose these controls directly, which is one reason routing through them beats hand-built transactions \u2014 the comparison between <a href=\"\/blog\/pump-fun-vs-jupiter-memecoin-trading\/\">launchpad buying and aggregator routing<\/a> comes down partly to how each handles fees under load.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Fee Mechanics Mean for $DOLAN<\/h2>\n\n\n\n<p>DOLAN Duck ($DOLAN) has a fixed 98.3M supply, roughly 10,700 holders and a fair launch with no presale \u2014 meaning the earliest buyers had no protocol-level advantage over anyone else. What they did have, in practice, was fee discipline. On a fair-launch token the entire allocation race is decided by which transactions land in which slot, and that ordering is bought with priority fees, not privilege. Every one of those ~10,700 wallets paid the same flat base fee to get there, and the ones that filled during busy minutes paid more on top. Budget for it: keep a few tenths of a SOL unstaked purely as fee capital, separate from the amount you intend to trade with.<\/p>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1754640401\"><strong class=\"schema-faq-question\">How much is a Solana transaction fee?<\/strong> <p class=\"schema-faq-answer\">The base fee is 5,000 lamports per signature, or 0.000005 SOL \u2014 roughly $0.00025. It is flat regardless of transaction size or value, and most transactions carry a single signature.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1754640402\"><strong class=\"schema-faq-question\">What is the difference between base fee and priority fee?<\/strong> <p class=\"schema-faq-answer\">The base fee is mandatory and flat per signature. The priority fee is optional, priced per compute unit, and determines where your transaction sits in the ordering when a block is oversubscribed.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1754640403\"><strong class=\"schema-faq-question\">Who receives Solana priority fees?<\/strong> <p class=\"schema-faq-answer\">Since SIMD-0096 passed, 100% of priority fees go to the validator that produces the block. Nothing is burned. The base fee still splits 50% burned and 50% to the validator.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1754640404\"><strong class=\"schema-faq-question\">Why was I charged for a failed transaction?<\/strong> <p class=\"schema-faq-answer\">Because the network still executed it. Decoding, loading accounts and running the program consumed real resources, so the fee is charged. Only transactions that were never included in a block cost nothing.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1754640405\"><strong class=\"schema-faq-question\">Can I pay Solana fees with a token instead of SOL?<\/strong> <p class=\"schema-faq-answer\">No. Fees are payable only in native SOL. Wrapped SOL and every other SPL token are invisible to the fee payer logic, so a wallet holding only tokens cannot transact at all.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1754640406\"><strong class=\"schema-faq-question\">Why do my swaps fail during busy periods?<\/strong> <p class=\"schema-faq-answer\">Your priority fee was too low for the moment you sent it, or your compute budget was set so small that a high per-unit price still totalled little. Both knobs matter \u2014 price and compute units are multiplied together.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1754640407\"><strong class=\"schema-faq-question\">Do Solana fees burn SOL?<\/strong> <p class=\"schema-faq-answer\">Partly. Half the base fee is burned permanently, which removes SOL from supply, but priority fees are no longer burned at all. The net effect on supply is small next to inflation issuance.<\/p> <\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Solana transaction fees come in two parts that behave nothing alike. The base fee is a flat 5,000 lamports per signature \u2014 about $0.00025 \u2014&#8230;<\/p>\n","protected":false},"author":2,"featured_media":366,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-293","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-solana"],"_links":{"self":[{"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/posts\/293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/comments?post=293"}],"version-history":[{"count":1,"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/posts\/293\/revisions"}],"predecessor-version":[{"id":443,"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/posts\/293\/revisions\/443"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/media\/366"}],"wp:attachment":[{"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/media?parent=293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/categories?post=293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dolanduck.io\/blog\/wp-json\/wp\/v2\/tags?post=293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}