Skip to main content

Contract Addresses

Deployed smart contract addresses for MegaFi on MegaETH. Use these addresses to interact with the protocol programmatically.

Note: Contracts are currently in development. Addresses will be published upon mainnet deployment. Testnet addresses will be available for development and testing.

At a Glance

  • All addresses are for MegaETH mainnet
  • Contracts will be verified on block explorer
  • Always verify addresses from official sources
  • Never send tokens directly to contract addresses

MegaETH Mainnet Deployed Addresses

Core Protocol Contracts

ALM (Auto Pools) Contracts

ContractAddress
CLTHelper0x80Dbfacfadb028d69E73168eA2b837A1Ee7788eD
CLTModules0x82Ea0338cB0f35B3Fb77657b969576Ed08EFB58a
CLTTwapQuoter0x9fA7f39A0bFE0dD0C7F9863815A85d5190a59B30
GovernanceFeeHandler0xbAcDDf64208a9e3177dE63E7da910b268b732B86
CLTBase0xeb3d3bCf5df5DF19689AfCCA4cD8Fdde7CE7aeF1

Advanced Modules

ContractAddress
Modes0x9bF13D2feEe430e0D05482B09B8834f09a1e77BA
RebaseModule0x1f9bDe3F99d897BDF1b4BCFe52a1716aB030f894

Libraries

LibraryAddress
PoolActions0x93884a316eDf8b3bC8129B4C83fDbd69a71f60B9
Position0x3C2b0DB9716d4E15797462F4231D25A5B1F32d43
StrategyFeeShares0xcB86f9ffD88dDD1947b17AC8C6078A8646D10556
TransferHelper0x0a6315c290Dc5ee33714E77F1a6689d184C65C00
UserPositions0x16463897f54B9E70c3b53379db373aC5587E730A
LiquidityShares0x819b6Cef85A0520897eFb6d8371c2DBD568203d9

Configuration

ParameterAddress
Owner0x7eb4fa669716271f3b0e71a9d05ab3039af41e26
WETH90x4200000000000000000000000000000000000006
Factory0xbd4Ca451E3d28d053E7BE2738623Ed3d91709aa3

DEX Contracts

ContractAddress
UniswapV3Factory0xbd4Ca451E3d28d053E7BE2738623Ed3d91709aa3
PositionManager0xf2cA31CEfDD5B0814AB728A9C8358747dDd5da83
PositionDescriptor0xc40a0aea1c3630C46DBBA0762F8A136E1742beB0
NFTDescriptor Library0x3BA02Fb548AB983323A953Ba16Ba378A421c3258
QuoterV20xe0253d48919521D1253587782B6fFF06bDE18D21

Hedge Protocol Contracts

OperationalTreasury

Purpose: Central hub for option lifecycle management

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: Manages option creation, premium collection, and settlement
Verified: Yes (upon deployment)
Upgradeable: Yes (Transparent Proxy)

Functions:

  • buy() - Purchase options
  • payOff() - Exercise options
  • unlock() - Expire options

CoverPool

Purpose: LP liquidity pool with epoch-based profit distribution

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: Manages LP deposits, profits, and backup liquidity
Verified: Yes (upon deployment)
Upgradeable: Yes (Transparent Proxy)

Functions:

  • provide() - Deposit USDm
  • claim() - Claim profits
  • withdraw() - Request withdrawal
  • withdrawEpoch() - Complete withdrawal
  • fixProfit() - Close epoch (admin)

PositionsManager

Purpose: ERC721 NFT manager for options and LP positions

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: Mints and manages position NFTs
Verified: Yes (upon deployment)
Standard: ERC721

Functions:

  • mint() - Create position NFT
  • burn() - Destroy position NFT
  • Standard ERC721 functions

LimitController

Purpose: Per-strategy exposure limit enforcement

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: Manages and enforces strategy liquidity limits
Verified: Yes (upon deployment)
Admin Controlled: Yes

Functions:

  • setLimit() - Set strategy limit (admin)
  • limit() - Query strategy limit

Strategy Contracts

ETH Strategies

HegicStrategyCall_ETH

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: ETH call options with Black-Scholes pricing
Underlying: ETH
Oracle: Chainlink ETH/USD

