Stacking FAQ

Is Stacking the main use case for STX?

First, a reminder that Stacking is a benefit to the novel PoX consensus mechanism, but the core function of STX goes above and beyond receiving in Stacking rewards. Stacks cryptocurrency is designed primarily to be used as fuel to execute Clarity smart contracts. Stacks are also used for other network functions like registering digital assets, paying for transaction fees, and to publish Clarity contracts on the blockchain. See the Stacks explorer for transaction info, and this list of Clarity smart contracts for more context on what is possible on Stacks 2.0.

What is the history of Stacking and who can make changes to Stacking now?

The PoX whitepaper that shared the first concept of Stacking was shared in Feb. 2020, and the team built out the functionality, along with the rest of complexity of the Stacks 2.0 blockchain over the following ~1 year. We’re thrilled to watch the first Stackers receive Bitcoin rewards. Stacking is a completely new mechanism and a pretty complex process, and given the launch of the Stacks 2.0 blockchain by independent miners, Stacking is now an independent mechanism that is live in the wild.

Hiro PBC can’t change anything about Stacking at the protocol level and encourage everyone to provide their feedback in Stacks Improvement proposals as outlined here. We appreciate early community members sharing feedback and suggestions for the Stacks wallet.

How do Stacks rewards work and why is there variation in earnings?

To start, a refresher on proof of transfer consensus and how it works. Excerpt from the PoX whitepaper below:

In PoX, the consensus rules select the winning miner (i.e., the leader) of a round using a verifiable random function (VRF). The leader writes the next block of the Stacks blockchain and mints the rewards (newly minted Stacks). However, in PoX, instead of sending Bitcoin to burn addresses, miners send the Bitcoin to a set of specific addresses corresponding to other network participants.

There is a direct correlation between bitcoin sent to mine each STX block and rewards sent to corresponding stacking slots. Given blocks are mined at different values depending on miner behavior, reward slots will also see variation in BTC earnings over time. There have been a few occasions ~5% where “flash blocks” on the Bitcoin blockchain cause skips of the Stacks blockchain, which means a small minority of people may not receive BTC rewards at all on some cycles, but the vast majority ~95% will receive rewards — especially over extended periods of time and multiple stacking slots.

What is the Stacking cycle timeline?

The PoX cycle consists of generally two parts:

  • 100 block prepare phase: reward participants must broadcast signed messages for three purposes: 1) Indicating to the network how many STX should be locked up, and for how many reward cycles. 2) Indicate support for a particular chain tip — this is the work that consensus participants contribute and 3) Specifying the Bitcoin address for receiving rewards. Folks participating in Stacking via the Stacks wallet must enroll before the prepare phase starts.
  • 2000 block reward cycle: period when STX are locked and in queue to receive rewards. Stackers may receive your stacking rewards at any time of this duration. Rewards are sent completely at random: there is no insight for folks to mine an additional amount so that they might receive greater earnings.

What is the story with dynamic thresholds to Stack via the Stacks wallet?

Each reward cycle may transfer miner funds to up to 4000 Bitcoin addresses. In order to send this volume of transactions, thresholds to participate natively in Stacking are dynamic based on amount of liquid supply that is participating.

By end-Jan 2021 approximately 1,006M (1B) liquid STX, thresholds are as follows:

  • Assume 25% of liquid supply is participating, the min threshold is 90k STX (~62.5k STX rounded up to the nearest 10,000)
  • Assume 50% of liquid supply is participating, the min threshold is 130k STX (~125k STX rounded up to the nearest 10,000)

At present day calculations, 90k STX will be the threshold up to 250M STX participation.

In the event that a Stacker signals and locks up enough STX to submit multiple reward addresses, but only submits one reward address, that reward address will be included in the reward set multiple times. In the event that not all 4000 reward slots are taken, bitcoin rewards are burnt.

While anyone can provide metrics and visibility given the open nature of the network, the team at Hiro PBC is working on a tool to provide more immediate insights to changing participation levels. Until then the Stacks Wallet by Hiro PBC allows Stackers to stack only in intervals of the correct stacking amount.

What if the threshold changes while my STX are locked?

Stackers can add additional stacks to their stacking slots to adjust to changing thresholds by following this FAQ should stacking thresholds change before their STX have unlocked. The key thing to keep in mind is that stacking reward slots are designated by both the amount of STX locked but primarily, Stacking slots are designated by their corresponding Bitcoin address.

This is a working post so please feel free to add more questions and comments below.


While the team is building some more user friendly interfaces for this info, sharing some more places to query for real time stacking info:

1 Like

Personal script I’ve written to query the next reward cycle’s Stacking info:

Example usage:

Next reward cycle: 2
Fraction of STX participating: 19.2772
Minimum STX per reward address: 70000.000000
Blocks to next reward cycle: 89

You can point it at your own node as well by passing its host:port as the first argument.


MAJOR DROP ALERT! Check out :slightly_smiling_face: