Access and activation
Fiat deposit URL permission errors
Fiat deposit URL permission errors
POST /api/v4/main-account/fiat-deposit-url endpoint requires per-account activation and is not enabled by default. Request access through the account manager and provide the API key. Fiat operations also depend on completed Phase 2 institutional onboarding — see How to get started.KYC requirement for fiat withdrawals
KYC requirement for fiat withdrawals
Fiat deposits
SEPA deposit matching by payment reference
SEPA deposit matching by payment reference
uniqueId submitted in the fiat-deposit-url request must appear in the SEPA payment-reference field of the bank transfer. The transfer comes only from the partner’s own KYB’d bank account. WhiteBIT uses that string to match the incoming settlement to the original deposit request. A transfer without the reference, or with an altered one, may settle unmatched. See SEPA payment reference.Provider value for SEPA EUR deposits
Provider value for SEPA EUR deposits
provider value from the Asset Status response, and confirm the enabled provider for SEPA EUR deposits on the account with the account manager.VISAMASTER Referer header requirement
VISAMASTER Referer header requirement
Referer header when opening the invoice link. Messengers and email clients often strip the header, and without it WhiteBIT redirects the end user to the homepage instead of the payment provider. Test the redirect in the real delivery surface — mobile app, email link, or in-app web view — before go-live. See Card-provider flows.Fiat currencies not depositable via API
Fiat currencies not depositable via API
can_deposit in the Asset Status response before generating an invoice; tickers without API deposit support run through the WhiteBIT web interface.Fiat withdrawals
Fee handling in /withdraw and /withdraw-pay
Fee handling in /withdraw and /withdraw-pay
POST /api/v4/main-account/withdraw treats amount as including the fee, so the recipient receives amount - fee. POST /api/v4/main-account/withdraw-pay charges the fee on top, so the recipient receives the exact amount specified. Select the endpoint that matches whether the specified amount is the debit or the credit.Partial fiat withdrawals (status 18)
Partial fiat withdrawals (status 18)
partialEnable: true raises the maximum limit for fiat withdrawals. Part of the withdrawal can then succeed, surfacing as the Partially successful status (18). The application must reconcile requestAmount against processedAmount in the history record and surface the remainder to operations. See the failure and exception paths.Reconciliation and monitoring
Webhook delivery and replay behavior
Webhook delivery and replay behavior
POST /api/v4/main-account/history (transactionMethod: 1 for deposits, 2 for withdrawals) on a regular cycle, and deduplicate against received events. See Webhooks and the reconciliation pattern.Transaction identifier casing across the API
Transaction identifier casing across the API
Webhook source IP allowlisting
Webhook source IP allowlisting
Fiat settlement timing
Fiat settlement timing
Conversion
Convert across the fiat and crypto legs
Convert across the fiat and crypto legs
POST /api/v4/convert/estimate, then execute it with POST /api/v4/convert/confirm before the quote expires. Convert through the API uses the Trade balance: transfer the funds from Main to Trade before the conversion, and transfer the converted amount back to Main before the withdrawal. See Convert balances.Compliance
Travel Rule holds on inbound deposits (EEA and Turkey)
Travel Rule holds on inbound deposits (EEA and Turkey)
USDT alternatives for EEA accounts (MiCA)
USDT alternatives for EEA accounts (MiCA)