Increase Stacked Position
This guide explains how to increase your stacked STX position. The process depends on your role:
Solo Stackers use the
stack-increasefunction.Delegators must first revoke their current delegation using
revoke-delegate-stxand then re-delegate with a higher amount to the same pool operator usingdelegate-stx.Pool Operators increase their delegators' locked amount by calling
delegate-stack-increaseand then stacking the increased amount with eitherstack-aggregation-commit-indexed(if not already committed) orstack-aggregation-increase(if the commit has already been made).
Solo Stackers
Solo stackers can add more STX to their active stacking position by calling the stack-increase function. The new amount takes effect from the next stacking cycle.
The stack-increase function locks an additional amount of STX from your account. Your account must be actively stacking and not delegating, and you must have enough unlocked STX to cover the increase.
Arguments:
Increase by: the amount of uSTX to add to your lock 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.
Max Amount: used to validate the signer signature provided. It 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 provided. It is a random integer that prevents re-use of this particular signer signature.
Delegators
Delegators have to increase their delegated amount in two steps.
Delegate with a Higher Amount
After revoking, call the delegate-stx function with your new, higher amount. This function does not directly delegate the STX, but rather allows the pool operator to issue the stacking lock on behalf of the user calling this function.
Arguments:
Amount: Denoted in uSTX (1 STX = 1,000,000 uSTX).
Delegate to: the STX address of the pool operator they're delegating to.
Until burn height: optional BTC block height when the delegation expires.
Pox Address: optional BTC address that, if specified, the signer must use to accept this delegation.
Pool Operators
Pool operators can increase the total stacking amount through a two-step process. First, update the delegation's locked amount with delegate-stack-increase. Then, stack the increased amount by committing it in a future cycle, or increasing an already committed position.
Increase the Locked Amount
The delegate-stack-increase function allows a pool operator to add more STX to the existing locked position for a given delegator. It performs necessary checks and updates the delegation state with the increased amount.
Arguments:
Stacker: the STX address of the delegator.
Pox Address: the BTC address of the pool operator where they will receive the BTC rewards. If the delegator has set his own BTC address in the
delegate-stxcall, this address will have to be the same one.Increase by: the amount of uSTX to add to the delegator's locked amount.
Stack the Increased Amount
Once the locked amount is updated, the operator must commit the change. There are two functions that can be used to stack the increased amount:
If the Commit Has Not Yet Been Made: stack-aggregation-commit-indexed
This function stacks the total locked amount for an upcoming reward cycle. Note that the stack-aggregation-commit-indexed function wraps the inner-stack-aggregation-commit function. The wrapped inner function is included here.
Arguments:
Pox Address: the BTC address to receive rewards.
Reward-cycle: a reward cycle in the future.
Signer public key: the public key of your signer.
Signer signature: a signature proving control of your signing key.
Max Amount: used to validate the signer signature provided.
Auth Id: used to validate the signer signature provided.
If the Commit Has Already Been Made: stack-aggregation-increase
If you have previously committed an amount, you can further increase the stacked position by calling stack-aggregation-increase. This function adds an additional amount of STX to the already committed delegation.
Arguments:
Pox Address: the BTC address to receive rewards.
Reward Cycle: a reward cycle in the future.
Reward Cycle Index: the index returned by
stack-aggregation-commit-indexed.Signer signature: a signature proving control of your signing key.
Signer public key: the public key of your signer.
Max Amount: used to validate the signer signature provided.
Auth Id: used to validate the signer signature provided.
Sequential Process: First call
delegate-stack-increaseto update the locked amount of a delegation. Then, commit the change:Use
stack-aggregation-commit-indexedif this is the first commit in the given cycle.Use
stack-aggregation-increaseif you have already committed in the cycle you want to increase.
Failing to commit (or properly increase after a commit) will result in the increased delegation not taking effect in upcoming stacking cycles.
Was this helpful?
