# Gas and Token Requirements for Multichain Deployment **Last Updated**: 2026-02-26 20:12:26 UTC **Purpose**: Complete breakdown of gas costs and native tokens required for deploying all remaining contracts across all chains > **⚠️ Real-Time Updates**: This document can be updated with real-time gas prices using: > ```bash > ./scripts/deployment/get-multichain-gas-prices.sh > ./scripts/deployment/update-gas-estimates.sh > ``` > The estimates below use current market conditions. Always check real-time prices before deployment. > > **📖 See**: [Real-Time Gas System](./REAL_TIME_GAS_SYSTEM.md) for complete guide --- ## 📊 Deployment Status Summary ### Ethereum Mainnet (Chain ID: 1) - ✅ **CCIPWETH9Bridge**: Already deployed (`0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6`) - ✅ **CCIPWETH10Bridge**: Already deployed (`0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e`) - ✅ **WETH9**: Already exists (canonical: `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`) - ✅ **WETH10**: Already exists (canonical: `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f`) - ⏳ **CCIPLogger**: **NEEDS DEPLOYMENT** ### Other Chains (Cronos, BSC, Polygon, Gnosis) - ⏳ **WETH9**: Needs deployment - ⏳ **WETH10**: Needs deployment - ⏳ **CCIPWETH9Bridge**: Needs deployment - ⏳ **CCIPWETH10Bridge**: Needs deployment - ⏳ **CCIPLogger**: Needs deployment --- ## ⛽ Gas Cost Estimates ### Contract Gas Requirements | Contract | Estimated Gas | Notes | |----------|---------------|-------| | **WETH9** | ~450,000 | Simple token contract | | **WETH10** | ~750,000 | Enhanced WETH with flash loans | | **CCIPWETH9Bridge** | ~1,800,000 | Complex bridge with CCIP integration | | **CCIPWETH10Bridge** | ~1,800,000 | Complex bridge with CCIP integration | | **CCIPLogger** | ~2,500,000 | CCIP receiver with OpenZeppelin dependencies | ### Total Gas per Chain | Chain | Contracts to Deploy | Total Gas | Buffer (20%) | **Total with Buffer** | |-------|-------------------|-----------|--------------|----------------------| | **Ethereum Mainnet** | 1 (CCIPLogger only) | 2,500,000 | 500,000 | **3,000,000** | | **Cronos** | 5 (all contracts) | 7,300,000 | 1,460,000 | **8,760,000** | | **BSC** | 5 (all contracts) | 7,300,000 | 1,460,000 | **8,760,000** | | **Polygon** | 5 (all contracts) | 7,300,000 | 1,460,000 | **8,760,000** | | **Gnosis** | 5 (all contracts) | 7,300,000 | 1,460,000 | **8,760,000** | --- ## 💰 Native Token Requirements by Chain ### Ethereum Mainnet (ETH) **Gas Price Sources**: - **Primary**: Etherscan Gas API v2 (via `ETHERSCAN_API_KEY` in `.env`) - **Fallback**: RPC endpoint (via `ETH_MAINNET_RPC_URL` in `.env`) - **Default**: 20 gwei (if APIs unavailable) **Current Real-Time Estimate** (last run: 2026-01-31): - **Gas Price**: 2.74 gwei (Etherscan API) - **Total Gas**: 3,000,000 units - **Cost**: 0.0082 ETH - **USD Cost**: ~$20.59 (at $2,500/ETH) **Refresh**: Run `./scripts/deployment/get-multichain-gas-prices.sh` for latest. **Gas Price Scenarios** (for reference): - **Low**: 20 gwei → 0.06 ETH (~$150) - **Normal**: 50 gwei → 0.15 ETH (~$375) - **High**: 100 gwei → 0.30 ETH (~$750) **Recommended Balance**: **0.20 ETH** (covers normal + buffer) **Token**: ETH (Ethereum) --- ### Cronos (CRO) **Gas Price Sources**: - **Primary**: RPC endpoint (via `CRONOS_RPC_URL` in `.env`) - **Default**: 1,000 gwei (1 gwei in ETH terms) if RPC unavailable **Current Real-Time Estimate** (run `./scripts/deployment/get-multichain-gas-prices.sh` for latest): - **Gas Price**: [Fetched from RPC] - **Total Gas**: 8,760,000 units - **Cost**: [Calculated from real-time price] CRO - **USD Cost**: [Calculated from real-time price] **Gas Price Scenarios** (for reference): - **Low**: 500 gwei → 4.38 CRO (~$0.35) - **Normal**: 1,000 gwei → 8.76 CRO (~$0.70) - **High**: 2,000 gwei → 17.52 CRO (~$1.40) **Recommended Balance**: **15 CRO** (covers normal + buffer) **Token**: CRO (Cronos) --- ### BSC / BNB Smart Chain (BNB) **Gas Price Assumptions**: - **Low**: 3 gwei - **Normal**: 5 gwei - **High**: 10 gwei | Scenario | Gas Price | Total Gas | Cost (BNB) | Cost (USD @ $300/BNB) | |----------|-----------|-----------|------------|----------------------| | **Current** | .05 gwei | 8,760,000 | .0004380000 BNB | $.1314000000 | | **Normal** | 5 gwei | 8,760,000 | 0.044 BNB | $13.20 | | **High** | 10 gwei | 8,760,000 | 0.088 BNB | $26.40 | **Recommended Balance**: **0.06 BNB** (covers normal + buffer) **Token**: BNB (Binance Coin) --- ### Polygon PoS (MATIC) **Gas Price Assumptions**: - **Low**: 30 gwei - **Normal**: 50 gwei - **High**: 100 gwei | Scenario | Gas Price | Total Gas | Cost (MATIC) | Cost (USD @ $0.80/MATIC) | |----------|-----------|-----------|--------------|-------------------------| | **Current** | 34.84 gwei | 8,760,000 | .3052138581 MATIC | $.2441710864 | | **Normal** | 50 gwei | 8,760,000 | 0.44 MATIC | $0.35 | | **High** | 100 gwei | 8,760,000 | 0.88 MATIC | $0.70 | **Recommended Balance**: **1.0 MATIC** (covers normal + buffer + verification) **Token**: MATIC (Polygon) --- ### Gnosis Chain (xDAI) **Gas Price Assumptions**: - **Low**: 1 gwei - **Normal**: 2 gwei - **High**: 5 gwei | Scenario | Gas Price | Total Gas | Cost (xDAI) | Cost (USD @ $1.00/xDAI) | |----------|-----------|-----------|-------------|-------------------------| | **Current** | 0 gwei | 8,760,000 | .0000235014 xDAI | $.0000235014 | | **Normal** | 2 gwei | 8,760,000 | 0.0175 xDAI | $0.02 | | **High** | 5 gwei | 8,760,000 | 0.0438 xDAI | $0.04 | **Recommended Balance**: **0.05 xDAI** (covers normal + buffer) **Token**: xDAI (Gnosis Chain native token, pegged to USD) --- ## 📋 Complete Token Requirements Summary ### Minimum Required Balances (Conservative) | Chain | Native Token | Minimum Balance | Recommended Balance | USD Equivalent (@ current rates) | |-------|--------------|-----------------|---------------------|--------------------------------| | **Ethereum Mainnet** | ETH | 0.15 ETH | **0.20 ETH** | $500 | | **Cronos** | CRO | 8.76 CRO | **15 CRO** | $1.20 | | **BSC** | BNB | 0.044 BNB | **0.06 BNB** | $18 | | **Polygon** | MATIC | 0.44 MATIC | **1.0 MATIC** | $0.80 | | **Gnosis** | xDAI | 0.0175 xDAI | **0.05 xDAI** | $0.05 | ### Total USD Cost Estimate **At Normal Gas Prices**: - Ethereum Mainnet: $375 - Cronos: $0.70 - BSC: $13.20 - Polygon: $0.35 - Gnosis: $0.02 - **Total**: ~$389.27 **With Recommended Buffers**: - Ethereum Mainnet: $500 - Cronos: $1.20 - BSC: $18 - Polygon: $0.80 - Gnosis: $0.05 - **Total**: ~$520.05 --- ## 🔍 Contract-Specific Breakdown ### Ethereum Mainnet Deployment | Contract | Gas Units | Cost @ 50 gwei (ETH) | Cost @ 50 gwei (USD) | |----------|-----------|---------------------|---------------------| | CCIPLogger | 2,500,000 | 0.125 ETH | $312.50 | | **Buffer (20%)** | 500,000 | 0.025 ETH | $62.50 | | **TOTAL** | **3,000,000** | **0.15 ETH** | **$375.00** | ### Cronos / BSC / Polygon / Gnosis Deployment | Contract | Gas Units | Notes | |----------|-----------|-------| | WETH9 | 450,000 | Simple token contract | | WETH10 | 750,000 | Enhanced with flash loans | | CCIPWETH9Bridge | 1,800,000 | Bridge contract | | CCIPWETH10Bridge | 1,800,000 | Bridge contract | | CCIPLogger | 2,500,000 | CCIP receiver | | **Subtotal** | **7,300,000** | | | **Buffer (20%)** | **1,460,000** | | | **TOTAL** | **8,760,000** | | --- ## ⚠️ Additional Considerations ### Contract Verification Costs Contract verification on explorers typically requires: - **Etherscan**: Free (but may require API key) - **Cronoscan**: Free - **BscScan**: Free - **Polygonscan**: Free - **Gnosisscan**: Free **Note**: Verification is free but may require additional transactions for constructor arguments encoding. ### LINK Token Requirements (for CCIP Fees) After deployment, bridges will need LINK tokens for CCIP cross-chain message fees: | Chain | LINK Token Address | Recommended Balance | |-------|-------------------|---------------------| | **Ethereum Mainnet** | `0x514910771AF9Ca656af840dff83E8264EcF986CA` | 10 LINK | | **Cronos** | TBD | 10 LINK | | **BSC** | TBD | 10 LINK | | **Polygon** | `0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39` | 10 LINK | | **Gnosis** | TBD | 10 LINK | **Total LINK Required**: ~50 LINK (for initial operations and testing) --- ## 🚀 Pre-Deployment Checklist Before deploying to each chain, verify: - [ ] **Ethereum Mainnet**: Wallet has ≥ 0.20 ETH - [ ] **Cronos**: Wallet has ≥ 15 CRO - [ ] **BSC**: Wallet has ≥ 0.06 BNB - [ ] **Polygon**: Wallet has ≥ 1.0 MATIC - [ ] **Gnosis**: Wallet has ≥ 0.05 xDAI - [ ] All RPC endpoints are accessible - [ ] All explorer API keys are configured - [ ] CCIP router addresses are correct for each chain - [ ] LINK token addresses are correct for each chain --- ## 📝 Environment Variables for Gas Configuration Add these to your `.env` file: ```bash # Gas Configuration (optional - Foundry auto-detects) # Ethereum Mainnet ETH_MAINNET_GAS_PRICE=50000000000 # 50 gwei ETH_MAINNET_GAS_LIMIT=3000000 # Cronos CRONOS_GAS_PRICE=1000000000 # 1000 gwei (1 gwei in ETH terms) CRONOS_GAS_LIMIT=9000000 # BSC BSC_GAS_PRICE=5000000000 # 5 gwei BSC_GAS_LIMIT=9000000 # Polygon POLYGON_GAS_PRICE=50000000000 # 50 gwei POLYGON_GAS_LIMIT=9000000 # Gnosis GNOSIS_GAS_PRICE=2000000000 # 2 gwei GNOSIS_GAS_LIMIT=9000000 ``` --- ## 🔄 Real-Time Gas Price Checking ### Automated Script (Recommended) Use the provided script to fetch real-time gas prices for all chains: ```bash # Fetch and display real-time gas prices for all chains ./scripts/deployment/get-multichain-gas-prices.sh # Update documentation with real-time prices ./scripts/deployment/update-gas-estimates.sh ``` This script: - Fetches gas prices from configured APIs in `.env` - Calculates costs for all chains - Updates documentation automatically - Exports values for use in other scripts ### Manual Checking Before deployment, you can also check current gas prices manually: ```bash # Ethereum Mainnet (via Etherscan API) curl -s "https://api.etherscan.io/v2/api?chainid=1&module=gastracker&action=gasoracle&apikey=${ETHERSCAN_API_KEY}" # Or via RPC cast gas-price --rpc-url $ETH_MAINNET_RPC_URL # Cronos cast gas-price --rpc-url $CRONOS_RPC_URL # BSC cast gas-price --rpc-url $BSC_RPC_URL # Polygon cast gas-price --rpc-url $POLYGON_RPC_URL # Gnosis cast gas-price --rpc-url $GNOSIS_RPC_URL ``` ### Required Environment Variables Ensure these are set in your `.env` file: ```bash # Ethereum Mainnet ETHERSCAN_API_KEY=your_api_key_here ETH_MAINNET_RPC_URL=https://... # Other chains CRONOS_RPC_URL=https://... BSC_RPC_URL=https://... POLYGON_RPC_URL=https://... GNOSIS_RPC_URL=https://... ``` --- ## 📊 Cost Optimization Tips 1. **Deploy During Low Activity**: Weekends and off-peak hours typically have lower gas 2. **Monitor Gas Prices**: Use gas trackers before deploying 3. **Batch Deployments**: Deploy multiple contracts in one transaction when possible 4. **Use Gas Tokens**: Some chains support gas tokens (check per chain) 5. **Test on Testnets First**: Verify everything works before mainnet deployment --- ## 🎯 Quick Reference: Minimum Balances | Chain | Token | Minimum | Recommended | |-------|-------|---------|-------------| | **Mainnet** | ETH | 0.15 ETH | **0.20 ETH** | | **Cronos** | CRO | 8.76 CRO | **15 CRO** | | **BSC** | BNB | 0.044 BNB | **0.06 BNB** | | **Polygon** | MATIC | 0.44 MATIC | **1.0 MATIC** | | **Gnosis** | xDAI | 0.0175 xDAI | **0.05 xDAI** | --- **Last Updated**: 2026-02-26 20:12:26 UTC **Next Review**: Before each deployment phase --- ## 📊 Real-Time Gas Price Updates ### How to Update Estimates 1. **Fetch Real-Time Prices**: ```bash ./scripts/deployment/get-multichain-gas-prices.sh ``` 2. **Update Documentation**: ```bash ./scripts/deployment/update-gas-estimates.sh ``` 3. **Verify Updates**: - Check `GAS_AND_TOKEN_REQUIREMENTS.md` for updated costs - Check `TOKENS_AND_CHAINS_SUMMARY.md` for updated balances - Check `DEPLOYMENT_QUICK_REFERENCE.md` for quick reference ### Gas Price Data Sources The scripts use the following sources (in priority order): 1. **Ethereum Mainnet**: - Etherscan Gas API v2 (via `ETHERSCAN_API_KEY`) - RPC endpoint (via `ETH_MAINNET_RPC_URL`) - Default: 20 gwei 2. **Other Chains** (Cronos, BSC, Polygon, Gnosis): - RPC endpoint (via `*_RPC_URL` in `.env`) - Default: Chain-specific defaults ### Output Format The script outputs: - Current gas prices in gwei for each chain - Deployment costs in native tokens - USD equivalents (using approximate exchange rates) - Total estimated cost across all chains - JSON file with all data for programmatic use ### Exchange Rates (for USD calculations) Current approximate rates used: - ETH: $2,500 - CRO: $0.08 - BNB: $300 - MATIC: $0.80 - xDAI: $1.00 **Note**: These rates are approximate. For accurate USD costs, use real-time exchange rates.