Home › Glossary › User-activated soft fork (UASF)

User-activated soft fork (UASF)

Also called: UASF, user activated soft fork, BIP 148, BIP148, LOT=true.

A user-activated soft fork (UASF) is a soft fork that full nodes enforce from a set date or height, rather than waiting for miners to signal support.

A user-activated soft fork (UASF) is a way of activating a soft fork in which users' full nodes, rather than miners, decide when the new rules start. Nodes running UASF software begin enforcing the rules, or require blocks to signal for them, at a fixed time or block height, whether or not most hash power has signaled.

How a UASF works

Because soft forks only tighten the rules, upgraded nodes reject blocks that break them. If enough of the economy (exchanges, merchants, wallets) runs the UASF, miners who ignore it risk mining blocks those users won't accept, and so earning coins the economy doesn't recognize. If miners and users disagree for long, the chain can split.

UASFs in Bitcoin's history

  • P2SH (BIP 16) was activated in 2012 on a flag day set in node software, an early form of the same idea.
  • BIP 148, by Shaolin Fry, proposed that from 1 August 2017 nodes reject blocks not signaling for SegWit. Miners adopted BIP 91, which enforced SegWit signaling at an 80% threshold, so SegWit locked in without a split and activated at block 481,824.
  • BIP 8 formalized the option as lockinontimeout=true ("LOT=true"), making signaling mandatory in the last period before the timeout.
  • BIP 343 proposed a BIP 8 LOT=true deployment of Taproot. Taproot instead activated through miner signaling (Speedy Trial) at block 709,632.

Supporters see a UASF as a check against miners blocking upgrades users want. Critics point to the risk of a chain split and the difficulty of measuring economic support. The soft forks guide covers these debates, and BIP 8 vs BIP 9 compares the version bits mechanisms.

BIPs that define User-activated soft fork (UASF)

  • BIP 148 (UASF): Mandatory activation of segwit deployment: Deployed. Proposed a user-activated soft fork (UASF), where nodes would reject blocks that did not signal support for SegWit after a set date. It was a way for users, rather than miners alone, to push SegWit…
  • BIP 8: Version bits with lock-in by height: Complete. An alternative way to activate soft forks (backward-compatible rule upgrades) that measures time in block counts rather than clock timestamps. It also adds an option to guarantee activation at the…
  • BIP 343 (Taproot UASF): Mandatory activation of taproot deployment: Closed. Describes an alternative way to switch on Taproot in which nodes would have begun enforcing the new rules at a fixed deadline even if miners had not signaled readiness (known as 'lock-in on…
  • BIP 91 (SegWit lock-in): Reduced threshold Segwit MASF: Deployed. Proposed a way to activate SegWit with support from a simple majority of mining power instead of the 95 percent originally required. Participating miners would reject blocks that did not signal for…
  • BIP 16 (P2SH): Pay to Script Hash: Deployed. Introduced Pay to Script Hash (P2SH), letting a sender pay to a short fingerprint of spending rules that the recipient reveals only when spending. This shifted the cost and complexity of setups like…

Related terms

  • Soft fork: A soft fork is a backward-compatible change to Bitcoin's consensus rules that only tightens them, so old nodes still accept the new blocks.
  • Version bits: Version bits (BIP 9) let miners signal readiness for soft forks by setting bits in the block version field, with each upgrade on its own bit.
  • SegWit (Segregated Witness): SegWit (Segregated Witness) is the 2017 soft fork that moved signatures into a separate witness, fixing malleability and introducing block weight.
  • Node: A Bitcoin node is a computer running Bitcoin software that downloads, checks and relays blocks and transactions; a full node verifies every rule itself.

Learn more

Guides