End-to-end flow
1. Merchant onboarding
Create a merchant organisation:verification_url and complete KYC.
Check the onboarding status using:
2. Authentication
Signed merchant requests use these headers:SIGNING_SECRET.
Use the partner credentials for /partners/orgs. After onboarding, use the new merchant organisation’s credentials for account, deposit, swap, and withdrawal requests.
ZBX will provide test credentials separately. Credentials must not be committed to source control or shared through an unsecured channel.
Retrieve the signing secret when credentials are first configured or after the secret is rotated:
Test environment
A test organisation can be prepared with the required fiat and crypto accounts and API credentials. Use the providedAPI_KEY and SIGNING_SECRET to test the account, balance, deposit-address, swap, and withdrawal APIs.
The organisation onboarding and KYC steps are included separately to demonstrate how you onboard new merchants.
API overview
Paths are relative to
https://mapi.zbx.boomfi.xyz/v1.
3. Accounts and balances
Use these requests to inspect the merchant’s account structure:- Get Account returns the virtual account and its fiat and crypto accounts.
- Get Balances returns their current balances.
- List Account Movements returns incoming and outgoing movements for the selected account and its subaccounts, including deposits, swaps, and withdrawals.
GET /accounts/virtual.
4. Crypto deposits
Create or retrieve a permanent crypto deposit address:The complete on-chain deposit flow depends on sandbox network and test-token
support. Confirm the supported network and token before testing.
5. Asset swaps
Both directions are included:- Crypto to fiat
- Fiat to crypto
deposit_account_id: account holding the asset being sold.settlement_account_id: account receiving the purchased asset.
6. Fiat withdrawal
First, whitelist the beneficiary’s external bank account:paymentId:
travel_rule: prefix to open the form and provide the requested information. After the information is submitted and accepted, processing can continue. Call the payment-detail endpoint again to obtain the latest status.
To cancel an eligible withdrawal:
Request values
Configure these values before you run the flow:
IDs that appear in examples are test values. Replace them with values returned by earlier requests.