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
| Configuration | Mainnet | Testnet |
|---|---|---|
| Block Explorer | https://megaeth.blockscout.com | https://testnet.megaeth.com |
| Chain ID | 4326 | 6343 |
| Currency Symbol | ETH | ETH |
| Layer 1 | Ethereum Mainnet | Ethereum Testnet |
| RPC URL | — | https://carrot.megaeth.com/rpc |
Explorer
- Mainnet: https://megaeth.blockscout.com
- Testnet: https://testnet.megaeth.com
Wallets Types
BitGo enables holding MegaETH in the following wallet types:
| Multisig Cold | Multisig Hot | MPC Cold | MPC Hot | |
|---|---|---|---|---|
| Custody | ❌ | ❌ | ✅ | ❌ |
| Self-Custody | ❌ | ❌ | ✅ | ✅ |
Ticker Symbols
| Mainnet | Testnet |
|---|---|
| megaeth | tmegaeth |
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 =
1018wei - 1 wei =
10-18ETH - 1 gwei =
10-9ETH
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
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);
});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
bitgo
.coin('tmegaeth')
.wallets()
.getWallet({ id: '585c51a5df8380e0e3082e46' })
.then(function (wallet) {
return wallet.createAddress();
})
.then(function (newAddress) {
// print new address details
console.dir(newAddress);
});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/addressConsolidate Balance
Consolidation Fee Source: MegaETH Gas Tank
MegaETH uses forwarders, so it does not support manual consolidation.
Estimate Fee
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();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
const tx = await fundedWallet.send({
address: '<DESTINATION_ADDRESS>',
amount: '<AMOUNT>',
walletPassphrase: process.env.PASSWORD,
});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
Updated about 23 hours ago