# Who staked the 505.1 BTC in PoX-5 bond period 2 Snapshot taken at Stacks block **9140825**. The three stakers below sum to `get-total-sbtc-staked-for-bond(u2)` at that block, and the same total is still on the chain at a later block. ## 1. Snapshot | Field | Value | | --- | --- | | Stacks block height | 9140825 | | Stacks block hash | `0x959680af38f7e97f93b1af014761d48953e2f6b8bd6c5e11bc964e410ac783bf` | | Index block hash | `0xe208d22ad6afa387daef8988c51e716c5698a703e4dd3f4073ca9148a9f9cf66` | | Bitcoin burn height | 970357 | | Canonical | yes | The total first reached 50,510,000,000 sats in this block. The parent block, 9140824, was 50,500,000,000. A later read, Stacks block 9144665 (burn 970447, index `0x7ae6695ede4c0c604eb21fed886e081da7e334667ba315952240d340dd5c0f5b`), returned the same 50,510,000,000 sats. Nothing has been added or removed since the snapshot. ## 2. The total Contract: `SP000000000000000000002Q6VF78.pox-5` Function: `get-total-sbtc-staked-for-bond` Argument: `u2`, Clarity uint `0x0100000000000000000000000000000002` Hiro only honors a historical tip when it is the **index block hash with no `0x` prefix**, passed as a query parameter. A `tip` field in the JSON body is ignored and returns the chain tip. ``` curl -sS -X POST \ 'https://api.hiro.so/v2/contracts/call-read/SP000000000000000000002Q6VF78/pox-5/get-total-sbtc-staked-for-bond?tip=e208d22ad6afa387daef8988c51e716c5698a703e4dd3f4073ca9148a9f9cf66' \ -H 'Content-Type: application/json' \ -d '{"sender":"SPFRKB8A00MTA8QX5BYSEJ00XFTJK1AJE2XF30NC","arguments":["0x0100000000000000000000000000000002"]}' ``` Raw result at block 9140825: `0x0100000000000000000000000bc2a16f80` That is a Clarity uint. Drop the `0x01` type byte. The remaining 16 bytes are `0x0bc2a16f80` = **50,510,000,000 sats** (505.1 BTC). ## 3. Stakers `protocol-bonds-total-staked` is written in three places in `pox-5`: `register-for-bond` adds `sats-total`, `unstake-sbtc` subtracts, and `announce-l1-early-exit` subtracts. `stake`, `stake-update`, and `unstake` do not touch this map. | Principal | Sats staked in period 2 | Txid | | --- | ---: | --- | | `SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.stbtc-staker-bond-2-v2` | 48,300,000,000 | `0xd5073db36fdacac07394005df2e76461b145dd4c391f882e1d7e499bebd4f251` | | `SP8HK160YD5GHXP69VGA0TC7AQJ1X4CDW3XVERSE.sbtc-bond-staker-v1-2` | 2,200,000,000 | `0xebcd026a802bca6064b6e5b544ce49d84787ea5a9d7776bc45e302b6006bf3a3` | | `SP2TC7YMDH77T5GP41W6JZK3Q7AJ10ZJ36ZQNGQ79` | 10,000,000 | `0x6a2571f18a57c806e4a463f569fa9a24f1fba6b3a8b0d44e2480629eaa15b5c6` | | **Sum** | **50,510,000,000** | | 48,300,000,000 + 2,200,000,000 + 10,000,000 = 50,510,000,000. `get-bond-membership` at block 9140825, and again at block 9144665, returns `bond-index` 2 and the same `amount-sats` for each row. ### Row 1 - Tx `0xd5073db36fdacac07394005df2e76461b145dd4c391f882e1d7e499bebd4f251` - `tx_status: success`, canonical, Stacks block 9137319, burn 970278 - Outer call: `SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.strategy-v6` `perform-bond` - That block contains this call and one STX transfer. No other contract call. - pox-5 print, contract `SP000000000000000000002Q6VF78.pox-5`: topic `"register-for-bond"`, `bond-index u2`, `sats-total u48300000000`, `is-l1-lock false`, staker `SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.stbtc-staker-bond-2-v2` - sBTC event: 48,300,000,000 `SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token::sbtc-token` from that staker to `SP000000000000000000002Q6VF78.pox-5` - Bond total on the parent block 9137318: 0. On 9137319: 48,300,000,000. ### Row 2 - Tx `0xebcd026a802bca6064b6e5b544ce49d84787ea5a9d7776bc45e302b6006bf3a3` - `tx_status: success`, canonical, Stacks block 9140657, burn 970353 - Outer call: `SP8HK160YD5GHXP69VGA0TC7AQJ1X4CDW3XVERSE.sbtc-bond-staker-v1-2` `stake` - That block contains this call and two STX transfers. No other contract call. - pox-5 print: topic `"register-for-bond"`, `bond-index u2`, `sats-total u2200000000`, `is-l1-lock false`, staker `SP8HK160YD5GHXP69VGA0TC7AQJ1X4CDW3XVERSE.sbtc-bond-staker-v1-2` - sBTC event: 2,200,000,000 from that staker to `SP000000000000000000002Q6VF78.pox-5` - Bond total on parent block 9140656: 48,300,000,000. On 9140657: 50,500,000,000. ### Row 3 - Tx `0x6a2571f18a57c806e4a463f569fa9a24f1fba6b3a8b0d44e2480629eaa15b5c6` - `tx_status: success`, canonical, Stacks block 9140825, burn 970357 - Outer call: `SP000000000000000000002Q6VF78.pox-5` `register-for-bond`, sender `SP2TC7YMDH77T5GP41W6JZK3Q7AJ10ZJ36ZQNGQ79` - That block contains this call and one STX transfer. No other contract call. - pox-5 print: topic `"register-for-bond"`, `bond-index u2`, `sats-total u10000000`, `is-l1-lock true`, staker `SP2TC7YMDH77T5GP41W6JZK3Q7AJ10ZJ36ZQNGQ79` - This row is an L1 BTC lock, not an sBTC transfer. The print is the event that shows 10,000,000 sats. The print's `btc-lockup` is type `"l1"`, txid `0x6fc0c08830c3e3a79e89a9102de0fff83a222bbf231bad18d3715cb88847e27c`, output 0. - Bond total on parent block 9140824: 50,500,000,000. On 9140825: 50,510,000,000. ## Why there is no fourth row From burn 970148 through the tip I paged every transaction Hiro indexes on `SP000000000000000000002Q6VF78.pox-5` (1,600 transactions, offset 0 until the page burned below 970148). The only outer calls that were not `sbtc-deposit.complete-deposit-wrapper` were `pox-5` `stake`, `stake-update`, and `unstake`, plus the three calls in the table. There was no `unstake-sbtc` and no `announce-l1-early-exit`. Those are the only three functions that change `get-total-sbtc-staked-for-bond`. The counter steps 0, then 48,300,000,000, then 50,500,000,000, then 50,510,000,000, and it is still 50,510,000,000 at block 9144665. The three membership amounts are the whole total.