Common Automation Flows
- Fiat to Stablecoin (Onramp) - Automatically mints stablecoins when a fiat deposit is received.
- Stablecoin to Fiat (Offramp) - Automatically converts stablecoins to fiat and withdraws to a bank account. (Coming Q3 2026)
- Stablecoin to Stablecoin (Swap) - Automatically swaps one stablecoin for another. (Coming Q3 2026)
Onramp Automation with Virtual Accounts
Automations provide a unique account number and routing number for wire transfers and ACH deposits. When funds are received, stablecoins are automatically minted to a pre-defined wallet address. Businesses can use automations to direct unique pre-funding coordinates to their customers, which mint stablecoins in a customer’s wallet. Here’s what happens end-to-end when you use an onramp automation:- Create the automation
You definesource.value_typeasUSDand set adestinationwallet and stablecoin (e.g.,SBConsolana) via the API or Dashboard. - Virtual account is provisioned
Brale provisions a virtual account and populatessource.funding_instructionswith bank details (routing number, account number, bank name, beneficiary). - Customer sends funds
You share those bank details with your customer. They send a wire or ACH to the virtual account - no additional API call is required. - Stablecoins are minted automatically
When funds arrive, Brale automatically creates aTransfer(USD → stablecoin), mints the stablecoin, and sends it to thedestination.address_idconfigured on the automation. - Track activity via Transfers
You can reconcile and monitor all onramp activity by querying Transfers for the account:
GET /accounts/{account_id}/transfers.
Transfers created by automations includesource.payment_detailswhen Brale has underlying payment metadata to expose. Use this to identify the sender and reconcile inbound fiat payments. See Transfers —source.payment_detailsfor details.
Creating an Automation
Create an automation to receive USD and automatically mint SBC to a Solana wallet. POSThttps://api.brale.xyz/accounts/{account_id}/automations
Request
Response
source.funding_instructions object is populated with the virtual account’s bank details (routing number, account number, beneficiary name, etc.). These are the coordinates you share with your customer to fund the automation.
Branded Automations
Branded Automations let you select the verified identity (business or individual) shown as the beneficiary on funding instructions for a virtual account. Add abrand object to the create request to control which account name appears on funding instructions:
Behavior:
- If
brandis omitted, the beneficiary on funding instructions remains Brale. - If
brand.account_idreferences a business account,beneficiary_nameandbeneficiary_addressshow the business name and address. - If
brand.account_idreferences an individual account,beneficiary_nameandbeneficiary_addressshow the individual’s legal name and address. - The automation is still created under the account in the request path.
brand.account_idselects the identity rendered on the funding instructions; it does not change which account owns the automation.
Request (business brand)
Request (individual brand)
beneficiary_name and beneficiary_address in source.funding_instructions reflect that account’s verified identity — the business name and address for a business account, or the individual’s legal name and address for an individual account. See Individual accounts for how to create an individual account whose identity can be used as a brand.
Testnet Behavior
Automations created on testnet deployments are fully functional for testing purposes, but no real banking account is provisioned. Instead of live banking coordinates, Brale returns placeholder account details in
source.funding_instructions. Deposits sent to these coordinates will not be processed, and no actual funds movement occurs.Listing Automations for a Customer
Retrieve all automations associated with a customer Account. GEThttps://api.brale.xyz/accounts/{account_id}/automations
Response
Retrieve an Automation
Retrieve a specific Automation. GEThttps://api.brale.xyz/accounts/{account_id}/automations/{automation_id}
Response
Archive an Automation
Automations can be archived when they are no longer needed. Archiving permanently closes the automation’s virtual account — no further deposits will be processed — and removes the Stripe billing seat for the automation. PATCHhttps://api.brale.xyz/accounts/{account_id}/automations/{automation_id}
Request
Response
automations:write