diff --git a/pallets/subtensor/src/coinbase/run_coinbase.rs b/pallets/subtensor/src/coinbase/run_coinbase.rs index e3e98c7a88..78440dbd80 100644 --- a/pallets/subtensor/src/coinbase/run_coinbase.rs +++ b/pallets/subtensor/src/coinbase/run_coinbase.rs @@ -617,6 +617,17 @@ impl Pallet { log::debug!( "incentives: hotkey: {hotkey:?} is SN owner hotkey or associated hotkey, skipping {incentive:?}" ); + + // Record the miner burn as a TAO outflow. The incentive is + // denominated in alpha, so convert to its TAO equivalent at + // the current spot price (no slippage, since no swap occurs). + let current_price: U96F32 = T::SwapInterface::current_alpha_price(netuid.into()); + let tao_equivalent: TaoBalance = current_price + .saturating_mul(asfloat!(incentive)) + .saturating_to_num::() + .min(i64::MAX as u64) + .into(); + Self::record_tao_outflow(netuid, tao_equivalent); // Check if we should recycle or burn the incentive match RecycleOrBurn::::try_get(netuid) { Ok(RecycleOrBurnEnum::Recycle) => {