Core resources
- Accounts: Client-owned and managed accounts; IDs are KSUIDs (
account_id). - Addresses: Universal source/destination primitive. Internal (custodial) vs external (counterparty). IDs are KSUIDs (
address_id). - Automations: Virtual accounts that map deposits to addresses with specific
transfer_type/value_type. IDs are KSUIDs (automation_id). - Transfers: Movements across fiat rails and blockchains; always reference
address_idfor source/destination. IDs are KSUIDs (transfer_id).
IDs are KSUIDs (26-char, time-sortable); case-sensitive. Copy/paste carefully.
Addresses: internal vs external
type=internal: Brale-custodied addresses (one per supported chain per account); balances available; use for mint/payout flows.type=external: Counterparty data you register (onchain wallets, offchain bank accounts, Canton parties); no balances.- Use
address_idon all transfer endpoints; financial institution IDs are deprecated.
Value types and transfer types
value_type: Token/fiat identifier (case-sensitive); see Value Types.transfer_type: Rail or chain (e.g.,wire,ach_credit,base,solana); see Transfer Types.- Always send both on transfers; a custodial address can hold multiple
value_type/transfer_typepairs.
Idempotency
- Send
Idempotency-Keyon all create POSTs; reuse the same key on retries of the same logical request. - Do not send
Idempotency-Keyon GETs.
Automations
- Create virtual accounts that issue deposit instructions and resolve to addresses with specific rails/tokens.
- Useful for mapped deposit flows (e.g., branded onramps) and to avoid manual routing.
Branding
- Optional statement branding applies to ACH payouts only (
brand/branding); not used for wire/RTP.
Authentication
- Short-lived bearer tokens (~60 minutes); refresh using
expires_inbefore expiry. - Scope credentials separately for testnet vs mainnet.
Quick references
- Create external address:
POST /accounts/{account_id}/addresses/external - List custodial addresses:
GET /accounts/{account_id}/addresses(returnstype=internal) - Create transfer:
POST /accounts/{account_id}/transfers(requiresaddress_id,transfer_type,value_type,Idempotency-Key)