Mantle
Overview
Mantle is a Layer 2 scaling solution built on top of the Ethereum blockchain. It uses optimistic rollup technology combined with a modular data availability architecture to deliver faster and cheaper transactions while inheriting the security of Ethereum mainnet. Mantle uses MNT as its native gas token. The Mantle Sepolia testnet uses chain ID 5003. It utilizes:
- Account model
- EcDSA signature algorithm
Mantle supports both legacy and TSS (Threshold Signature Scheme) transfers.
Explorer
https://mantlescan.xyz/Wallets Types
BitGo enables holding mantle in the following wallet types:
| Multisig Cold | Multisig Hot | MPC Cold | MPC Hot | |
|---|---|---|---|---|
| Custody | ❌ | ❌ | ✅ | ✅ |
| Self-Custody | ❌ | ❌ | ✅ | ✅ |
Ticker Symbols
| Mainnet | Testnet |
|---|---|
| mantle | tmantle |
Faucet
You can use a faucet to obtain free testnet mantle for development and testing purposes.
Faucet: https://faucet.sepolia.mantle.xyz/
Units
Each Mantle is comprised of 1,000,000,000,000,000,000 (1018) wei, so not even a single Mantle can be stored numerically without exceeding the range of JavaScript numbers. Gas fees are denoted in gwei.
- 1 Mantle =
1018wei - 1 wei =
10-18Mantle - 1 gwei =
10-9Mantle
For that reason, only string balance properties are available, which are balanceString, confirmedBalanceString, and
spendableBalanceString.
Tokens
The Mantle blockchain natively supports tokens. To view all BitGo supported tokens on the Mantle Mainnet, see the Mantle - ERC20 Tokens.
Fees
Mantle supports both legacy (eth_gasPrice) and EIP-1559 (eth_feeHistory) gas estimation. Mantle accounts for L2 and L1 components of fees. The eth_estimateGas RPC endpoint returns a value which already considers both L1 and L2 gas. Mantle uses MNT as the gas token for transaction fees, unlike most other Ethereum L2s that use ETH.
Mantle's gas costs are typically very low. For reference, testnet gas prices are approximately 0.02 Gwei per unit of gas.
The base fee is the minimum price per unit of gas that a transaction must pay to be included in a block. Transactions must specify a maximum base fee higher than the block base fee to be included. The actual fee charged is the block base fee, even if the transaction specifies a higher maximum base fee.
The sequencer prioritizes transactions on a first-come first-served basis. Because priority fees do not make sense in this model, they are ignored. Mantle users always just pay the base fee regardless of the tip they choose.
Create Wallet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>" export COIN="tmantle" 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 6export WALLET="585c51a5df8380e0e3082e46" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" curl -X POST \ -H "Authorization: Bearer $ACCESS_TOKEN" \ https://app.bitgo-test.com/api/v2/tmantle/wallet/$WALLET/address
Consolidate Balance
Consolidation Fee Source: Mantle Gas Tank
Mantle uses forwarders, so it does not support manual consolidation.
Estimate Fee
1 2 3 4 5 6 7export COIN="tmantle" 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 6 7 8 9 10 11 12 13 14 15 16 17export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>" export COIN="tmantle" 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
Mantle isn't a stakeable asset.