Avalanche can be accessed with the following coin types
Environment | Coin Type | Faucet |
---|---|---|
Avax C-Chain Production | avaxc | |
Avax C-Chain Testnet | tavaxc | https://faucet.avax-test.network/ |
Explorer
https://subnets.avax.network/c-chain
Enterprise fee address
12345
ENTERPRISEID=585c51a5df8380e0e3082e46curl -X POST \-H "Authorization: Bearer $ACCESS_TOKEN" \https://app.bitgo-test.com/api/v2/tavaxc/enterprise/$ENTERPRISEID/feeAddressBalance
The C-Chain is an instance of the Ethereum Virtual Machine (EVM). Each enterprise has a fee address which will be usedto pay for transaction fees on all Avalanche C-Chain wallets in that enterprise. The fee address is displayed in thedashboard of the BitGo website, and you must fund it before creating a wallet, address, or sending a transaction. If theenterprise's fee address runs out of funds, you will not be able to create new wallets, addresses, or send transactionsuntil you fund the fee address. You will not be able to use one of your own Avalanche C-Chain wallets to fund the feeaddress if the fee address is too low (because you will not be able to send transactions from your Avalanche C-Chainwallet). It is best to create and fund a non-BitGo Avalanche C-Chain account, so you can use it to fund your BitGoenterprise fee address. Any open source Avalanche C-Chain wallet can be used to create an account.
Please note that the fee address is a single-signature account, and that the private key is created and owned by BitGo.You will not be able to send funds out of the fee address once you have sent them in.
There will be a feeAddress
field under the CoinSpecific
key for Avalanche C-Chain wallets. You will use this addressto pay the fees for creating transactions and addresses.
Wallet construction
123456789101112
bitgo .coin('tavaxc') .wallets() .generateWallet({ label: 'My Test Wallet', passphrase: 'secretpassphrase1a5df8380e0e30', enterprise: '5612c2beeecf83610b621b90964448cd', }) .then(function (wallet) { // print the new wallet console.dir(wallet); });
12345678
LABEL="My Test Wallet"PASSPHRASE="secretpassphrase1a5df8380e0e30"curl -X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer $ACCESS_TOKEN" \-d "{ \"label\": \"$LABEL\", \"passphrase\": \"$PASSPHRASE\" }" \http://$BITGO_EXPRESS_HOST:3080/api/v2/tavaxc/wallet/generate
Avalanche C-Chain wallets can only be created under an enterprise. You must pass in the id of the enterprise toassociate the wallet with.
The creation of Avalanche C-Chain wallets requires interaction with the Avalanche ledger to be complete. When you createan Avalanche C-Chain wallet, BitGo sends an initialization transaction on the Avalanche network in order to create thewallet. While these initialization transactions are unconfirmed, the wallet should not be used, nor should anyoneattempt to send funds to the wallet. For this reason, while the wallet's initialization transactions are stillunconfirmed on the Avalanche C-Chain network, the wallet's receive address will not be visible through the API. Thisis to protect users against sending to a Avalanche C-Chain wallet which does not exist on the network and losing funds.
1234567891011
bitgo .coin('tavaxc') .wallets() .getWallet({ id: '585c51a5df8380e0e3082e46' }) .then(function (wallet) { return wallet.createAddress(); }) .then(function (newAddress) { // print new address details console.dir(newAddress); });
12345
WALLET=585c51a5df8380e0e3082e46curl -X POST \-H "Authorization: Bearer $ACCESS_TOKEN" \https://app.bitgo-test.com/api/v2/tavaxc/wallet/$WALLET/address
Avalanche C-Chain address creation requires interactions with the Avalanche blockchain. In order to deploy a receiveaddress contract, BitGo sends a transaction on the Avalanche C-Chain network. Please make sure to fund the fee addressmentioned above. Like the wallet creation process, a Avalanche C-Chain address will not be immediately usable uponcreation and so the caller of this function will have to wait for the initialization transaction to be confirmed beforeattempting to fetch the address or send funds to it.
Balances
Each Avax is comprised of 1,000,000,000,000,000,000
(1018
) wei, so not even a single Avax canbe stored numerically without exceeding the range of Javascript numbers.
For that reason, only string balance properties are available, which are balanceString
, confirmedBalanceString
, andspendableBalanceString
.
Transactions
BitGo's Avalanche C-Chain multisig contract currently only supports one sender and one recipient. That means that thesendMany
call will only accept one recipient.
Is this page helpful?