Metacenter

GET /intervals

Every pox-5 distribution since cycle 141, with cross-check results.

curl https://metacenter.0xo.in/api/intervals

Each item has the distribution index, cycle, calculation height and txid. It also has gross_pool, obligation, bond_paid, shortfall, stx_only, reserve_deposit, reserve_balance, coverage, headroom, stx_only_yield, stx_only_apy_btc, price and cliff_price, plus crosscheck and risk_feed publication status.

Live response (latest item)

GET https://metacenter.0xo.in/api/intervals · read at block 967,690
{
  "distribution_index": 286,
  "cycle": 143,
  "calculation_height": 967399,
  "txid": "0x4a0218d7b13de29ae47015e72345876d362c47159216675d40d03cd09ad1cc5d",
  "gross_pool": {
    "value": "230327835",
    "unit": "sats",
    "provenance": "mirrored",
    "source": "mainnet pox-5 calculate-rewards event, tx 0x4a0218d7b13de29ae47015e72345876d362c47159216675d40d03cd09ad1cc5d: gross-accrued-rewards"
  },
  "obligation": {
    "value": "13810222",
    "unit": "sats",
    "provenance": "mirrored",
    "source": "mainnet pox-5 calculate-rewards event, tx 0x4a0218d7b13de29ae47015e72345876d362c47159216675d40d03cd09ad1cc5d: sum of bond-distribution target-yield"
  },
  "bond_paid": {
    "value": "13810222",
    "unit": "sats",
    "provenance": "mirrored",
    "source": "mainnet pox-5 calculate-rewards event, tx 0x4a0218d7b13de29ae47015e72345876d362c47159216675d40d03cd09ad1cc5d: total-bond-rewards"
  },
  "shortfall": {
    "value": "0",
    "unit": "sats",
    "provenance": "mirrored",
    "source": "obligation - bond_paid"
  },
  "stx_only": {
    "value": "184039972",
    "unit": "sats",
    "provenance": "mirrored",
    "source": "mainnet pox-5 calculate-rewards event, tx 0x4a0218d7b13de29ae47015e72345876d362c47159216675d40d03cd09ad1cc5d: total-stx-staker-rewards"
  },
  "reserve_deposit": {
    "value": "32477641",
    "unit": "sats",
    "provenance": "mirrored",
    "source": "mainnet pox-5 calculate-rewards event, tx 0x4a0218d7b13de29ae47015e72345876d362c47159216675d40d03cd09ad1cc5d: reserve-deposit"
  },
  "reserve_balance": {
    "value": "152669889",
    "unit": "sats",
    "provenance": "mirrored",
    "source": "mainnet pox-5 calculate-rewards event, tx 0x4a0218d7b13de29ae47015e72345876d362c47159216675d40d03cd09ad1cc5d: reserve-balance"
  },
  "coverage": {
    "value": 16.67806896949231,
    "unit": "x",
    "provenance": "mirrored",
    "source": "gross_pool / obligation"
  },
  "headroom": {
    "value": 0.9400410202266696,
    "unit": "fraction",
    "provenance": "mirrored",
    "source": "1 - obligation / gross_pool"
  },
  "stx_only_yield": {
    "value": 0.42017725171522796,
    "unit": "sats per STX per interval",
    "provenance": "mirrored",
    "source": "mainnet pox-5 calculate-rewards event, tx 0x4a0218d7b13de29ae47015e72345876d362c47159216675d40d03cd09ad1cc5d: total-stx-staker-rewards / cycle-staked-ustx * 1e6"
  },
  "stx_only_apy_btc": {
    "value": 0.06669233657204557,
    "unit": "fraction per year",
    "provenance": "mirrored",
    "source": "stx_only_yield * 50 / price (coingecko:market_chart/range @ 1789642800)"
  },
  "price": {
    "value": 315.011644,
    "unit": "sats per STX",
    "provenance": "mirrored",
    "source": "coingecko:market_chart/range @ 1789642800"
  },
  "cliff_price": {
    "value": 18.88777679095958,
    "unit": "sats per STX",
    "provenance": "mirrored",
    "source": "price * obligation / gross_pool",
    "note": "assumes miner BTC bids scale linearly with the STX price"
  },
  "crosscheck": {
    "ok": true,
    "note": "diff vs event (sats): gross -2, reserve 0, stx -1, bonds -1",
    "method": "recomputed from pox-5 state before/after the calculate-rewards block (call-read ?tip=)",
    "tip_before": "0xc48f342fb05e99f51b63e8c0e147d60938267def701df0837d860c49fda76b86",
    "tip_after": "0xa77f5c39ea2408ee39ecb114d72b8bbf74c51aa7862979901e7c15eb31a867dc"
  },
  "risk_feed": {
    "contract": "ST24MYZSDF0TAVZ452R2TJY3RCQAVT3KR0FJHYCAJ.risk-feed",
    "network": "testnet",
    "txid": "0x85123d47f097520925db200ee137a9d71d6b7dde638e9367fa9887f6700466df",
    "status": "confirmed",
    "note": "testnet feed values mirror mainnet data"
  }
}

Showing the latest item of intervals; the full response has more fields.

Edit on GitHub

On this page