Core

Overview

Core (coredao) is the native asset of the Core blockchain. It utilizes:

  • Account model

  • ECDSA signature algorithm

Core is an EVM-compatible Layer-1 blockchain that enhances Bitcoin’s utility while preserving decentralization and security. Its Satoshi Plus consensus combines DPoW, DPoS, and Non-Custodial BTC Staking, integrating Bitcoin miners into smart contract security. This allows miners and BTC holders to earn CORE token rewards while extending Bitcoin’s functionality. Core bridges Bitcoin’s security with scalable smart contracts, unlocking new DeFi opportunities.

Explorer

https://scan.test2.btcs.network/

Wallets Types

BitGo enables holding Core in the following wallet types:

Multisig ColdMultisig HotMPC ColdMPC Hot
Custody
Self-Custody

Ticker Symbols

MainnetTestnet
coredaotcoredao

Faucet

You can use a faucet to obtain free testnet Core for development and testing purposes.

Faucet: https://scan.test2.btcs.network/faucet

Units

Each Core is comprised of 1,000,000,000,000,000,000 (1018) wei, so not even a single Core can be stored numerically without exceeding the range of JavaScript numbers. Gas fees are denoted in gwei.

  • 1 Core = 1018 wei
  • 1 wei = 10-18 Core
  • 1 gwei = 10-9 Core

For that reason, only string balance properties are available, which are balanceString, confirmedBalanceString, and spendableBalanceString.

Tokens

The CORE token plays a crucial role in the network, serving as both a utility token and a governance token. Holders can use CORE for transaction fees, staking, and participating in governance decisions.

Fees

Core supports EIP-1559 gas estimation and accounts for both L2 and L1 components of fees. The eth_estimateGas RPC endpoint provides a value that already includes both L1 and L2 gas costs.

Unlike fixed gas limits, you cannot set a strict 21K upper limit for transactions, as gas requirements fluctuate over time with L1 price variations.

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 priority fee is an additional price per unit of gas paid on top of the base fee. In Core, transactions with a higher priority fee are prioritized and processed faster. If transaction speed is important to your application, setting a higher priority fee can help ensure quicker inclusion.

Create Wallet

  • cURL
  • JavaScript
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="tcoredao" 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:3080/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

  • cURL
  • JavaScript
1 2 3 4 5 6 export WALLET="<YOUR-WALLET-ID>" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" curl -X POST \ -H "Authorization: Bearer $ACCESS_TOKEN" \ https://app.bitgo-test.com/api/v2/tcoredao/wallet/$WALLET/address

Consolidate Balance

Consolidation Fee Source: Corechain Gas Tank

Core uses forwarders, therefore does not support manual consolidation

Estimate Fee

  • cURL
  • JavaScript
1 2 3 4 5 6 7 export COIN="tcoredao" 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

  • cURL
  • cURL (send to many)
  • JavaScript
  • JavaScript (send to many)
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="tcoredao" 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:3080/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

Non-Custodial Bitcoin Staking: Core's Bitcoin staking uses CLTV timelocks, a Bitcoin-native feature that locks funds until a specified time or block height. Instead of giving up custody, stakers simply place their bitcoins in CLTV timelocks, with the transaction returning the funds after the lock period ends. The transaction must include a script with two details: the validator's address and the address for receiving CORE rewards. Read more at Core DAO.

To learn more about staking assets with BitGo, see Staking Overview.

  • cURL
  • JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 export COIN="[testnet ID all lowercase]" export WALLET_ID="<YOUR_WALLET_ID>" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" export CLIENT_ID="<CLIENT_ID>" export AMOUNT="<AMOUNT_IN_BASE_UNITS>" export GAS_PRICE="<GAS_PRICE>" export TYPE="STAKE" curl -X POST \ http://api/staking/v1/$COIN/wallets/$WALLET_ID/requests \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -d '{ "clientId": "'$CLIENT_ID'", "amount": "'$AMOUNT'", "gasPrice": "'$GAS_PRICE'", "type": "STAKE" }'

See Also