Balance Custody API
Balance CustodyAbout
  • Introduction
  • Authentication
  • V1
    • Wallets
    • Assets
    • Transaction fees
    • Stats
    • External accounts
    • Transactions
  • V2
    • Staking
    • Transactions
    • Assets
  • Regulatory Compliance
  • Webhooks
Powered by GitBook
On this page
  • Supported Currencies
  • API URL
  • Authentication
  • API Endpoints
  • Errors
  1. V1

External accounts

This document details the Balance Custody v1 External Accounts API, allowing management of external accounts with endpoints to list and retrieve details for approved accounts.

PreviousStatsNextTransactions

Last updated 1 month ago

Supported Currencies

Below is a list of these currencies, the ticker symbol that must be used when interacting with this API, as well as the units in which the fee rates will be returned:

  • Bitcoin (btc)

  • Bitcoin Cash (bch)

  • Cardano (ada)

  • Litecoin (ltc)

  • Ethereum (eth)

  • Eigen (eigen)

  • Filecoin (fil)

  • Ripple (xrp)

  • Stellar Lumens (xlm)

  • Paxos (pax)

  • USD Coin (usdc)

  • Paxos Gold (paxg)

  • Stasis EURS (eurs)

  • Liquid Staking ETH (lseth)

API URL

You will receive your integration URL from your point of contact at Balance, and will look like:

YOUR_CUSTOM_SUBDOMAIN.balancecustody.ca

Authentication

Due to the nature of the information exposed, every endpoint in this API requires authentication.


API Endpoints

These curl examples work out of the box as the API does not require any headers to be set.

GET /api/v1/external_accounts

List all approved external accounts. Only pagination parameters are accepted.

Pagination

To request more results provide either a before or after parameter containing the cursor from the external account you want data prior to or following. For example, to request data after the result in the example below: GET /api/v1/external_accounts?after=MTI=

A page_size parameter may be provided to control the size of the response. This must be between 1 and 100 and if omitted defaults to 10.

Request

curl https://your_custom_subdomain.balancecustody.ca/api/v1/external_accounts

Response

Returns a paginated list of external accounts, including their custom_id, name, description, supported funding addresses, and optional extras (e.g., tags or memos for certain assets).

Status: 200

Data:

{
  "page_info": {
    "has_previous_page": false,
    "has_next_page": true,
    "start_cursor": "MTI=",
    "end_cursor": "Mw=="
  },
  "page": [
    {
      "cursor": "MTI=",
      "data": {
        "id": 1,
        "type": "wallet",
        "kind": "external",
        "custom_id": "Custom ID",
        "name": "External account name",
        "description": "External account description",
        "funding_addresses": {
          "btc": "1JfQeTopCr1SNk9qoF7qsfCcGtmNUvZdbg",
          "bch": "1H1NtR2TxvpxVffhh13xKeX2vxENvRJcBZ",
          "ada": "addr1q9vm2gxxplld7lm0eg7dzz7wsq6t8zk9q4u6d7en8n7jgc2y8k6q9gkj6w9",
          "ltc": "LY5kxT567jCCH6Au1iJHj36ZZKoT5mkeN3",
          "eth": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
          "eigen": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
          "lseth": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
          "usdc": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
          "fil": "f1xyexamplefiladdress987654321",
          "xrp": "rLaMTxt8QkFGNuD67LJsdP5KpMxYqwMen5",
          "xlm": "GBIJ2T7YZDOTVFLWIGGK3FAQ2VDZIAOPEMMWKG7YVVNXKY47ZGC5Z6K2",
          "pax": "0xb3Dc579A90652190C5e3b52479688D510111Be44",
          "paxg": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
          "eurs": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4"
        },
        "extras": {
          "rLaMTxt8QkFGNuD67LJsdP5KpMxYqwMen5": {
            "tag": "xrp tag"
          },
          "GBIJ2T7YZDOTVFLWIGGK3FAQ2VDZIAOPEMMWKG7YVVNXKY47ZGC5Z6K2": {
            "memo": "xlm memo"
          }
        }
      }
    },
    ...
  ]
}

GET /api/v1/external_accounts/:id

Show details for a single external account. No parameters accepted.

Request

curl https://your_custom_subdomain.balancecustody.ca/api/v1/external_accounts/1

Response

Returns a single external account.

Status: 200

Data:

{
  "id": 1,
  "type": "wallet",
  "kind": "external",
  "custom_id": "Custom ID",
  "name": "External account name",
  "description": "External account description",
  "funding_addresses": {
    "btc": "1JfQeTopCr1SNk9qoF7qsfCcGtmNUvZdbg",
    "bch": "1H1NtR2TxvpxVffhh13xKeX2vxENvRJcBZ",
    "ada": "addr1q9vm2gxxplld7lm0eg7dzz7wsq6t8zk9q4u6d7en8n7jgc2y8k6q9gkj6w9",
    "ltc": "LY5kxT567jCCH6Au1iJHj36ZZKoT5mkeN3",
    "eth": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
    "eigen": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
    "lseth": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
    "usdc": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
    "fil": "f1xyexamplefiladdress987654321",
    "xrp": "rLaMTxt8QkFGNuD67LJsdP5KpMxYqwMen5",
    "xlm": "GBIJ2T7YZDOTVFLWIGGK3FAQ2VDZIAOPEMMWKG7YVVNXKY47ZGC5Z6K2",
    "pax": "0xb3Dc579A90652190C5e3b52479688D510111Be44",
    "paxg": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4",
    "eurs": "0x4D4aA364A4afDf8aa9a4f840640a700F44E793f4"
  },
  "extras": {
    "rLaMTxt8QkFGNuD67LJsdP5KpMxYqwMen5": {
      "tag": "xrp tag"
    },
    "GBIJ2T7YZDOTVFLWIGGK3FAQ2VDZIAOPEMMWKG7YVVNXKY47ZGC5Z6K2": {
      "memo": "xlm memo"
    }
  }
}

Errors

Errors in this API are the same as the ones specified in the wallet API docs.

For more information on authentication go to

Authentication Docs.
Supported Currencies
API URL
Authentication
API Endpoints
GET /api/v1/external_accounts
GET /api/v1/external_accounts/:id
Errors