Skip to content

Commit 09687cb

Browse files
authored
docs(express): createAddress api definition
2 parents 36b81b6 + 309ee01 commit 09687cb

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

modules/express/src/typedRoutes/api/v2/createAddress.ts

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ import { EIP1559, ForwarderVersion, CreateAddressFormat } from '../../schemas/ad
77
* Path parameters for creating a wallet address
88
*/
99
export const CreateAddressParams = {
10-
/** Coin ticker / chain identifier */
10+
/** Blockchain identifier (e.g., 'btc', 'eth', 'tbtc', 'teth') */
1111
coin: t.string,
12-
/** The ID of the wallet. */
12+
/** The wallet ID */
1313
id: t.string,
1414
} as const;
1515

1616
/**
1717
* Request body for creating a wallet address
1818
*/
1919
export const CreateAddressBody = {
20-
/** Address type for chains that support multiple address types */
20+
/** Address type for chains with multiple formats (e.g., 'p2sh', 'p2wsh' for Bitcoin-like chains) */
2121
type: optional(t.string),
22-
/** Chain on which the new address should be created. Default: 1 */
22+
/** Derivation chain: 0 for external/receive addresses, 1 for internal/change addresses. Default varies by wallet type */
2323
chain: optional(t.number),
2424
/**
2525
* (ETH only) Specify forwarder version to use in address creation.
@@ -31,39 +31,45 @@ export const CreateAddressBody = {
3131
* 5: new MPC wallets with wallet-version 6
3232
*/
3333
forwarderVersion: optional(ForwarderVersion),
34-
/** EVM keyring reference address (EVM only) */
34+
/** Reference address for EVM keyring address derivation (required for certain EVM-based wallet configurations) */
3535
evmKeyRingReferenceAddress: optional(t.string),
36-
/** Create an address for the given token (OFC only) (eg. ofcbtc) */
36+
/** Token identifier for OFC (Offchain) wallets - required when creating token-specific addresses (e.g., 'ofcbtc') */
3737
onToken: optional(t.string),
3838
/** A human-readable label for the address (Max length: 250) */
3939
label: optional(t.string),
40-
/** Whether the deployment should use a low priority fee key (ETH only) Default: false */
40+
/** Use lower priority fee for Ethereum forwarder contract deployment. Default: false */
4141
lowPriority: optional(t.boolean),
42-
/** Explicit gas price to use when deploying the forwarder contract (ETH only) */
42+
/** Gas price in wei for Ethereum forwarder contract deployment */
4343
gasPrice: optional(t.union([t.number, t.string])),
44-
/** EIP1559 fee parameters (ETH forwarderVersion: 0 wallets only) */
44+
/** EIP-1559 fee parameters (maxFeePerGas, maxPriorityFeePerGas) for Ethereum wallets with forwarderVersion 0 */
4545
eip1559: optional(EIP1559),
46-
/** Format to use for the new address (e.g., 'cashaddr' for BCH) */
46+
/** Address encoding format: 'cashaddr' for Bitcoin Cash or 'base58' for legacy format */
4747
format: optional(CreateAddressFormat),
48-
/** Number of new addresses to create (maximum 250) */
48+
/** Number of addresses to create in one request (1-250). Returns array when count > 1, single object when count = 1. Default: 1 */
4949
count: optional(t.number),
50-
/** Base address of the wallet (if applicable) */
50+
/** Base address for wallets using hierarchical address structures (coin-specific) */
5151
baseAddress: optional(t.string),
52-
/** When false, throw error if address verification is skipped */
52+
/** When false, throws error if address verification is skipped (e.g., during pending chain initialization). Default: true */
5353
allowSkipVerifyAddress: optional(t.boolean),
5454
} as const;
5555

56-
/** Response for creating a wallet address */
56+
/** Response for creating wallet address(es) */
5757
export const CreateAddressResponse = {
58+
/** OK */
5859
200: t.unknown,
60+
/** Invalid request parameters or address creation failed */
5961
400: BitgoExpressError,
6062
} as const;
6163

6264
/**
63-
* Create address for a wallet
65+
* Create one or more new receive addresses for a wallet
66+
*
67+
* Generates new addresses on the specified derivation chain. Returns a single address object
68+
* by default, or an array when creating multiple addresses. For Ethereum wallets, this may
69+
* deploy forwarder contracts with configurable gas parameters.
6470
*
6571
* @operationId express.v2.wallet.createAddress
66-
* @tag express
72+
* @tag Express
6773
*/
6874
export const PostCreateAddress = httpRoute({
6975
path: '/api/v2/{coin}/wallet/{id}/address',

0 commit comments

Comments
 (0)