In Boost V2, a Boost remains “Active” until it runs out of rewards—either through claims or after the remaining funds have been withdrawn. To determine a Boost’s active status, you can use the canBeClaimed method on each of the boost incentives.

const boost = await core.getBoost(17n, { chainId: 8453 });

async function isBoostActive(incentives) {
  for (const incentive of incentives) {
    if (await incentive.canBeClaimed()) return true;
  }
  return false;
}

const active = await isBoostActive(boost.incentives);

For variable incentive types, canBeClaimed only checks if the incentive balance is greater than zero. This may not accurately reflect claimability if the balance is less than the minimum payout amount required for a reward.

SDK Reference

Learn more about the canBeClaimed method