Log in

Transfers enable the movement of funds between fiat and stablecoins, stablecoin-to-stablecoin conversions, and stablecoin-to-fiat transactions.

Each transfer requires both a source and a destination, which can be:

  • Fiat sources (e.g., a bank account for ACH or wire)
  • On-chain wallet addresses

Each source and destination includes:

  • value_type - The currency being transferred (USD, USDC, USDT, MXN, etc.)
  • transfer_type- The payment rail used (Wire, ACH, Polygon, Solana, SPEI, etc.)

USD to Stablecoin (Wire Transfer)

Accept a USD deposit to mint stablecoins.

POST https://api.brale.xyz/transfers

curl --request POST \
  --url https://api.brale.xyz/transfers \
  --header 'Content-Type: application/vnd.api+json' \
  --header 'Idempotency-Key: ABC_123_XYZ' \
  --header 'authorization: Bearer YOUR_TOKEN' \
  --data '{
	"data": {
		"amount": "10000.00",
		"source": {
			"value_type": "usd",
			"transfer_type": "wire"
		},
		"destination": {
			"address_id": "d7bd28e4-93e6-4313-880c-ab9178eacd3b",
			"value_type": "ysbc",
			"transfer_type": "solana"
		}
}'

Response

When initiating a fiat to stablecoin transfer via wire, we will return a set of wire_instructions so you can provide them to your customer.

{
  "id": "transfer_123",
  "status": "pending",
  "amount": "10000.0",
  "source": {
    "transfer_type": "wire",
    "value_type": "usd"
  },
  "destination": {
    "transfer_type": "polygon",
    "value_type": "ysbc",
    "address_id": "d7bd28e4-93e6-4313-880c-ab9178eacd3b"
  },
  "wire_instructions": {
    // ...Brale bank details
  }

Stablecoin to USD (Wire Offramp or Payout)

Offramp your stablecoin to USD via wire transfer.

POST https://api.brale.xyz/transfers

{
	"amount": "100.00", 
	"source_address": {
		"address_id": "d7bd28e4-93e6-4313-880c-ab9178eacd3b", 
		"value_type": "ysbc", 
		"transfer_type": "Polygon"
	}, 
	"destination_bank": {
		"bank_id": "bank_12345", 
		"value_type": "USD", 
		"transfer_type": "wire",
		"originator_info": "Invoice #456",
	  "statement_descriptor": "BRL*Transaction",
	  "ultimate_creditor": "Jane Doe"
	}
}

Stablecoin Swaps

Swap USDC to your own stablecoin (YSBC). All stablecoin swaps are 1:1 with no slippage.

POST https://api.brale.xyz/transfers

{
	"amount": "100", 
	"source_address": {
		"address_id": "string", 
		"value_type": "USDC", 
		"transfer_type": "Solana"
	}, 
	"destination_address": {
		"address_id": "d7bd28e4-93e6-4313-880c-ab9178eacd3b", 
		"value_type": "YSBC", 
		"transfer_type": "Solana" 
	}
}

Stablecoin Payout

Process stablecoin payouts to one or many external addresses (EOAs).

POST https://api.brale.xyz/transfers

{
	"amount": "500.00", 
	"source_address": {
		"address_id": "d7bd28e4-93e6-4313-880c-ab9178eacd3b", 
		"value_type": "USDC", 
		"transfer_type": "Polygon"
	}, 
	"destination_address": {
		"address_id": "recipient_wallet_id", 
		"value_type": "USDC", 
		"transfer_type": "Polygon" 
	}
}

Transfer Statuses

Transfers can progress through the following statuses:

  • Pending - The transfer has been submitted but is not yet in progress. This may be due to Brale waiting for funds (e.g., fiat-to-stablecoin wire transfer) or an ongoing review.
  • Processing - The transfer is in progress
  • Complete - The transfer is finalized and funds have arrived at the destination.
  • Canceled - The transfer has been canceled
  • Failed - An issue prevented Brale from completing the transfer. Manual intervention may be required.

Transfer Flow - A transfer will progress from pending → processing → complete.


Transfer Limits

  • Inbound ACH transactions are limited to $50,000 per transaction
  • There are no limits for wire or stablecoin transactions