HegicStrategyPut_ETH

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: ETH put options
Underlying: ETH
Oracle: Chainlink ETH/USD

HegicStrategyStraddle_ETH

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: ETH straddle (call + put)
Underlying: ETH
Oracle: Chainlink ETH/USD

HegicStrategyStrangle_ETH

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: ETH strangle (call + put, different strikes)
Underlying: ETH
Oracle: Chainlink ETH/USD

HegicStrategySpreadCall_ETH

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: ETH call spread
Underlying: ETH
Oracle: Chainlink ETH/USD

HegicStrategySpreadPut_ETH

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: ETH put spread
Underlying: ETH
Oracle: Chainlink ETH/USD

BTC Strategies (If Deployed)

HegicStrategyCall_BTC

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: BTC call options
Underlying: WBTC
Oracle: Chainlink BTC/USD

HegicStrategyPut_BTC

Address: [TO BE ANNOUNCED AT DEPLOYMENT]
Description: BTC put options
Underlying: WBTC
Oracle: Chainlink BTC/USD

Additional BTC Strategies

Straddle, Strangle, Spreads
Addresses: [TO BE ANNOUNCED]

Inverse Strategies (Optional)

HegicStrategyInverseBearCallSpread

Address: [TO BE ANNOUNCED IF DEPLOYED]
Description: Inverse bear call spread

HegicStrategyInverseBullPutSpread

Address: [TO BE ANNOUNCED IF DEPLOYED]
Description: Inverse bull put spread

External Dependencies

USDm (Stablecoin)

USDm on MegaETH

Address: [TO BE ANNOUNCED]
Symbol: USDm
Decimals: 6
Bridged from: Ethereum
Purpose: Primary protocol currency

Note: All premiums, settlements, and LP operations use USDm.


ETH/USD Price Feed

Address: [TO BE ANNOUNCED]
Description: Real-time ETH price oracle
Decimals: 8
Update Frequency: Sub-second

BTC/USD Price Feed

Address: [TO BE ANNOUNCED]
Description: Real-time BTC price oracle
Decimals: 8
Update Frequency: Sub-second

Arbitrum Mainnet Reference (for context):

  • ETH/USD: 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612
  • BTC/USD: 0x6ce185860a4963106506C203335A2910413708e9

MegaETH will have its own oracle deployments


Utility Contracts

ProfitCalculator (Library)

Address: [TO BE ANNOUNCED]
Description: Profit calculation logic
Type: Library

PayoffPool

Address: [TO BE ANNOUNCED]
Description: Backup USDm source for CoverPool
Purpose: Emergency liquidity reserve

Testnet Addresses

MegaETH Testnet

Network Details

Network Name: MegaETH Testnet
RPC URL: [TO BE ANNOUNCED]
Chain ID: [TO BE ANNOUNCED]
Explorer: [TO BE ANNOUNCED]
Faucet: [TO BE ANNOUNCED]

Core Contracts (Testnet)

OperationalTreasury: [TESTNET ADDRESS TBA]
CoverPool: [TESTNET ADDRESS TBA]
PositionsManager: [TESTNET ADDRESS TBA]
LimitController: [TESTNET ADDRESS TBA]

Strategy Contracts (Testnet)

HegicStrategyCall_ETH: [TESTNET ADDRESS TBA]
HegicStrategyPut_ETH: [TESTNET ADDRESS TBA]
[Additional strategies...]

Test Tokens (Testnet)

USDm (Test): [TESTNET ADDRESS TBA]
WETH (Test): [TESTNET ADDRESS TBA]

Contract Verification

How to Verify Addresses

  1. Official Sources Only:

    • This documentation (docs.megafi.app)
    • Official website (megafi.app)
    • GitHub repository (github.com/Mega-Fi)
    • Official Discord announcements
  2. Block Explorer Verification:

    • Check verified status (green checkmark)
    • Review source code matches GitHub
    • Verify deployment date matches announcements
    • Check contract creator address
  3. Cross-Reference Multiple Sources:

    • Documentation
    • GitHub README
    • Block explorer
    • Official social media

Warning Signs

⚠️ Never trust addresses from:

  • Unofficial websites or domains
  • Private messages (Discord, Telegram, X)
  • Email (MegaFi never sends addresses via email)
  • Unverified social media accounts
  • Third-party aggregators (without verification)

