Skip to main content
We’ve expanded the Transfers endpoint to support both 2nd and 3rd party ACH transfers and outbound domestic wire payouts. When Brale initiates a transfer on behalf of your business or your customer’s business, 2nd/3rd-party branding ensures the receiver sees the intended business name instead of “Brale”. On ACH, brand controls the name on the receiver’s bank statement line item. On outbound wires, brand selects the sender (originator) of the wire. Branded transfers are supported for ach_debit, ach_credit, same_day_ach_credit, and outbound wire payouts (destination.transfer_type: "wire"). Branding is not supported for rtp_credit or fednow_credit. To learn more and see a demo, schedule a meeting to talk to sales.

Creating 2nd/3rd Party Transfers branded transfers

POST https://api.brale.xyz/accounts/account_id/transfers Use the brand object to control the business name displayed to the receiver. Pass the target account inside the request body under brand.account_id. The brand.account_id is the Account whose name should appear to the receiver.
  • account_id: aB3hJkL9mN2PqRsTuvWxyz1234 = Company 1
    • Your business
  • account_id: 34fcsGrCgN0Z9zC1v55eP0I6AKW = Company 2
    • Your customer
If you omit brand, the transfer uses your default branding. brand and ach_description are independent. brand controls who the ACH payment is from. ach_description controls the short description shown after the sender name on the recipient’s bank statement. Set it as destination.ach_description for ach_credit and same_day_ach_credit payouts, or source.ach_description for ach_debit. See What recipients see on ACH for character limits and defaults.
Definitions
  • 2nd-party: You are the brand (display name = your business).
  • 3rd-party: Your customer’s business is the brand (display name = your customer).

Example of a 2nd Party Transfer (brand = your business)

POST https://api.brale.xyz/accounts/account_id/transfers brand.account_id = aB3hJkL9mN2PqRsTuvWxyz1234 (Company 1) The receiver will see Company 1 as the name on the ach_debit transaction.
Request
Response

Example of a 3rd Party Transfer (Company 2 = your customer)

POST https://api.brale.xyz/accounts/account_id/transfers brand.account_id = 34fcsGrCgN0Z9zC1v55eP0I6AKW (Company 2) The receiver will see Company 2 as the originator name on the ach_debit transaction.
Request
Response

Branded outbound wires

You can brand an outbound domestic wire payout with the same top-level brand object. brand.account_id selects the verified Account identity used as the wire sender (originator). It is not free-form display-name text. A branded wire request involves three different parties: Branding only changes the sender identity on the wire. It does not change which Account funds the transfer, who owns the source or destination, custody, or the existing payout eligibility and verification requirements. If you omit brand, the wire is sent unbranded, as before. You do not need to create an Automation or set up a separate funding account to send a branded wire. brand and destination.wire_memo are independent. brand controls who the wire is from. destination.wire_memo controls the payment reference text sent with the wire. Pass an explicit wire_memo when the recipient needs a specific reference.

Example of a branded wire payout (Company 2 = your customer)

POST https://api.brale.xyz/accounts/{account_id}/transfers In this example, your business account in the URL funds the payout from its internal Address, and the wire is sent with Company 2 as the sender.
Request
  • source.address_id is a funded internal Address on the Account in the URL. source.value_type and source.transfer_type match the token and network it holds.
  • destination.address_id is an external bank Address with wire in its transfer_types.
  • destination.transfer_type is wire and destination.value_type is USD.
Creating the Transfer does not mean the wire has settled. Processing a branded wire can take longer while Brale prepares the brand Account’s sender identity. Keep tracking the original Transfer while it is pending instead of creating a replacement, and reuse the same Idempotency-Key if you retry the same request. See Stablecoin to fiat offramp to create the recipient’s wire-capable bank Address and to track the payout with destination.payment_details.imad, returns, and refunds.

Brand account errors

When you create a branded transfer, Brale can reject the request if the Account in brand.account_id can’t be used as a brand: Brale does not store the 422 brand_account_update_required or 503 brand_identity_unavailable response for the Idempotency-Key. The same request succeeds once support fixes the brand Account or the service recovers.