Glossary / Transactions & fees
High-priority transaction
Also known as Free transaction.
- Definition
- A high-priority transaction was one that old versions of Bitcoin Core would mine for free because it spent old, large coins, a mechanism deleted from the software in 2017.
Priority was a coin-age score: the value of each input in satoshis multiplied by the number of blocks it had been sitting, divided by the size of the transaction. Bitcoin Core reserved a slice of every block for transactions scoring above 57,600,000 and charged them nothing. That space no longer exists, and nothing gets mined for free today.
How it works
Status: the free priority area was switched off by default in Bitcoin Core 0.12.0 in February 2016, when -blockprioritysize began defaulting to zero instead of reserving 50,000 bytes of each block, and the priority code was removed outright in 0.15.0 in September 2017, taking -sendfreetransactions and -limitfreerelay with it. Nothing replaced it. Transactions are selected by fee rate, and the only levers on urgency are what you pay, replace-by-fee, and child-pays-for-parent.
The scoring rule is worth understanding because it explains why the idea died. Each input contributed its value multiplied by its age in blocks, the sum was divided by the transaction's size in bytes, and the threshold for free treatment worked out at one whole bitcoin, held for one day, spent in a 250 byte transaction. Coins that had not moved were treated as evidence of a considerate user.
Three problems ended it. The score was easy to manufacture, since anyone could sit on a large output and generate priority for nothing. It carried no market information, so free block space had to be rationed by an arbitrary constant rather than by what users would pay. And once blocks began filling regularly, that reserved space stopped being spare capacity and became a subsidy for whoever gamed the formula fastest.
Where you see it
Free priority survives mostly in outdated advice. Forum posts, old tutorials, and reference glossaries still written against the pre-2016 codebase tell readers that patient holders can send free transactions, and people arrive at support channels asking why their zero fee transaction has not confirmed. It never will, and no node will even relay it.
The modern equivalents are unglamorous but they work. Pay the going fee rate, which on quiet weekends genuinely falls to 1 or 2 sat/vB. Signal replace-by-fee so an underpriced transaction can be bumped rather than abandoned, which is now default relay behavior. Use child-pays-for-parent when the stuck transaction is one you are receiving rather than sending. For amounts too small to justify any of that, Lightning settles instantly for a satoshi or two, which is closer to what free transactions were originally meant to serve.
One habit from the priority era does survive, in a different form. Old, large coins are still cheaper to spend, not because the software rewards patience, but because spending one big coin means one input instead of five, and inputs are what you pay for.
High-priority transaction vs replace-by-fee
Priority was the network deciding your transaction deserved to jump the queue; replace-by-fee is you paying to jump it. The old mechanism was free, automatic, and unresponsive to demand, and it disappeared with version 0.15.0. Replacement is deliberate, costs money, and works at any time: you rebroadcast the same payment with a higher fee and miners prefer the version that pays more. Anyone searching for a way to speed up a stuck transaction wants replacement or a child spend, not priority.