Solo Stacking

This guide covers everything you need to stack independently as a solo stacker: starting, extending, increasing, and stopping your stacking position.

circle-info

This guide assumes you are familiar with stacking at a conceptual level. If not, read the Stackingarrow-up-right concept guide first.

Solo stacking requires meeting the minimum STX threshold and either running a signer or collaborating with one. The minimum amount is dynamic and can be found at the pox endpointarrow-up-right under min_threshold_ustx (1 STX = 1,000,000 uSTX).

circle-info

Degen Labarrow-up-right provides a solo stacking dapp that lets you stack without running your own signer, as they operate one on your behalf. This is likely the easiest option for solo stacking.

If you don't meet the stacking minimum, see the Stack with a Pool guide instead.

Prerequisites

Before you begin, make sure you have:

  1. A running signer or a signer you are collaborating with. See the Run a Signer guide.

  2. A signer key signature for the stacking transaction you want to make. See Generate a Signer Signature.

  3. Sufficient STX: at or above the minimum stacking threshold.

circle-info

There are several ways to make stacking transactions. This guide covers using Leather Earnarrow-up-right, which is the simplest option. You can also call the stacking functions directly from the deployed contractarrow-up-right in the explorer, or use the @stacks/stackingarrow-up-right NPM package.

The functions and parameters are the same regardless of method.


Start Stacking

Call stack-stx

chevron-rightFunction source codehashtag

The arguments are:

  • Amount: Denoted in uSTX (1 STX = 1,000,000 uSTX)

  • PoX Address: the BTC wallet address where you will receive stacking rewards

  • Start burn height: the current BTC block height

  • Lock period: the number of cycles to lock for (between 1 and 12)

  • Signer key: the public key that your signer is using

  • Signer signature: a signature that proves control of this signer key (see Generate a Signer Signature)

  • Max Amount: used to validate the signer signature; represents the maximum number of uSTX that can be stacked in this transaction

  • Auth Id: used to validate the signer signature; a random integer that prevents re-use of this particular signature

Using Leather Earn

Visit Leather Earnarrow-up-right and click the "Stack independently" button on the home page. You will be prompted to enter:

  • The amount of STX to lock

  • The duration (number of cycles) to lock for

  • Your BTC address for stacking rewards

  • Your signer public key

  • Your signer key signature

  • Auth ID

  • Max amount

circle-info

When using Leather Earn, you can paste the JSON output from the signature generation step directly into the form.

Acting as a signer vs. working with one

Option 1: Act as a signer. If you run your own signer, ensure it is running during the prepare phase (last 100 blocks before the next cycle). This is when distributed key generation (DKG) occurs. You don't need to do anything actively during this period other than monitoring your signer.

Option 2: Work with a signer. If you don't want to run a signer yourself, you can collaborate with an existing one. You'll need their signer key and a signer signature generated for your stacking transaction. Degen Lab's solo stacking dapparrow-up-right simplifies this process by providing their signer for you to use.


Extend Your Lock Period

You can extend your lock period while actively stacking by calling stack-extend. You can also rotate your signer key and change your Bitcoin reward address as part of this call.

chevron-rightFunction source codehashtag

The arguments are:

  • Extend count: the number of cycles to add to your lock period. The resulting total lock period cannot exceed 12. For example, if you have 6 cycles remaining, the maximum you can extend is 6.

  • Pox Address: the BTC address to receive rewards. This can be changed from your original address.

  • Signer public key: the public key used for signing. This can stay the same, or you can rotate to a new key. See Key and Address Rotation.

  • Signer signature: a signature proving control of your signing key (see Generate a Signer Signature)

  • Max Amount: used to validate the signer signature

  • Auth Id: used to validate the signer signature

Using Leather Earn

If you're already stacking, the Leather Earn home page will show a link to "view stacking details". From there, you can choose to extend. The form asks for:

  • The number of cycles to extend for

  • Your BTC address for rewards

  • Signer public key

  • Signer key signature

  • Auth ID

  • Max amount


Increase Your Stacked Amount

You can increase the amount of STX locked while actively stacking. The increased position takes effect starting with the next stacking cycle. Call the stack-increase function.

chevron-rightFunction source codehashtag

The arguments are:

  • Increase by: the amount of uSTX to add to your locked amount

  • Signer public key: the public key used for signing. This can stay the same, or you can use a new key.

  • Signer signature: a signature proving control of your signing key (see Generate a Signer Signature)

  • Max Amount: used to validate the signer signature; represents the maximum number of uSTX (1 STX = 1,000,000 uSTX) that can be stacked in this transaction

  • Auth Id: used to validate the signer signature

Using Leather Earn

If you're already stacking, the home page will show a link to "view stacking details". From there, choose to increase. The form asks for:

  • The amount of STX to increase by

  • Signer public key

  • Signer key signature

  • Auth ID

  • Max amount


Stop Stacking

When stacking solo, your STX is locked for a fixed period defined when you initiated stacking or extended the lock period. No additional action is required to stop stacking. Your tokens unlock automatically when the lock period expires.

circle-info

Both the stack-stx and stack-extend functions emit an event that includes the unlock-burn-height field. This is the burn block height at which your tokens will be automatically unlocked.

To avoid your position being extended, simply do not call stack-extend before the current lock period ends. Once the lock period expires, your STX will be returned to your account.

Monitoring your unlock


How Signer Registration Works

In the prepare phase before the next stacking cycle (last 100 blocks), the signer set is selected based on the amount of STX stacked. For solo stackers, the only transaction needed is stack-stx. Once it is confirmed during the first 2000 blocks of the current reward cycle, your signer will be registered in the next cycle's signer set.

It is critical that your signer is running during the prepare phase. This is when DKG occurs, and the signer automatically participates. No manual action is required beyond monitoring.

Last updated

Was this helpful?