List master wallets
One per network the merchant has a wallet on. next_cursor is a network slug.
Authorization
Section titled “Authorization”Send your API key as a bearer token in the Authorization header. Secret API key: Authorization: Bearer ctp_live_sk_…. A publishable key (ctp_…_pk_…) is accepted by these operations only, which serve reference data: getRate, listAssets, listNetworks (each marked x-publishable-key: true). Every other operation refuses it with 403 publishable_key_not_allowed, whatever Origin the request carries: that header binds browsers, not other clients, and nothing on this API relies on it.
Query parameters
Section titled “Query parameters”| Name | Type | Description |
|---|---|---|
limit |
integer | Number of items to return (1 to 100). Default 50. Minimum 1, maximum 100. |
starting_after |
string | Return items after this id: pass next_cursor of the previous page. At most 100 characters. |
Example request
Section titled “Example request”curl "https://api.ctpeway.com/v1/master_wallets" \ -H "Authorization: Bearer $CTPEWAY_API_KEY"import { CtpeWay } from '@ctpeway/sdk';
const ctpeway = new CtpeWay(process.env.CTPEWAY_API_KEY);
const result = await ctpeway.balances.list();Response
Section titled “Response”200 OK
Section titled “200 OK”| Field | Type | Description |
|---|---|---|
data |
array of objects | |
data[]. |
string | Network slug. |
data[]. |
string | Fund this address with the native coin to pay fees for token deposits. |
data[]. |
string | |
data[]. |
array of objects | |
data[]. |
string | |
data[]. |
string | 24 hexadecimal characters. |
data[]. optional |
string | |
data[]. |
integer | |
data[]. |
string | Base units, as booked by the ledger. A whole number written as a string of digits. |
data[]. |
string | Deposits of this asset that are confirmed and held in their addresses on this network (the master wallet cannot pay for their release yet, or a release guard applies). Not part of amount. A whole number written as a string of digits. |
data[]. |
string | Deposits of this asset that are confirmed and waiting their turn to be released, or being released now. Not part of amount yet. A whole number written as a string of digits. |
data[]. |
integer | Settlements waiting on this network because the master wallet cannot pay for them. |
data[]. |
string | Native coin needed to release everything held, in base units. A whole number written as a string of digits. |
data[]. |
boolean | |
has_more |
boolean | Whether more items exist after this page. |
next_cursor |
string or null | Pass as starting_after to get the next page; null on the last page. |
{ "data": [ { "network": "string", "address": "string", "native_asset": "string", "balances": [ { "asset": "string", "asset_id": "0123456789abcdef01234567", "contract": "string", "decimals": 0, "amount": "1000000", "held": "1000000", "pending": "1000000" } ], "held_count": 0, "required_to_clear": "1000000", "livemode": true } ], "has_more": true, "next_cursor": "string"}The values are placeholders generated from the schema. They show the shape, not real data.
Errors
Section titled “Errors”A failed request answers with the error format described under Errors.
Besides the codes any endpoint can return, this endpoint can answer with these code values:

