Get New Address
API-v2get_new_address
The get_new_address method derives the next unused address from a BIP-44 HD wallet without involving the long-running task manager
(contrast with task::get_new_address::*).
- If the coin is associated with a hardware wallet (e.g., Trezor), the method may require the user to confirm the generated address on the device.
- If the gap-limit is reached (too many consecutive empty addresses), the method will return an error until some of the derived addresses receive a balance.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | ✓ | – | Coin ticker (e.g., BTC, LTC, ETH). |
| account_id | number | ✓ | – | BIP-44 account number (usually 0). |
| chain | string | ✗ | External | External (receive) or Internal (change). If omitted, defaults to External. |
| gap_limit | number | ✗ | implementation-default | Maximum allowed consecutive empty addresses (overrides wallet default). |
| Parameter | Type | Description |
|---|---|---|
| new_address | object | A standard NewAddressInfo object containing address, derivation_path, chain, and balance. |
When used with a hardware wallet, the RPC may respond with an error containing error_type =UnexpectedUserAction if the request is made while the device awaits user confirmation. Use the task-managed variant for smoother UX, or send the required user action via task::get_new_address::user_action.
Get New Address
POST
get_new_address{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "get_new_address",
"params": {
"coin": "BTC",
"account_id": 0,
"chain": "External"
},
"id": 0
}
| Parameter | Type | Description |
|---|---|---|
| NoSuchCoin | string | Coin is not activated. |
| CoinIsActivatedNotWithHDWallet | string | Coin was enabled without HD-wallet derivation. |
| UnknownAccount | string | The specified account_id does not exist. |
| InvalidBip44Chain | string | Unsupported chain value. |
| AddressLimitReached | string | Address derivation exceeded wallet's hard limit. |
| EmptyAddressesLimitReached | string | Gap-limit reached (too many empty addresses); generate spend to some address. |
| Transport | Internal | Timeout | string | Other runtime errors. |