Near
Overview
NEAR Protocol is a decentralized blockchain platform designed to enable the creation and operation of scalable, high-performance decentralized applications (dApps). Utilizing a proof-of-stake (PoS) consensus mechanism, NEAR Protocol offers fast transaction finality and low transaction fees, making it suitable for a wide range of use cases.
NEAR is the native asset of the Near Protocol blockchain platform. It serves various purposes within the NEAR Protocol ecosystem, including transaction fees, staking, and governance. It utilizes the Account model.
Explorerhttps://nearblocks.io/
Ticker Symbols
Mainnet | Testnet |
---|---|
NEAR | TNEAR |
Wallets Types
BitGo enables holding Near in the following wallet types:
Multisig Cold | Multisig Hot | MPC Cold | MPC Hot | |
---|---|---|---|---|
Custody | ❌ | N//A | ✅ | N/A |
Self-Custody | ✅ | ❌ | N/A | ✅ |
Faucet
Follow these steps to get NEAR testnet tokens:
- Create a
<username>.testnet
wallet address on https://testnet.mynearwallet.com/ - Get testnet tokens from https://near-faucet.io/ in the
<username>.testnet
wallet address created in step 1. - Send the testnet tokens from
<username>.testnet
wallet to the BitGo Test wallet.
Units
The base unit of Near is yocto
.
- 1 near = 1024 yocto
- 1 yocto = 10-24 near
To check the balance of a wallet:
1 2 3 4 5 6 7
const walletInstance = await bitgo.coin(coin).wallets().get({ id: walletId }); console.log('Wallet ID:', walletInstance.id()); console.log('Current Receive Address:', walletInstance.receiveAddress()); console.log('Balance:', walletInstance.balanceString()); console.log('Confirmed Balance:', walletInstance.confirmedBalanceString()); console.log('Spendable Balance:', walletInstance.spendableBalanceString());
Tokens
The Near Protocol blockchain natively support tokens. To view all BitGo supported tokens on the Near Protocol Blockchain, see the Coins and Tokens table.
Fees
On every transaction you send to the network NEAR charges a fee (aka gas fee). Fees are measured in gas units but paid in NEAR. Gas units are deterministic, the same transaction costs the same gas units. Gas units are transformed to NEAR by multiplying with a gas price.
- Min. gas price =
10-16 NEAR
per gas unit - 1 TGas (10¹² gas units) ≈ 1 ms of "compute" time. ≈
0.0001 NEAR
- The gas price is not fixed: it is recalculated each block depending on network demand. If the previous block is more than half full the price goes up, otherwise it goes down. The price cannot change by more than 1% each block.
- A maximum of
300 TGas
can be attached to a transaction. - Attaching extra gas does NOT make the transaction faster, unused gas is simply returned.
Learn more about fees at Near docs.
Create Wallet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>" export COIN="[testnet ID all lowercase]" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" export LABEL="<DESIRED_WALLET_NAME>" export PASSPHRASE="<YOUR_BITGO_LOGIN_PASSPHRASE>" export ENTERPRISE_ID="<YOUR_ENTERPRISE_ID>" export MULTISIGTYPE="tss" 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"'", "disableTransactionNotifications": true, "disableKRSEmail": true, "multisigType": "'"$MULTISIGTYPE"'" }'
Create Address
1 2 3 4 5
WALLET=585c51a5df8380e0e3082e46 curl -X POST \ -H "Authorization: Bearer $ACCESS_TOKEN" \ https://app.bitgo-test.com/api/v2/tnear/wallet/$WALLET/address
Consolidate Balance
Near is an account-based asset and therefore requires consolidating to the base address in order to use the maximum spendable amount.
Note: Near addresses require a minimum balance of ~0.052 NEAR
. This amount remains in the address after consolidation.
Estimate Fee
1 2 3 4 5 6 7
export COIN="tnear" 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 18 19 20 21 22 23 24 25 26 27 28 29
export BITGO_EXPRESS_HOST="<YOUR_LOCALHOST>" export COIN="tnear" export WALLET_ID="<YOUR_WALLET_ID>" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" export ADDRESS_1="<DESTINATION_ADDRESS_1>" export ADDRESS_2="<DESTINATION_ADDRESS_2>" export AMOUNT_1="<AMOUNT_1_IN_BASE_UNITS>" export AMOUNT_2="<AMOUNT_2_IN_BASE_UNITS>" export WALLET_PASSPHRASE="<YOUR_WALLET_PASSPHRASE>" curl -X POST \ http://$BITGO_EXPRESS_HOST:3080/api/v2/$COIN/wallet/$WALLET_ID/sendmany \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -d '{ "recipients": [ { "address": "'"$ADDRESS_1"'", "amount": "'"$AMOUNT_1"'" }, { "address": "'"$ADDRESS_2"'", "amount": "'"$AMOUNT_2"'" } ], "walletPassphrase": "'"$WALLET_PASSPHRASE"'", "type": "transfer", "isTss": "true" }'
Stake
For details specific to staking NEAR tokens, see the tables below:
Amounts | Details |
---|---|
Minimum | None |
Maximum coin supply | 1,000,000,000 NEAR |
Are staked assets locked or liquid? | Locked |
Fees | Withdraw from wallet balance |
Timeline | Details |
Activation period | 4 epochs (36 hours) |
Unstaking period | 3 epochs (27 hours) |
Rewards | Details |
Rewards rate | Decided by each validtor |
On-chain transactions for reward distributions? | No |
Supports withdrawing rewards only? | Yes |
Requires transaction to claim rewards? | Yes |
Validators | Details |
Bring your own validator? | Yes |
Stake to multiple validators simultaneously? | No |
Stake multiple times to the same delegation? | Yes |
Figment support? | No |
Slashing? | No |
Integration | Details |
Required transactions | Delegation and redelegation |
Do staked assets leave wallet? | No |
Number of transactions to unstake | 1 |
Supports partial unstaking? | Yes |