latestOpenAPI 3.0.32026-08-224982,0272.8 MB

e445c15e5bee

Address

Create address

Creates a new receive address for a wallet. If you create a forwarder address, whenever it receives assets, BitGo automatically deploys a forwarder smart contract to flush the balance to the base address. See Blockchain Reference topics to learn more about address management, fees, and consolidations for specific assets. Note: New Ethereum addresses require blockchain confirmation before you can consolidate from them.

post/api/v2/{coin}/wallet/{walletId}/address

Path parameters

coinstring required

A cryptocurrency symbol or token ticker symbol

Example:btc
walletIdstring required
Example:59cd72485007a239fb00282ed480da1f

Request body

typestring
chainnumber
forwarderVersionnumber

(ETH only) Specify forwarder version to use in address creation. To reduce the cost of creating ETH forwarders, BitGo uses a set of forwarder contracts that deploy as a simple proxy to a single implementation (https://eips.ethereum.org/EIPS/eip-1167). Additionally, forwarders deploy using opcode, CREATE2, enabling them to deploy only when needed (https://eips.ethereum.org/EIPS/eip-1014). These forwarders otherwise operate identically to prior ETH forwarders. Use this flag to specify the forwarder contract version when deploying a forwarder contract. Use 0 for the older forwarder (https://github.com/BitGo/eth-multisig-v2). Use 1 for the new fee-improved forwarder (https://github.com/BitGo/eth-multisig-v4). Use 2 for NFT-supported forwarders and version 2 wallets. Use 3 for MPC wallets. Use 4 for forwarders with the same functionality as v2 but with some changes. v4 is applicable for Arbitrum, Optimism, ZkSync, and other EVM-compatible chains that we will onboard in the future. Use 5 for new MPC based wallets with wallet-version 6

evmKeyRingReferenceAddressstring
onTokenstring

Create an address for the given token

labelstring

A human-readable label for the address

lowPriorityboolean

Whether the deployment of the address forwarder contract should use a low priority fee key (ETH only)

formatstring

Format to use for the new address, if the coin which supports multiple formats for an address. Currently, Bitcoin Cash is the only coin which has support for multiple address formats. For Bitcoin Cash, BitGo supports both the base58 (legacy) address format, as well as the newer CashAddr format. The default address format is base58. To request a CashAddr formatted address instead, use the value 'cashaddr' as the format.

Example request

{
  "chain": 1,
  "onToken": "ofcbtc",
  "label": "Bob's Hot Wallet Address",
  "format": "cashaddr"
}

Response

OK

OR

Example response

{
  "coin": "btc",
  "id": "59cd72485007a239fb00282ed480da1f",
  "address": "2MvrwRYBAuRtPTiZ5MyKg42Ke55W3fZJfZS",
  "balance": {
    "balanceString": "500000",
    "confirmedBalanceString": "400000",
    "spendableBalanceString": "40000",
    "balance": 50000
  },
  "label": "Bob's Hot Wallet Address"
}