Integration Examples

Using Addresses in Code

TypeScript/JavaScript (ethers.js)

import { ethers } from 'ethers';
import OperationalTreasuryABI from './abis/OperationalTreasury.json';

// Official address (use from this documentation)
const TREASURY_ADDRESS = '0x...';

const provider = new ethers.providers.JsonRpcProvider(
'https://rpc.megaeth.io'
);

const treasury = new ethers.Contract(
TREASURY_ADDRESS,
OperationalTreasuryABI,
provider
);

// Buy option
const tx = await treasury.buy(
strategyAddress,
holder,
amount,
period,
[]
);

Solidity Integration

pragma solidity ^0.8.0;

import "@megafi/contracts/interfaces/IOperationalTreasury.sol";
import "@megafi/contracts/interfaces/ICoverPool.sol";

contract YourProtocol {
IOperationalTreasury public immutable treasury;
ICoverPool public immutable coverPool;

constructor(
address _treasury,
address _coverPool
) {
treasury = IOperationalTreasury(_treasury);
coverPool = ICoverPool(_coverPool);
}

function buyOption(
address strategy,
uint256 amount,
uint256 period
) external {
// Your logic here
treasury.buy(strategy, msg.sender, amount, period, new bytes[](0));
}
}

ABIs and Interfaces

Where to Find ABIs

NPM Package (upon release):

npm install @megafi/contracts

GitHub Repository:

https://github.com/Mega-Fi/contracts/tree/main/abis

Block Explorer:

Copy ABI directly from verified contract page

Interface Imports

// Core interfaces
import "@megafi/contracts/interfaces/IOperationalTreasury.sol";
import "@megafi/contracts/interfaces/ICoverPool.sol";
import "@megafi/contracts/interfaces/IHegicStrategy.sol";
import "@megafi/contracts/interfaces/IPositionsManager.sol";

// External interfaces
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";

Address Updates

When Addresses Change

Addresses may change due to:

  • Proxy Upgrades: Implementation addresses change, proxy stays same
  • Major Versions: New deployments for breaking changes
  • Network Migrations: Moving to different chain

Stay Updated:

  • Watch GitHub releases
  • Follow @megafi_app on X
  • Join official Discord
  • Subscribe to newsletter
  • Check documentation regularly

Version Tracking

V1.0 (Initial Deployment):
- All core contracts
- 6-8 strategy types
- Basic functionality

V1.1 (Future):
- Additional strategies
- Optimizations
- New features

V2.0 (Future):
- Major upgrades
- New architecture
- Enhanced features

Security Considerations

Before Using Addresses

  1. Verify from multiple official sources
  2. Check contract is verified on explorer
  3. Review contract code matches GitHub
  4. Test with small amounts first
  5. Use testnet before mainnet

Reporting Suspicious Addresses

If you encounter fraudulent addresses:

Contact:

Provide:

  • Suspicious address
  • Where you found it
  • Any transaction hashes
  • Screenshots if applicable

Deployment Timeline

Mainnet Launch

Expected: Q1 2026 (subject to audits and testing)

Deployment Order:

  1. Core contracts (Treasury, CoverPool, PositionsManager)
  2. Strategy contracts (Call, Put, Straddle, Strangle)
  3. Utility contracts (LimitController, ProfitCalculator)
  4. Initial USDm liquidity seeding
  5. First epoch initialization

Announcement Channels:


FAQ

When will contract addresses be available?
Upon mainnet deployment. Follow official channels for announcements.

Are testnet addresses the same as mainnet?
No. Testnet and mainnet have completely different addresses.

Can I use these addresses on Ethereum or other chains?
No. These contracts are specific to MegaETH network only.

What if I send USDm to the wrong address?
Blockchain transactions are irreversible. Always verify addresses before sending.

How do I know an address is official?
Check multiple official sources, verify on block explorer, and review source code.

Will proxy addresses ever change?
No. Proxy addresses remain constant. Only implementation addresses change during upgrades.

Where can I get test USDm for testnet?
Testnet faucet will be provided (link TBA).

Can I verify contracts myself?
Yes. All source code will be published on GitHub and verified on block explorer.


Next Steps

Use addresses for integration:


Always verify. Never trust blindly.