The block-context validator skips btc:rule-blockctx-coinbase-amount for Bitmark because our schema models a simple Bitcoin-style halving, but Bitmark's subsidy (per bip-0102) is scaled emission-based:
- Base reward by cumulative emission (satoshis emitted, not block height): halvings every 788,000 + interim "quartering" reductions.
- Per-algo scaling factor (SSF):
scaled = base − (base·100,000,000 / scalingFactor)/2, where scalingFactor tracks peak hashrate per algorithm over up to a year, updated ~every 90 blocks.
This needs live chain state (total emission + per-algo hashrate history), so it can't be expressed in the static chain schema — it requires a Bitmark-specific subsidy function. Until then, coinbase-amount stays an external/known gap (like multi-algo PoW). Verified divergence: block 2,399,605 coinbase 2.808 BTM vs simple-halving 2.5 BTM.
The block-context validator skips
btc:rule-blockctx-coinbase-amountfor Bitmark because our schema models a simple Bitcoin-style halving, but Bitmark's subsidy (per bip-0102) is scaled emission-based:scaled = base − (base·100,000,000 / scalingFactor)/2, wherescalingFactortracks peak hashrate per algorithm over up to a year, updated ~every 90 blocks.This needs live chain state (total emission + per-algo hashrate history), so it can't be expressed in the static chain schema — it requires a Bitmark-specific subsidy function. Until then, coinbase-amount stays an external/known gap (like multi-algo PoW). Verified divergence: block 2,399,605 coinbase 2.808 BTM vs simple-halving 2.5 BTM.