> Deployment — Inferno ($IFR) Documentation
← Inferno

Deployment & Addresses

Contract addresses, deployment order, constructor arguments, and post-deploy verification for the Inferno protocol.

1. Mainnet Addresses

All 14 contracts deployed (17 on-chain components total) and verified on Ethereum Mainnet. For Sepolia testnet addresses, see the Testnet page.

2. Deployment Order (10-Step CFLM)

The Inferno protocol follows a strict 10-step Community Fair Launch Model (CFLM) deployment sequence. Each step must complete before the next begins.

1
Deploy InfernoToken
poolFeeReceiver = deployer — 1,000,000,000 IFR (1B) minted to deployer wallet.
2
Deploy LiquidityReserve
6-month lock period, 50M IFR per quarter release schedule.
3
Deploy Vesting
12-month cliff, 36-month linear vesting, 150M IFR total allocation.
4
Deploy BurnReserve & BuybackVault
BurnReserve for permanent token burns. BuybackVault with 60-day activation delay.
5
(BurnReserve already deployed in Step 4)
Both contracts deployed together in the previous step for atomic consistency.
6
Deploy Governance
48-hour timelock for all governance proposals. Guardian set to deployer initially.
7
Deploy PartnerVault
Mainnet params: rewardBps=1500 (15%), annualEmissionCap=4M IFR, admin=Governance, guardian=deployer.
8
Set feeExempt for all contracts + deployer
Exempt all protocol contracts including PartnerVault and deployer from transfer fees. CRITICAL: PartnerVault must be feeExempt BEFORE any IFR transfer to it — otherwise ~3.5% of the 40M transfer is lost to fees (1.4M IFR on Sepolia).
9
Distribute tokens
200M → LiquidityReserve • 150M → Vesting • 150M → Treasury • 60M → Community & Grants • 40M → PartnerVault (fee-free after Step 8) • LP creation occurs via BootstrapVaultV3.finalise() after Bootstrap period. ETH raised + IFR from vault → Uniswap V2 LP (trustless, on-chain).
10
Remove deployer feeExempt
Deployer fee exemption is revoked. All transfers now subject to the standard fee structure.

3. Post-Deploy Steps

After the 10-step deployment, the following operations complete the protocol setup.

LP Pairing

npx hardhat run scripts/create-lp.js --network mainnet

Liquidity created trustlessly by BootstrapVaultV3.finalise(). IFR source: Treasury Safe + Community Safe (Plan B, see bootstrap.html).

Ownership Transfer

token.transferOwnership(governance.address)

Transfers InfernoToken ownership to the Governance contract. After this, the deployer has no direct control over the token.

IFRLock Deploy

npx hardhat run scripts/deploy-lock.js --network mainnet

IFRLock is a core protocol component deployed as part of the standard sequence. Its feeExempt status must be set via Governance proposal after ownership transfer to the Timelock. Without fee exemption, unlock() will fail because transfer fees cause the contract to hold fewer tokens than recorded.

4. Constructor Arguments

These are the exact constructor parameters used for the Mainnet deployment. All token amounts use 9 decimals.

Contract Constructor Parameters
InfernoToken deployer (poolFeeReceiver)
LiquidityReserve token, 15552000 (180 days), 50000000000000000 (50M × 1e9), 7776000 (90 days), deployer (guardian)
Vesting token, deployer (beneficiary), 31536000 (365 days), 126144000 (4 × 365 days), 150000000000000000 (150M × 1e9), deployer (guardian)
BurnReserve token, deployer (guardian)
BuybackVault token, burnReserve, deployer (treasury), deployer (router placeholder), deployer (guardian), 5184000 (60 days)
Governance 172800 (48 hours), deployer (guardian)
IFRLock token, deployer (guardian)

Note: The deployer placeholder addresses (treasury, router, beneficiary) are updated post-deployment via Governance proposals to the actual multisig and protocol addresses.

5. Etherscan Verification

All 14 contracts are verified on Etherscan Mainnet. Use the Hardhat verify plugin with the exact constructor arguments used during deployment.

npx hardhat verify --network mainnet CONTRACT_ADDRESS CONSTRUCTOR_ARGS...

Example for InfernoToken:

npx hardhat verify --network mainnet \
  0x77e99917Eca8539c62F509ED1193ac36580A6e7B \
  0x6b36687b0cd4386fb14cf565B67D7862110Fed67

Example for Governance:

npx hardhat verify --network mainnet \
  0xc43d48E7FDA576C5022d0670B652A622E8caD041 \
  172800 \
  0x6b36687b0cd4386fb14cf565B67D7862110Fed67

Tip: If verification fails with "Already Verified", the contract source is already published. You can check by visiting the contract address on Etherscan.

6. Post-Deploy Checklist

Current status of all deployment and post-deployment tasks for Mainnet.

Task Status
Deploy 13 contracts + create LP Pair Done
Etherscan verification (13/13 contracts) Done
LP pairing (Uniswap V2) Done
BuybackVault router set Done
Ownership transferred to Governance Done
Governance Proposal #0 executed Done
IFRLock deployed + Proposal #1 created Done
Governance Proposal #1 executed (setFeeExempt IFRLock) Done
PartnerVault v2 deployed + verified (0x5F12...490A39) Done
Governance Proposal #2 cancelled (old PartnerVault) Done
Governance Proposal #3 (setFeeExempt new PartnerVault) Done — Executed 26.02.2026
1.4M IFR Top-up to PartnerVault v2 Done — PartnerVault now 40M IFR
Set treasury/community addresses Done
Proposal #3 — Executed 26.02.2026
setFeeExempt(PartnerVault v2, true) executed via Governance Timelock.
1.4M IFR Top-up completed — PartnerVault now holds 40,000,000 IFR (4%).
TX: 0x3f28690a...57de6e8

7. Mainnet Ownership Status

All ownable contracts were transferred to the Governance Timelock on 2026-03-05. Parameter changes now require a 48-hour governance proposal process.

Contract Role Controller Status
InfernoToken owner() Governance Done
LiquidityReserve owner() Governance Done
BurnReserve owner() Governance Done
BuybackVault owner() Governance Done
PartnerVault admin() Governance Done
FeeRouterV1 governance() Governance (immutable) Done
IFRLock guardian() Deployer (emergency pause only)
Vesting guardian() Deployer (emergency pause only)
Governance owner() TreasurySafe 3-of-5 (transferred 20.03.2026) Done

Transfer Transactions (2026-03-05):
InfernoToken: 0x0fc468...ed5e76
LiquidityReserve: 0x34650e...12c7d4
BurnReserve: 0x757d51...a5b1a
BuybackVault: 0xcd0378...a3971