TypeScript SDK — Account Services: Addresses & Deposits
Manage deposit addresses and the approved withdrawal address allowlist. All methods are on client.accountServices and use the { path, body } input pattern because the network is a URL path parameter.
See the API specifications for full request/response schemas and the authentication guide for setup.
Methods
createNewDepositAddress
POST /v1/deposit/{network}/newAddress · Authenticated · Fund Manager role · OAuth scope addresses:create
Generates a new deposit address for the specified network. Requires the Fund Manager role. The request body is validated client-side — the SDK checks optional field types (label, legacy, account) before sending. The account field is optional for account-level API keys but required for Master API keys to target a specific sub-account.
Code
This is a POST mutation — never automatically retried. Creating duplicate addresses is safe — each call generates a distinct address.
listDepositAddresses
POST /v1/addresses/{network} · Authenticated · Trader, Fund Manager, or Auditor role · OAuth scope addresses:read or addresses:create
Lists all previously generated deposit addresses for the specified network. The response is a bare array of Address objects.
Code
createNewApprovedAddress
POST /v1/approvedAddresses/{network}/request · Authenticated · Fund Manager role · Trusted IP required · API key only
Requests approval of a new withdrawal address for the specified network. Requires the Fund Manager role and Trusted IP controls enabled on your account. This endpoint is API-key only — it is not accessible via OAuth. The request body is validated client-side — address and label are required strings.
Code
Caveat: Every newly approved address is subject to a mandatory seven-day approval hold before it can be used for withdrawals. This hold always applies and cannot be skipped. Plan withdrawal workflows accordingly.
listApprovedAddresses
POST /v1/approvedAddresses/account/{network} · Authenticated · OAuth scope addresses:read
Lists all approved withdrawal addresses for the specified network on your account. Available to any API-key role (Trader, Fund Manager, or Auditor). OAuth callers require the addresses:read scope. The response is a wrapper object with an approvedAddresses array — not a bare array.
Code
removeApprovedAddress
POST /v1/approvedAddresses/{network}/remove · Authenticated · Fund Manager role · OAuth scope addresses:create
Removes an address from the approved withdrawal allowlist. Requires the Fund Manager role. OAuth callers require the addresses:create scope. The request body is validated client-side — address is a required string.
Code
Caveat: Removing an approved address is irreversible via this call. You'll need to re-approve the address (with its waiting period) to use it again.
The { path, body } input pattern
Every method on this page takes a single object with path and body keys. The path object supplies URL path parameters (here, network), while body contains the POST payload. The SDK adds transport fields (nonce, request) to the body automatically.
Code
See the patterns guide for more on input shapes.
What's next
- Balances & Account — account details and balance queries
- Withdrawals & Transfers — moving funds
- Request Validation — how client-side validation works