- Create an Account representing your customer
- Create an Address which is your customer’s bank account where Brale will deposit USD
- Deposit stablecoins to a Brale custodial address (address with type
internal)
Link an Address to your customer’s Account
Destination bank addresses can be created in two ways:- Plaid-linked bank account — Securely connect a bank account via the Plaid Link SDK. Supports
ach_debit,ach_credit, andrtp_credit. - Direct bank entry — Submit bank details directly via the Addresses API. Supports
wire,ach_credit,same_day_ach_credit, andrtp_credit.
Direct bank entry is the right path when you already have bank account details or need
wire transfers. For the full comparison and guidance, see External bank addresses.
Direct bank entry
Here is an example of adding an ACH/RTP offchain address via Direct bank entry using Create a new external address. POSThttps://api.brale.xyz/accounts/account_id/addresses/external
For ACH/RTP-only Direct bank entry addresses,
bank_address and beneficiary_address are optional. They are required when creating a wire-capable address (when transfer_types includes wire). Do not enter placeholder or generic bank addresses—omit these fields unless you have accurate values.Request (ACH/RTP Credit)
bank_address and beneficiary_address:
Request (Wire)
Response (ACH/RTP Credit)
Need
ach_debit? Use the Plaid-linked bank account flow instead. See External bank addresses for details.RTP Enablement
Offramps via RTP use thertp_credit transfer_type on the destination Address. RTP capability is enabled asynchronously by our banking partner, so a newly created bank Address may initially not show rtp_credit even though it is eligible for real-time payments. Only treat an Address as RTP-capable once "rtp_credit" appears in its transfer_types. See Key Concepts → Addresses → Create External Address for RTP for details.
Stablecoin to USD via Wire
Once your customer has an address and stablecoins are held in a Brale controlled address, you can submit a Transfer request with the destination of the address. For outbound wire transfers, you can optionally passdestination.wire_memo to include a memo or payment reference with the wire.
POST https://api.brale.xyz/accounts/account_id/transfers
Request
Tracking the outbound wire with destination.payment_details.imad
When you retrieve the transfer, the response may include a destination.payment_details object containing the wire IMAD for tracing and reconciliation.
Response
destination.payment_details is response-only and is not accepted in create requests. The IMAD is assigned by the sending bank and may not be available immediately after the transfer is created — the field may be absent until Brale has the underlying bank metadata, at which point it appears on the transfer. Do not confuse this with destination.wire_memo, which remains a request field for outbound wires. See Transfers — destination.payment_details for the full field reference.Self-custody redemption
If your customer holds stablecoins in a self-custody or external wallet (for example, Crossmint), the redemption is a two-step process:- Transfer the stablecoins from the external wallet to a Brale internal address.
- Submit the off-ramp transfer from that internal address to the customer’s bank account.
Step-by-step example
- Your customer holds USDC in an external wallet.
- You retrieve or display the appropriate Brale internal deposit address for the supported chain.
- Your customer sends the stablecoins from their external wallet to that Brale internal address.
- Wait until the on-chain deposit is confirmed and the funds are held in the Brale internal address.
- Submit the stablecoin-to-fiat transfer using that internal address as the source and the customer’s bank address as the destination.
- Brale burns or converts the stablecoins and sends USD to the destination bank account.
https://api.brale.xyz/accounts/account_id/transfers
Request
Brale cannot redeem directly from an external wallet it does not control. The stablecoins must first be received into a Brale internal address so Brale can complete the redemption and fiat payout flow.