<!-- source: https://secondlayer.tools/docs/api-reference#pox5-cycle-object -->

## The PoX-5 reward cycle object

Materialized per-cycle rollup of pox-5.clar's own state (plan 078), exact to the node.

| Field | Type | Description |
| --- | --- | --- |
| `reward_cycle` | integer | The reward cycle. |
| `start_burn_height` | integer | Bitcoin block at which this cycle starts. |
| `prepare_start_burn_height` | integer | Bitcoin block at which this cycle's totals froze: the start of the prior cycle's prepare phase. |
| `end_burn_height` | integer | Bitcoin block at which this cycle ends. |
| `total_stacked_ustx` | string | STX + bond ustx delegated to signers this cycle, as a decimal string. |
| `reward_eligible_ustx` | string | STX actually counted toward rewards. Signers below the 50,000 STX threshold don't count, even though they're in `total_stacked_ustx`. |
| `stakers` | integer | Distinct stakers (STX and bond) with a position this cycle. |
| `signers_in_set` | integer | Signers that met the 50,000 STX delegation threshold this cycle. |
| `bond_sats` | object | Bond index (as a string key) -> sats staked for this cycle. |
| `bond_total_sats` | string | Sum of `bond_sats` for this cycle. |
| `sbtc_custodied_sats` | string | sBTC currently custodied by pox-5 (non-L1 bonds only). A running total, not scoped to this cycle: the contract's `get-total-sbtc-staked` takes no cycle argument. |
| `rewards_allocated_stx` | string | STX rewards allocated to this cycle's distributions so far. |
| `rewards_allocated_bond` | string | Bond (sBTC) rewards allocated to this cycle's distributions so far. |
| `reserve_deposit` | string | STX deposited to the protocol reserve from this cycle's distributions. |
| `rewards_per_token_stx` | string · nullable | Cumulative STX rewards per micro-STX for this cycle. `null` before the first distribution. |
| `rewards_per_token_bond` | object | Bond index (as a string key) -> cumulative rewards-per-sat for this cycle. |
| `distributions` | integer | Distributions run for this cycle so far (0, 1, or 2). |
| `rewards_claimed` | string | Rewards claimed for this cycle so far, across every signer. |
| `computed_through_height` | integer | Stacks block height this rollup was last computed through. |
| `is_current` | boolean | True for the cycle containing the tip's burn height. |
| `is_frozen` | boolean | True once totals can no longer change: the tip has reached `prepare_start_burn_height`. Closed and current cycles are always frozen; only a not-yet-started future cycle is open. |

```json
{
  "reward_cycle": 141,
  "start_burn_height": 962150,
  "prepare_start_burn_height": 962050,
  "end_burn_height": 964249,
  "total_stacked_ustx": "392447554847960",
  "reward_eligible_ustx": "392447554847960",
  "stakers": 3035,
  "signers_in_set": 36,
  "bond_sats": {
    "1": "23017037628"
  },
  "bond_total_sats": "23017037628",
  "sbtc_custodied_sats": "16016587628",
  "rewards_allocated_stx": "297713728",
  "rewards_allocated_bond": "13810222",
  "reserve_deposit": "52537716",
  "rewards_per_token_stx": "758607677183",
  "rewards_per_token_bond": {
    "1": "599999974940302"
  },
  "distributions": 2,
  "rewards_claimed": "162018760",
  "computed_through_height": 8665732,
  "is_current": false,
  "is_frozen": true
}
```
