Guides
Sei EVM
Overview
Sei is the first parallelized EVM blockchain, built on a delegated proof-of-stake consensus mechanism. Sei v2 introduces optimistic parallel execution for both EVM and CosmWasm smart contracts, enabling up to 100 megagas per second of throughput with 400ms block times and instant finality. Every major Ethereum contract can be redeployed on Sei without code changes, and existing EVM tooling works out of the box through full Ethereum JSON-RPC API support.
Explorer
Wallets Types
BitGo enables holding seievm in the following wallet types:
| Multisig Cold | Multisig Hot | MPC Cold | MPC Hot | |
|---|---|---|---|---|
| Custody | ❌ | ❌ | ✅ | ❌ |
| Self-Custody | ❌ | ❌ | ✅ | ✅ |
Ticker Symbols
| Mainnet | Testnet |
|---|---|
| SEIEVM | TSEIEVM |
Faucet
You can use a faucet to obtain free testnet tseievm for development and testing purposes.
Faucet: https://docs.sei.io/learn/faucet
Units
Sei EVM uses 1,000,000,000,000,000,000 (1018) wei as its base unit, so not even a single Sei EVM can be stored numerically without exceeding the range of JavaScript numbers. Gas fees use gwei as the denomination.
- 1 seievm =
1018wei - 1 wei =
10-18seievm - 1 gwei =
10-9seievm
For that reason, only string balance properties are available, which are balanceString, confirmedBalanceString, and
spendableBalanceString.
Tokens
Sei EVM supports the ERC20 token standard. ERC20 tokens on Sei EVM are available as BitGo supported assets.
Fees
Sei EVM supports EIP-1559 transaction pricing. Each transaction includes a base fee that fluctuates based on network demand — unlike Ethereum, Sei does not burn base fees; instead, validators receive them. For legacy (non-EIP-1559) transactions, a base fee of 10 gwei is required. Due to Sei's parallelized execution and high throughput, gas fees are significantly lower than those on Ethereum mainnet.
Create Wallet
bitgo
.coin('tseievm')
.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="tseievm"
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('tseievm')
.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/tseievm/wallet/$WALLET/address
Consolidate Balance
Sei EVM supports Multisignature smart-contract wallets which utilize forwarder smart contracts to enable multiple receive addresses. The forwarder smart contract automatically consolidates native tokens received in your receive addresses to your base address. However, if you receive non-native tokens, such as ERC20 tokens, a different consolidation transaction will be initiated to the base address. Additionally, forwarders can only send assets to the base address of the wallet.
Estimate Fee
const BitGoJS = require('../../../src/index.js');
const bitgo = new BitGoJS.BitGo({ env: 'test' });
const accessToken = process.env.ACCESS_TOKEN;
const coin = 'tseievm';
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="tseievm"
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
const tx = await fundedWallet.send({
address: '<DESTINATION_ADDRESS>',
amount: '<AMOUNT>',
walletPassphrase: process.env.PASSWORD,
});
export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>"
export COIN="tseievm"
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
Sei EVM supports native staking. SEI token holders can stake their tokens to validators through a delegated proof-of-stake (DPoS) mechanism to earn staking rewards and participate in network consensus.