> For the complete documentation index, see [llms.txt](https://docs.stacks.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stacks.co/operate/staking-stx.md).

# Staking STX

Staking is locking STX, or STX paired with BTC or sBTC, to support the network's consensus and earn Bitcoin-denominated rewards. If you aren't familiar with how it works, read the [Stacking](https://docs.stacks.co/learn/block-production/stacking) and [Stackers and Signing](https://docs.stacks.co/learn/block-production/signing) concept guides first.

Staking uses the `pox-5` contract, deployed at `SP000000000000000000002Q6VF78.pox-5`. You can [read its source on the Explorer](https://explorer.hiro.so/txid/SP000000000000000000002Q6VF78.pox-5?chain=mainnet\&tab=sourceCode). PoX-5 activated with the Epoch 4.0 hard fork and replaces `pox-4`.

{% hint style="warning" %}
**Every PoX-4 position unlocked at activation.** If you were stacking under PoX-4, your STX is already unlocked and you must re-enroll under PoX-5 to keep earning. See [What's Changed in PoX-5](/operate/staking-stx/whats-changed-in-pox-5.md).
{% endhint %}

### Start here

{% stepper %}
{% step %}

#### What's Changed in PoX-5

If you were stacking under PoX-4: what unlocked, how to re-enroll, what changed about rewards, and the deadlines for the next cycle.

* [What's Changed in PoX-5](/operate/staking-stx/whats-changed-in-pox-5.md)
  {% endstep %}

{% step %}

#### Stake to an existing signer-manager

The common path, and what most people should do. You keep custody of your STX; the signer-manager you choose handles registration and reward distribution. Pick one whose fee and admin set you are comfortable with. Both are readable on-chain.

* [Stake to an Existing Signer-Manager](/operate/staking-stx/stack-with-a-pool.md)
  {% endstep %}

{% step %}

#### Run your own signer-manager

For operators. This means deploying a contract and running infrastructure: a Bitcoin node, a Stacks node, and the signer software.

* [Deploy a Signer Manager Contract](/operate/deploy-a-signer-manager-contract.md)
* [Generate a Signer Signature](/operate/staking-stx/generate-signer-signature.md)
* [Take a Signer Fee](/operate/take-a-signer-fee.md)
* [Run a Signer](/operate/run-a-signer.md)
* [PoX-5 Upgrade Guide](/operate/run-a-signer/pox-5-upgrade-guide.md)
* [Run a Node](/operate/run-a-node.md) and [Run a Bitcoin Node](/operate/run-a-node/run-a-bitcoin-node.md)
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}
The minimum for a signer-manager to enter the signer set is a **fixed 50,000 STX** (`SIGNER_SET_MIN_USTX`) in aggregate across everyone staking to it. An individual stake may be smaller. This replaces PoX-4's cycle-varying `min_threshold_ustx`.
{% endhint %}

### Definitions and roles

* **Staker**: anyone locking STX. Either **STX-only** staking, or a **protocol bond** pairing a BTC L1 timelock (or sBTC) with an STX lock. PoX-5 allows exactly one position per Stacks principal, and the two kinds are mutually exclusive.
* **Signer-manager**: the contract a staker stakes to. It is identified on-chain by its contract principal, not by a raw signer key, and it holds the reward-distribution logic.
* **Signer**: the holder of the signer key that a signer-manager has been granted via `grant-signer-key`. Running a signer means running the `stacks-signer` software alongside your own Stacks node and Bitcoin node.
* **Pool**: a signer-manager that other people stake to.

{% hint style="info" %}
**"Solo" and "pooled" are no longer separate mechanisms.** Under PoX-4 they were. Under PoX-5 everyone stakes non-custodially to a signer-manager contract; the only question is who deployed it.

A solo staker in the old sense is someone running their own signer-manager, which is operationally the same thing as offering a pool service, because anyone can stake to that contract. There is no `delegator` or `pool operator` role at the protocol layer.
{% endhint %}

### Reference guides

Updated for PoX-5:

* [Stake to an Existing Signer-Manager](/operate/staking-stx/stack-with-a-pool.md)
* [Generate a Signer Signature](/operate/staking-stx/generate-signer-signature.md)
* [Operate a Pool](/operate/staking-stx/operate-a-pool.md)

{% hint style="warning" %}
The guides below were written for PoX-4. Where a page has been rewritten for PoX-5, its old name is shown first and the link goes to the page that replaced it. Anything still carrying its original name is being updated, so treat its contract calls and arguments as out of date. Per-transaction signer signatures and the `delegate-stx` / `stack-aggregation-commit` flow no longer exist.
{% endhint %}

* Stack with a Pool → [Stake to an Existing Signer-Manager](/operate/staking-stx/stack-with-a-pool.md)
* Solo Stacking → [Stake to an Existing Signer-Manager](/operate/staking-stx/stack-with-a-pool.md), or [Run a Signer](/operate/run-a-signer.md) to run your own
* [Key and Address Rotation](/operate/staking-stx/key-and-address-rotation.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.stacks.co/operate/staking-stx.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
