> 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/reference/api/stacks-node-rpc/signers.md).

# Signers

Endpoints for retrieving signer information.

## Fetch the stacker and signer set information for a given cycle.

> Used to get stacker and signer set information for a given cycle.\
> \
> This will only return information for cycles starting in Epoch 2.5\
> (PoX-4) or later, including PoX-5 cycles. The response shape depends on\
> \`reward\_set\_version\`: \`0\` for PoX-4 cycles, \`1\` for PoX-5 cycles.<br>

```json
{"openapi":"3.1.0","info":{"title":"Stacks 3.0+ RPC API","version":"1.0.0"},"tags":[{"name":"Signers","description":"Endpoints for retrieving signer information."}],"servers":[{"url":"http://localhost:20443","description":"Local Stacks Node"}],"security":[],"paths":{"/v3/stacker_set/{cycle_number}":{"get":{"summary":"Fetch the stacker and signer set information for a given cycle.","tags":["Signers"],"operationId":"getStackerSet","description":"Used to get stacker and signer set information for a given cycle.\n\nThis will only return information for cycles starting in Epoch 2.5\n(PoX-4) or later, including PoX-5 cycles. The response shape depends on\n`reward_set_version`: `0` for PoX-4 cycles, `1` for PoX-5 cycles.\n","parameters":[{"name":"cycle_number","in":"path","required":true,"description":"reward cycle number","schema":{"type":"integer"}},{"$ref":"#/components/parameters/tip"}],"responses":{"200":{"description":"Information for the given reward cycle","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetStackerSet"}}}},"400":{"description":"Could not fetch the given reward set","content":{"application/json":{"schema":{"type":"object","required":["response","err_msg"],"properties":{"response":{"type":"string","enum":["error"],"description":"Response status"},"err_type":{"type":"string","description":"Error type classification"},"err_msg":{"type":"string","description":"Detailed error message"}}}}}},"404":{"description":"Reward cycle not found or does not exist","content":{"text/plain":{"schema":{"type":"string"}}}}}}}},"components":{"parameters":{"tip":{"name":"tip","in":"query","schema":{"type":"string","pattern":"^(latest|[0-9a-f]{64})?$","maxLength":64},"description":"Stacks chain tip to query from. Options:\n- (empty/omitted): Use latest anchored tip (canonical confirmed state)\n- `latest`: Use latest known tip including unconfirmed microblocks.\n  If no unconfirmed state is available, falls back to the confirmed canonical tip.\n  If the unconfirmed state check fails with an error, returns 404.\n- `{block_id}`: Use specific block ID (64 lowercase hex characters)\n\n**Note:** If `tip` is present but contains an invalid or malformed value\n(i.e., not `latest` and not a valid 64-character hex block ID),\nthe node silently falls back to the latest anchored tip (same as omitting `tip`).\n"}},"schemas":{"GetStackerSet":{"type":"object","properties":{"stacker_set":{"description":"Reward set for the cycle. The shape depends on `reward_set_version`:\n`0` for PoX-4 cycles, `1` for PoX-5 cycles.\n","oneOf":[{"$ref":"#/components/schemas/GetStackerSetPox4"},{"$ref":"#/components/schemas/GetStackerSetPox5"}]}}},"GetStackerSetPox4":{"type":"object","description":"PoX-4 reward set (`reward_set_version` 0).","required":["reward_set_version","rewarded_addresses","start_cycle_state"],"properties":{"reward_set_version":{"type":"integer","enum":[0],"description":"Reward set format version. `0` for PoX-4 cycles."},"rewarded_addresses":{"type":"array","description":"Reward addresses that will receive PoX rewards for the cycle.","items":{"type":"object","description":"PoX address object with serialization details (see SIP-007).","properties":{"Standard":{"type":"array","description":"Standard address representation.","items":{"oneOf":[{"type":"object","properties":{"bytes":{"type":"string","description":"Hex-encoded 20-byte address payload"},"version":{"type":"integer","description":"Address version byte"}}},{"type":"string","description":"Serialization method (e.g., \"SerializeP2PKH\")"}]}}},"additionalProperties":true}},"signers":{"type":"array","description":"Optional signer set for the reward cycle.","items":{"type":"object","properties":{"signing_key":{"type":"string","description":"Hex-encoded compressed Secp256k1 public key (33 bytes)"},"weight":{"type":"integer","description":"Signer voting weight (number of slots)"},"stacked_amt":{"type":"integer","format":"int64","description":"Amount stacked by signer (in microSTX)"}}}},"start_cycle_state":{"type":"object","properties":{"missed_reward_slots":{"type":"array","description":"Principals that missed reward slots at cycle start.","items":{"type":"object"}}}},"pox_ustx_threshold":{"type":"integer","format":"int64","description":"Minimum STX amount required to qualify for stacking (optional)"}}},"GetStackerSetPox5":{"type":"object","description":"PoX-5 reward set (`reward_set_version` 1). PoX-5 pays the cycle's rewards to\na single sBTC address, so there is no per-stacker `rewarded_addresses` list.\n","required":["reward_set_version","sbtc_address","signers","pox_ustx_threshold"],"properties":{"reward_set_version":{"type":"integer","enum":[1],"description":"Reward set format version. `1` for PoX-5 cycles."},"sbtc_address":{"type":"object","description":"PoX address that receives the cycle's rewards. Serialized like the entries\nof `rewarded_addresses` in PoX-4 reward sets; on mainnet this is an\n`Addr32` taproot address.\n","properties":{"Addr32":{"type":"array","description":"32-byte witness address representation, a tuple of\n[mainnet flag, address type, 32-byte hash as a byte array].\n","items":{"oneOf":[{"type":"boolean","description":"Whether the address is a mainnet address"},{"type":"string","description":"Address type (\"P2WSH\" or \"P2TR\")"},{"type":"array","description":"32-byte hash as a byte array","items":{"type":"integer"}}]}}},"additionalProperties":true},"signers":{"type":"array","description":"Signer set for the reward cycle.","items":{"type":"object","properties":{"signing_key":{"type":"string","description":"Hex-encoded compressed Secp256k1 public key (33 bytes)"},"weight":{"type":"integer","description":"Signer voting weight (number of slots)"},"stacked_amt":{"type":"integer","format":"int64","description":"Amount stacked by signer (in microSTX)"}}}},"pox_ustx_threshold":{"type":"integer","format":"int64","description":"Minimum STX amount required to qualify for stacking"}}}}}}
```


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.stacks.co/reference/api/stacks-node-rpc/signers.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
