On this page

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.

ParameterTypeRequiredDefaultDescription
coinstringCoin ticker (e.g., BTC, LTC, ETH).
account_idnumberBIP-44 account number (usually 0).
chainstringExternalExternal (receive) or Internal (change). If omitted, defaults to External.
gap_limitnumberimplementation-defaultMaximum allowed consecutive empty addresses (overrides wallet default).

ParameterTypeDescription
new_addressobjectA 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
}

ParameterTypeDescription
NoSuchCoinstringCoin is not activated.
CoinIsActivatedNotWithHDWalletstringCoin was enabled without HD-wallet derivation.
UnknownAccountstringThe specified account_id does not exist.
InvalidBip44ChainstringUnsupported chain value.
AddressLimitReachedstringAddress derivation exceeded wallet's hard limit.
EmptyAddressesLimitReachedstringGap-limit reached (too many empty addresses); generate spend to some address.
Transport | Internal | TimeoutstringOther runtime errors.