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.
| Contract | Mainnet Address |
|---|---|
| InfernoToken | 0x77e99917Eca8539c62F509ED1193ac36580A6e7B |
| Governance | 0xc43d48E7FDA576C5022d0670B652A622E8caD041 |
| IFRLock | 0x769928aBDfc949D0718d8766a1C2d7dBb63954Eb |
| BurnReserve | 0xaA1496133B6c274190A2113410B501C5802b6fCF |
| BuybackVault | 0x670D293e3D65f96171c10DdC8d88B96b0570F812 |
| PartnerVault | 0xc6eb7714bCb035ebc2D4d9ba7B3762ef7B9d4F7D |
| FeeRouterV1 | 0x4807B77B2E25cD055DA42B09BA4d0aF9e580C60a |
| Vesting | 0x2694Bc84e8D5251E9E4Ecd4B2Ae3f866d6106271 |
| LiquidityReserve | 0xdc0309804803b3A105154f6073061E3185018f64 |
| BootstrapVaultV3 ACTIVE | 0xf72565C4cDB9575c9D3aEE6B9AE3fDBd7F56e141 |
| BuilderRegistry | 0xdfe6636DA47F8949330697e1dC5391267CEf0EE3 |
| CommitmentVault Phase 3 | 0x0719d9eb28dF7f5e63F91fAc4Bbb2d579C4F73d3 |
| LendingVault Phase 3 | 0x974305Ab0EC905172e697271C3d7d385194EB9DF |
— DEPRECATED, superseded by V3 |
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.
poolFeeReceiver = deployer — 1,000,000,000 IFR (1B) minted to deployer wallet.rewardBps=1500 (15%), annualEmissionCap=4M IFR, admin=Governance, guardian=deployer.
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 |
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