Cronos POS
Overview
CRONOS is the native asset of the Cronos POS blockchain. It utilizes:
- Account model
- EcDSA signature algorithm
Cronos POS is a Cosmos SDK–based Layer 1 using Tendermint BFT consensus with Proof-of-Stake (PoS). Validators finalize blocks, ensuring high throughput and instant finality. The network natively supports IBC for cross-chain communication.
Explorerhttps://cronos-pos.org/explorer/
Wallets Types
BitGo enables holding Cronos POS in the following wallet types:
Multisig Cold | Multisig Hot | MPC Cold | MPC Hot | |
---|---|---|---|---|
Custodial | ❌ | ❌ | ✅ | ❌ |
Self Managed | ❌ | ❌ | ✅ | ✅ |
Ticker Symbols
Mainnet | Testnet |
---|---|
cronos | tcronos |
Faucet
Testnet tcronos coins can be requested from the Cronos POS faucet.
Units
CRO is divisible by 10-8 and the base unit is a basecro:
- 1 cro = 100,000,000 basecro
- 1 basecro = 0.00000001 cro
Cronos POS balances can be in either integer or string format. However, BitGo recommends using string format to ensure values don't exceed the programmable number limit.
Tokens
The Cronos POS blockchain doesn't natively support tokens.
Fees
CRO has the following fees:
- Minimum fee = 0.0003 CRO
- Default fee rate = 0.0003 CRO
Address Format
Cronos addresses follow the format: cro1<38-character-bech32-body>
. All addresses are exactly 42 characters in length and begin with the fixed prefix cro1
. This format adheres to the following regular expression:
1
/^(cro)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/
Memo ID Support
- Optionally, a
?memoId=<n>
query parameter can be appended to the address for use cases such as identifying transaction metadata. Here,<n>
can be any integer. - Using
memoId
-based addressing eliminates the need to generate multiple deposit addresses per user. A single static address can be reused safely across users and use cases, with thememoId
serving as the unique identifier. - Since Cronos uses
memoId
-based receive addresses, manual consolidation is not required.
Create Wallet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>" export COIN="tcronos" 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"'", "disableTransactionNotifications": true, "disableKRSEmail": true }'
Create Address
1 2 3 4 5 6 7 8
export COIN="tcronos" export WALLET_ID="<YOUR_WALLET_ID>" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" curl -X POST \ https://app.bitgo-test.com/api/v2/$COIN/wallet/$WALLET_ID/address \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN"
Estimate Fee
1 2 3 4 5 6 7
export COIN="tcronos" 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
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="tcronos" 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"'" }'