Per-address auto-settlement (via API)
This applies to individual wallet addresses. When you generate a crypto wallet address through the API, you can enable auto-settlement on that specific address. Once enabled, every deposit to that address is automatically converted and paid out to the bank account linked to it. Without per-address auto-settlement, crypto deposits are received, converted, and held in your chosen wallet currency (USD, NGN, or GHS). You can view the balance on your dashboard. You can set your preferred currency from the dashboard under Settings > Crypto Settings. You must then manually initiate a withdrawal. With per-address auto-settlement enabled, the entire flow from crypto receipt through currency conversion to bank payout happens automatically for that address.Business-wide auto-settlement (via dashboard)
This applies to your entire business. You can activate it from your dashboard under Settings > Automatic Settlement. Once turned on, after every transaction across all your wallet addresses, a withdrawal is automatically placed for you to a single destination of your choice. The destination can be a bank account (NGN or GHS) or a stablecoin address. This means all deposits to all addresses funnel to one place, regardless of which address received the crypto.How per-address auto-settlement works
Customer sends crypto
A customer sends crypto (e.g. BTC, USDT) to a wallet address generated via your integration.
Crypto is converted to USD
The crypto is converted to USD at the current market rate and the sell is marked as completed.
Auto-settlement kicks in
If the wallet has auto-settlement enabled and a linked bank account:
- The USD amount is converted to local currency (NGN or GHS) using the current
settlementRate. - If your integration has a
markupPercentconfigured, the markup is deducted from the converted amount. - The remaining amount (
amountSettled) is sent to the linked bank account.
Prerequisites
Before per-address auto-settlement can work, complete these steps in order:Generate a wallet address with bank details
Pass bank details during address generation to automatically link the bank to the wallet.
If you need to change the linked bank account later, use
PUT /trades/wallets/{id}/bank.Enable auto-settlement
422 Unprocessable Entity.Comparison
| Per-address (API) | Business-wide (Dashboard) | |
|---|---|---|
| Scope | Individual wallet address | All wallet addresses |
| Setup | Enable via API per address | Toggle in Settings > Automatic Settlement |
| Destination | Bank account linked to that address | One destination for your entire business |
| Destination type | Bank account (NGN or GHS) | Bank account (NGN or GHS) or stablecoin address |
| Scenario | What happens |
|---|---|
| Both off | Crypto is received and converted to your chosen wallet currency (USD, NGN, or GHS). Funds remain in your wallet balance. You withdraw manually from the dashboard when ready. |
| Per-address on | Deposits to that address are automatically converted and paid out to its linked bank account. Webhook includes settlement fields. |
| Business-wide on | After every transaction across all addresses, a withdrawal is automatically placed to your configured destination. |
Settlement calculation
Given a crypto deposit that converts to 100 USD, with asettlementRate of 1600 (NGN per USD), a settlementConversionRate of 1 (Nigeria), and a markupPercent of 2.5%:
settlementConversionRate.
Webhook payload with auto-settlement
When a trade completes and auto-settlement is applied, the webhook payload includes these additional fields:| Field | Type | Description |
|---|---|---|
markupPercent | number | The percentage markup configured on your integration (e.g. 2.5). |
markupAmount | number | The absolute amount deducted as markup from the converted local currency amount. |
amountSettled | number | The final amount paid out to the linked bank account, after markup deduction. |
settlementRate | number | The exchange rate used to convert USD to the base local currency (NGN). |
settlementConversionRate | number | The conversion rate applied when settling in a secondary currency (e.g. NGN to GHS). For Nigerian accounts this is 1. |
Auto-settlement works with or without a markup configured. When a markup percentage is set, these fields are populated with the calculated values. When no markup is set, the full converted amount is settled and these fields default to
0.Example webhook (auto-settlement enabled)
Summary
- Per-address auto-settlement: Link a bank to a wallet address, enable auto-settlement on it, and every deposit to that address is automatically converted and paid out to the linked bank account. You can optionally set a markup percentage as your revenue margin.
- Business-wide auto-settlement: Toggle it on from the dashboard, set a single destination, and all deposits across all addresses are automatically settled there.
- No auto-settlement: Crypto deposits are received, converted, and held in your chosen wallet currency (USD, NGN, or GHS). You withdraw manually when ready.