MegaETH

Overview

MegaETH is an Ethereum Layer 2 blockchain designed for real-time performance, targeting 100,000 transactions per second with 10-millisecond block times. It uses a single high-performance sequencer that holds the entire blockchain state in memory, enabling transaction execution without storage I/O. MegaETH is fully EVM-compatible, allowing existing Ethereum dApps to deploy without code modifications. The network uses ETH as its native gas token.

Network Information

ConfigurationMainnetTestnet
Block Explorerhttps://megaeth.blockscout.comhttps://www.megaexplorer.xyz
Chain ID43266343
Currency SymbolETHETH
Layer 1Ethereum MainnetEthereum Testnet
RPC URLhttps://carrot.megaeth.com/rpc

Explorer

Wallets Types

BitGo enables holding MegaETH in the following wallet types:

Multisig ColdMultisig HotMPC ColdMPC Hot
Custody
Self-Custody

Ticker Symbols

MainnetTestnet
megaethtmegaeth

Faucet

You can use a faucet to obtain free testnet MegaETH for development and testing.

Faucet: https://testnet.megaeth.com/

Units

Each MegaETH unit is comprised of 1,000,000,000,000,000,000 (1018) wei, so not even a single ETH can be stored numerically without exceeding the range of JavaScript numbers. Gas fees are denoted in gwei.

  • 1 ETH = 1018 wei
  • 1 wei = 10-18 ETH
  • 1 gwei = 10-9 ETH

For that reason, only string balance properties are available, which are balanceString, confirmedBalanceString, and spendableBalanceString.

Tokens

MegaETH natively supports tokens. BitGo-supported MegaETH tokens can be accessed on the Mainnet (e.g. BitGo coins and tokens).

Fees

MegaETH supports EIP-1559 gas estimation. The network uses ETH as its native gas token for transaction fees. Fees consist of a base fee that is burned and an optional priority tip paid to the sequencer. The base fee adjusts dynamically based on block utilization.

Create Wallet

1 2 3 4 5 6 7 8 9 10 11 12 13 bitgo .coin('tmegaeth') .wallets() .generateWallet({ label: 'My Test Wallet', passphrase: 'secretpassphrase1a5df8380e0e30', enterprise: '5612c2beeecf83610b621b90964448cd', walletVersion: 4, }) .then(function (wallet) { // print the new wallet console.dir(wallet); });
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>" export COIN="tmegaeth" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" export LABEL="<DESIRED_WALLET_NAME>" export PASSPHRASE="<YOUR_BITGO_LOGIN_PASSPHRASE>" export ENTERPRISE_ID="<YOUR_ENTERPRISE_ID>" curl -X POST \ http://$BITGO_EXPRESS_HOST/api/v2/$COIN/wallet/generate \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -d '{ "label": "'"$LABEL"'", "passphrase": "'"$PASSPHRASE"'", "enterprise": "'"$ENTERPRISE_ID"'", "walletVersion": 4 }'

Create Address

1 2 3 4 5 6 7 8 9 10 11 bitgo .coin('tmegaeth') .wallets() .getWallet({ id: '585c51a5df8380e0e3082e46' }) .then(function (wallet) { return wallet.createAddress(); }) .then(function (newAddress) { // print new address details console.dir(newAddress); });
1 2 3 4 5 6 export WALLET="585c51a5df8380e0e3082e46" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" curl -X POST \ -H "Authorization: Bearer $ACCESS_TOKEN" \ https://app.bitgo-test.com/api/v2/tmegaeth/wallet/$WALLET/address

Consolidate Balance

Consolidation Fee Source: MegaETH Gas Tank

MegaETH uses forwarders, so it does not support manual consolidation.

Estimate Fee

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 const BitGoJS = require('../../../src/index.js'); const bitgo = new BitGoJS.BitGo({ env: 'test' }); const accessToken = '<YOUR_ACCESS_TOKEN>'; const coin = 'tmegaeth'; async function getFeeEstimate() { try { await bitgo.authenticateWithAccessToken({ accessToken }); const res = await bitgo.coin(coin).feeEstimate({ numBlocks: 2 }); console.dir(res); } catch (err) { console.error('Error fetching fee estimate:', err); } } getFeeEstimate();
1 2 3 4 5 6 7 export COIN="tmegaeth" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" curl -X GET \ https://app.bitgo-test.com/api/v2/$COIN/tx/fee \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN"

Transact

Withdrawal Fee Source: Wallet Base Address

1 2 3 4 5 const tx = await fundedWallet.send({ address: '<DESTINATION_ADDRESS>', amount: '<AMOUNT>', walletPassphrase: process.env.PASSWORD, });
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>" export COIN="tmegaeth" export WALLET_ID="<YOUR_WALLET_ID>" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" export ADDRESS="<DESTINATION_ADDRESS>" export AMOUNT="<AMOUNT_IN_BASE_UNITS>" export WALLET_PASSPHRASE="<YOUR_WALLET_PASSPHRASE>" curl -X POST \ http://$BITGO_EXPRESS_HOST/api/v2/$COIN/wallet/$WALLET_ID/sendcoins \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -d '{ "address": "'"$ADDRESS"'", "amount": "'"$AMOUNT"'", "walletPassphrase": "'"$WALLET_PASSPHRASE"'" }'

Stake

MegaETH isn't a stakeable asset.

See Also