Log in

Addresses are on-chain wallet addresses that can send and receive stablecoins.


Brale distinguishes between internal and external addresses:

  • Internal addresses – Custodial addresses managed by Brale on behalf of customers.
  • External addresses (EOAs) – Non-custodial addresses controlled by users outside of Brale.

Whether internal or external, all addresses possess:

  • name - A user friendly label to identify the wallet.
  • address - The unique wallet address on a specific blockchain (EVM, Solana, etc.).
  • transfer_types The blockchains the wallet supports. See Supported Chains for the full list. Each address is associated with only one blockchain environment (e.g., Solana, EVM).

Custodial (Internal) Addresses

Brale provides custodial wallets that allow businesses to securely hold and transfer stablecoins on behalf of themselves or their customers. Custodial addresses support all supported blockchains.

When your customer's Account is onboarded, Brale automatically generates internal custodial addresses on all supported blockchains. You do not need to create them manually.


Fetching an Internal Balance

You can query the stablecoin balance of an internal address.

GET https://api.brale.xyz/addresses/:id

{
	"status": "complete", 
	"name": "Customer XYZ Custodial Wallet",
  "address": "73uyt9HkEqx9bThYXWaUBP67sWsiJEsyJ5rSCieDx5me",
	"transfer_types": ["Solana"],
  "balances": [  
    {
      "balance": "100",
      "value_type": "ysbc",  
    }  
  ],   
	"metadata": {
		"key": "value"
	 }
}

Linking an external Wallet Address

External addresses enable users to deposit stablecoins into or withdraw stablecoins from custodial addresses. To link an external wallet to an Account, send the following request:

POST https://api.brale.xyz/addresses/external

{
	"name": "User Ethereum Wallet", 
	"transfer_types": ["Ethereum", "Avalanche", "Polygon"], 
	"metadata": {
		"key": "value"
	 }, 
	 "address": "0xD4Bc64E31c8F216B07F0156B76FC06Da94b73d26"
}

Response

{
	"id": "d7bd28e4-93e6-4313-880c-ab9178eacd3b"
}

Fetching Addresses

Retrieve all addresses associated with the authenticated Account.

This endpoint returns all addresses (whether internal or external) linked to the Account corresponding to the API credentials used in the request.

GET https://api.brale.xyz/addresses

{
  "addresses": [
    {
      "id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
      "status": "complete",
      "name": "Solana Custodial Wallet",
      "address": "73uyt9HkEqx9bThYXWaUBP67sWsiJEsyJ5rSCieDx5me",
      "transfer_types": ["Solana"],
      "metadata": {
        "key": "value"
      }
    },
    {
      "id": "b2c3d4e5-6789-01ab-cdef-2345678901bc",
      "status": "complete",
      "name": "EVM Custodial Wallet",
      "address": "0xD4Bc64E31c8F216B07F0156B76FC06Da94b73d26",
      "transfer_types": ["Base", "Ethereum"],
      "metadata": {
        "key": "value"
      }
    }
  ]
}