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

## Decoded PoX-5 boot-contract events

`GET /v1/index/pox5/events`

Decoded print log of the pox-5 boot contract (SIP-045 Bitcoin Staking) — all 19 topics (stake, stake-update, register-signer, unstake, claim-rewards, etc.), one row per print. Starts at the epoch 4.0 hard fork, where /v1/index/stacking's pox-4 feed ends.

### Filters

| Name | Type | Description |
| --- | --- | --- |
| `topic` | enum | One print topic. Omit for all of them. Values: `set-bond-admin`, `set-pause-admin`, `pause-rewards`, `setup-bond`, `add-to-allowlist`, `register-for-bond`, `update-bond-registration`, `register-signer`, `stake`, `stake-update`, `announce-l1-early-exit`, `unstake-sbtc`, `unstake`, `calculate-rewards`, `bond-distribution`, `claim-rewards`, `claim-staker-rewards-for-signer`, `grant-signer-key`, `revoke-signer-grant`. |
| `staker` | string | Staker principal. Exact match. |
| `signer` | string | The signer: a signer-manager contract. Set on every topic that involves a signer, so `signer=` returns a pool's full activity. |
| `signer_manager` | string | The same principal, as printed on claim and grant topics (`claim-rewards`, `claim-staker-rewards-for-signer`, `grant-signer-key`, `revoke-signer-grant`). Kept for compatibility; `signer` covers it. |
| `bond_index` | integer | Bond index. Exact match. |
| `reward_cycle` | integer | Reward cycle. Exact match. |

### Range and paging

| Name | Type | Description |
| --- | --- | --- |
| `limit` | integer · 1 to 1000 | Page size; capped at 1000. |
| `cursor` | string | `<block_height>:<event_index>` from a previous page's `next_cursor`. Resumes after it. |
| `from_cursor` | string | Same as `cursor`. Mutually exclusive with it and with `from_height`. |
| `from_height` | integer | First block height to read. Mutually exclusive with a cursor. With neither, the read starts one day behind the tip. |
| `to_height` | integer | Last block height to read, inclusive. |
| `confirmed` | boolean | `true` stops the page at the finality boundary, so every row is past the reorg margin. |
| `fields` | string | Comma-separated columns to return. `cursor`, `block_height` and `topic` always come back; an unknown name is refused. |

### Returns

A cursor envelope; `events` holds `Pox5Event` objects.

### Responses

- `200` Cursor-paginated envelope
- `400` A parameter, filter, cursor or body field was refused; `code` says which
- `401` This bind requires the instance token, and it was missing or wrong
- `429` Rate limited; retry after `Retry-After` seconds

### Example

```bash
curl -G https://api.secondlayer.tools/v1/index/pox5/events \
  -H "Authorization: Bearer $SECONDLAYER_API_KEY" \
  -d topic=stake \
  -d signer=SP8HK160YD5GHXP69VGA0TC7AQJ1X4CDW3XVERSE.xverse-signer-manager-3
```

```json
{
  "events": [
    {
      "cursor": "9048679:0",
      "block_height": 9048679,
      "block_time": "2026-09-23T13:55:35.000Z",
      "tx_id": "0xba5c3e57f65a7e92f917c0e8c32bdf11cedb31baefe708c8a3b9177437420ea9",
      "tx_index": 0,
      "event_index": 0,
      "topic": "stake",
      "staker": "SP19YK5M97734AJZAA2X8W6J9GGNVM9JFZ751H0F1",
      "signer": "SP8HK160YD5GHXP69VGA0TC7AQJ1X4CDW3XVERSE.xverse-signer-manager-3",
      "signer_manager": null,
      "bond_index": null,
      "amount_ustx": "550000000",
      "amount_sats": null,
      "reward_cycle": null,
      "first_reward_cycle": 144,
      "unlock_cycle": 240,
      "unlock_burn_height": 1170050,
      "is_l1_lock": null,
      "signer_key": null,
      "data": {
        "topic": "stake",
        "signer": "SP8HK160YD5GHXP69VGA0TC7AQJ1X4CDW3XVERSE.xverse-signer-manager-3",
        "staker": "SP19YK5M97734AJZAA2X8W6J9GGNVM9JFZ751H0F1",
        "num-cycles": "96",
        "amount-ustx": "550000000",
        "unlock-cycle": "240",
        "first-reward-cycle": "144",
        "unlock-burn-height": "1170050"
      }
    }
  ],
  "next_cursor": "7960000:42",
  "tip": {
    "block_height": 9048690,
    "finalized_height": 9048457,
    "lag_seconds": 4,
    "source_block_height": 9048692
  },
  "reorgs": [
    {
      "id": "3f16c2c5-9551-4ae9-adb0-923668e5c65e",
      "detected_at": "2026-09-15T15:39:38.129Z",
      "fork_point_height": 8996511,
      "old_index_block_hash": "0x45ba0195071488eda13afa66d8ce8612558a739f781be5a032d96332797c4174",
      "new_index_block_hash": "0xa686ff58e7c5ccb26c850a7eaffa7e7274fcbc081c706344eb6f1e1446023df0",
      "orphaned_range": {
        "from": "8996511:0",
        "to": "8996512:2701"
      },
      "new_canonical_tip": "8996511:0"
    }
  ]
}
```
