Withdraw
POST
/api/wallet/withdraw
⚷
Bearer Token
Запросить вывод средств
Инициирует вывод указанной суммы на внешний адрес. Операция асинхронная — сразу возвращается транзакция в статусе
pending, далее обрабатывается compliance + broadcast в сеть. Финальный статус приходит через webhook.Request body
| Name | Type | Required | Description |
|---|---|---|---|
currency
|
string
|
required | Валюта вывода. |
network
|
string
|
required | Сеть. Влияет на комиссию. |
amount
|
string (decimal)
|
required | Сумма к получению (не включая комиссию). |
address
|
string
|
required | Адрес получателя. Валидируется на формат + checksum для сети. |
memo
|
string
|
optional | Memo/tag для XRP, XLM, EOS. Игнорируется для других сетей. |
two_factor_code
|
string
|
required | 6-значный TOTP. Обязателен для вывода >$100 даже если 2FA не включён глобально. |
description
|
string
|
optional | Внутренняя пометка для истории (видна только пользователю). |
external_id
|
string
|
optional | Ваш внутренний ID операции для сверки. |
⚠
Idempotency обязателен
Всегда передавайте заголовок Idempotency-Key: {uuid} при выводе. Без него повтор запроса (например, после network timeout) может привести к двойному выводу.
Response
Responses
{
"data": {
"id": "tx_5f8d7a3c-1234-4567-89ab-cdef01234567",
"type": "withdraw",
"status": "pending",
"amount": "50.000000",
"currency": "USDT",
"network": "TRC20",
"fee": "1.000000",
"fee_currency": "USDT",
"to_address": "TRecipientAddress...",
"created_at": "2026-05-27T14:23:00Z",
"estimated_completion": "2026-05-27T14:25:00Z",
"links": {
"self": "https://fin-os.io/api/transactions/tx_5f8d..."
}
}
}
{
"message": "Insufficient balance.",
"error_code": "INSUFFICIENT_BALANCE",
"details": {
"requested": "50.000000",
"available": "23.500000",
"currency": "USDT"
}
}
{
"message": "Recipient address is sanctioned.",
"error_code": "SANCTION_HIT",
"details": {
"screening_provider": "internal_aml",
"category": "OFAC_SDN"
}
}
{
"message": "KYC level 2+ required for withdrawals.",
"error_code": "KYC_REQUIRED"
}
{
"message": "Idempotency key conflict.",
"error_code": "IDEMPOTENCY_CONFLICT"
}
Lifecycle
- 202 Accepted — операция принята, баланс заблокирован.
- Compliance check (5-30 сек) — проверка AML, санкций, лимитов.
- Broadcasting — транзакция отправлена в сеть,
tx_hashдоступен. - Confirming — ждём подтверждений сети (TRC20: 1, BTC: 2, ETH: 12).
- Completed — финализирована. Webhook
wallet.withdraw.completed.
Лимиты вывода
| Name | Type | Required | Description |
|---|---|---|---|
KYC L1
|
$0
|
optional | Вывод запрещён. |
KYC L2
|
$10,000/день, $50,000/месяц
|
optional | Стандартный лимит. |
KYC L3
|
без лимитов
|
optional | Subject to AML monitoring. |
OTC partner
|
$1,000,000/день
|
optional | Специальный профиль для B2B-клиентов. |