Constants Reference (v1.0.0)
Curated snapshot of the most user-visible and integration-relevant constants from src/lib/Constants.sol. This page is a curated mirror for the manuals, not the canonical source of truth. src/lib/Constants.sol is canonical, and some contract-local constants (for example MineCore.GENESIS_ACCRUAL_DURATION) intentionally live outside this appendix.
Takeover (MineCore)
| Constant | Value |
|---|---|
| TAKEOVER_PRICE_FLOOR | 0.001 ETH |
| TAKEOVER_DECAY_PERIOD | 1 hour |
Emissions (MineCore + Furnace)
| Constant | Value |
|---|---|
| EMISSION_DECAY_PERIOD | 2 years |
| KING_EMISSION_LAUNCH_RATE | 50 CLAIM/sec |
| KING_EMISSION_FLOOR | ~5.56 CLAIM/sec |
| FURNACE_EMISSION_LAUNCH_RATE | 5 CLAIM/sec |
| FURNACE_EMISSION_FLOOR | ~0.56 CLAIM/sec |
Baron royalties (ShareholderRoyalties)
| Constant | Value |
|---|---|
| MIN_VE_FLUSH | 100 veCLAIM |
| MAX_REWARD_CHECKPOINTS | 50,000 |
| MAX_OVERFLOW_CHECKPOINTS | 50,000 |
| SHAREHOLDER_MODE_ETH | 0 |
| SHAREHOLDER_MODE_LOCK_FURNACE | 1 |
MIN_VE_FLUSH gates manual / residual shareholder flushes. Canonical takeover allocations are
auto-attempted immediately and index against the current processed shareholder denominator once
checkpointTotalVe() has advanced ve.globalLastTs() to the current block.
Furnace lock parameters
| Constant | Value |
|---|---|
| MIN_LOCK_AMOUNT | 1,000 CLAIM |
| MIN_LOCK_DURATION | 7 days; also enforced as the minimum remaining time for an existing lock to be used as an entry destination |
| MAX_LOCK_DURATION | 365 days |
| MAX_VE_NFTS_PER_USER | 32 |
Genesis LP vault
| Constant | Value |
|---|---|
| INITIAL_LOCK_DURATION | 730 days (24 months) |
| MAX_EXTENSION | 3,650 days (10 years) |
| MAX_ABSOLUTE_LOCK | 36,500 days (100 years) |
| MIN_LP_LOCK | 1e15 wei |
| MIN_EXTENSION_DURATION | 1 day |
Bonus mechanics
User + LP bonus clamps:
| Constant | Value |
|---|---|
| MAX_USER_BONUS_BPS | 10,000 |
| MAX_GROSS_BONUS_BPS | 12,500 |
Lock-% anchors:
| Constant | Value |
|---|---|
| LOCK_PCT_TARGET_BPS | 700 |
| LOCK_PCT_MIN_FOR_BOOST_CAP_BPS | 500 |
| LOCK_PCT_FULL_BOOST_CAP_BPS | 2,000 |
Reserve-factor cap + ramp:
| Constant | Value |
|---|---|
| RESERVE_TARGET_FINAL | 20,000,000 CLAIM |
| RESERVE_FACTOR_MAX_BPS_LOWLOCK | 15,000 |
| RESERVE_FACTOR_MAX_BPS | 20,000 |
| SWING_TIME | 60 days |
Virtual depth / decay windows:
| Constant | Value |
|---|---|
| BONUS_DECAY_WINDOW | 3 hours |
| LP_STREAM_WINDOW | 14 days |
LP top-up (when enabled):
| Constant | Value |
|---|---|
| LP_TOPUP_RATE_MIN_BPS | 750 |
| LP_TOPUP_RATE_MAX_BPS | 1,500 |
| LP_TOPUP_GAMMA | 2 |
Absolute-supply anchor (not the primary v1.0.0 bonus anchor; retained in Constants for reference):
| Constant | Value |
|---|---|
| LOCK_TARGET | 120,000,000 CLAIM |
Furnace sellback (lock → liquid CLAIM)
The sellback quote is a single net payout (claimOut). The implied haircut is lockAmount - claimOut.
| Constant | Value |
|---|---|
| SELL_SPREAD_MIN_BPS | 500 |
| SELL_SPREAD_MAX_BPS | 7,000 |
| SELL_SPREAD_FLOOR_7D_BPS | 120 |
| SELL_SPREAD_GAMMA | 2 |
| SELL_ROUND_TRIP_LOSS_MAX_BPS | 2,500 |
| SELL_IMPACT_BPS_PER_STEP | 100 |
| SELL_IMPACT_MAX_BPS | 1,500 |
LP sale (portion of sell haircut routed to LP rewards):
| Constant | Value |
|---|---|
| LP_SALE_MIN_BPS | 500 |
| LP_SALE_MAX_BPS | 1,500 |
| LP_SALE_GAMMA | 2 |
| LP_SALE_REWARD_CAP_INFLOW_SHARE_BPS | 2,500 |
| LP_SALE_REWARD_CAP_FIXED_CAP_PER_DAY | 150,000 CLAIM/day |
LP overflow drip (Furnace → LP rewards stream)
Separate from the per-entry LP top-up split. Enabled only when lpRewardsVault != address(0).
| Constant | Value |
|---|---|
| LP_OVERFLOW_DRIP_START | 18 months (18 × 30 days) |
| LP_OVERFLOW_DRIP_RAMP | 180 days |
| LP_OVERFLOW_DRIP_INFLOW_SHARE_CAP_BPS | 1,000 (10%) |
| LP_OVERFLOW_DRIP_FIXED_CAP_PER_DAY | 30,000 CLAIM/day |
| LP_OVERFLOW_DRIP_GATE_K | 2,000,000 CLAIM |
View helpers on Furnace: getLpOverflowDripPerDay(), getLpStreamRemaining(), getLpStreamState().
MarketRouter (listings + buy intents)
| Constant | Value |
|---|---|
| SETTLEMENT_KEEPER_GRACE_SECONDS | 1800 |
| EMERGENCY_DELIST_MIN_AGE | 7 days |
Buy intent (bonus target escrow) defaults and bounds:
| Constant | Value |
|---|---|
| DEFAULT_MIN_BONUS_TARGET_ESCROW_BUDGET | 10,000 CLAIM |
| DEFAULT_MAX_BONUS_TARGET_ESCROW_DISCOUNT_BPS | 8,000 |
| DEFAULT_BONUS_TARGET_ESCROW_TTL_SECONDS | 30 days |
| MAX_BONUS_TARGET_ESCROW_TTL_SECONDS | 90 days |
Delist reason codebook:
| Constant | Value |
|---|---|
| LOCK_DELIST_REASON_NORMAL | 0 |
| LOCK_DELIST_REASON_EMERGENCY | 1 |
| LOCK_DELIST_REASON_SOLD_INTO_OFFER | 2 |
| LOCK_DELIST_REASON_SOLD_TO_FURNACE | 3 |
| LOCK_DELIST_REASON_EXPIRED | 4 |
| LOCK_DELIST_REASON_APPROVAL_REVOKED | 5 |
In the strict-mode MarketRouter, delist codes 2 and 5 are reserved analytics values and are not emitted.
Maintenance / keepers
| Constant | Value |
|---|---|
| MAX_MAINTENANCE_OFFERS_PER_CALL | 50 |
| MAX_LP_COMPOUND_USERS_PER_CALL | 50 |
| MAX_SHAREHOLDER_COMPOUND_USERS_PER_CALL | 50 |
| MAX_AUTOMAX_BONUS_BATCH | 200 |
ve checkpointing
| Constant | Value |
|---|---|
| MAX_SLOPE_CHANGES_PER_CALL | 250 |
Pagination (MineCore)
| Constant | Value |
|---|---|
| MAX_KING_REIGNS_PER_CALL | 100 |
Default slippage / safety bounds used by onchain automation:
| Constant | Value |
|---|---|
| DEFAULT_AUTOCOMPOUND_MAX_SLIPPAGE_BPS | 500 |
| DEFAULT_LP_AUTOCOMPOUND_MAX_SLIPPAGE_BPS | 300 |
| MAX_AUTOCOMPOUND_SLIPPAGE_BPS | 2000 |
| HARVEST_MAX_SLIPPAGE_BPS | 100 |
| FURNACE_LOCK_GAS_BUFFER | 200,000 gas |
| SWAP_DEADLINE_SECONDS | 300 |
See also
- Getting Started — deployed addresses and SDK install
- Furnace — bonus rates and lock parameters
- Core Mechanics — emission schedule and takeover pricing
- Maintenance and Bots — slippage and deadline defaults