Asset Status List
curl --request GET \
--url https://whitebit.com/api/v4/public/assetsimport requests
url = "https://whitebit.com/api/v4/public/assets"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://whitebit.com/api/v4/public/assets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://whitebit.com/api/v4/public/assets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://whitebit.com/api/v4/public/assets"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://whitebit.com/api/v4/public/assets")
.asString();require 'uri'
require 'net/http'
url = URI("https://whitebit.com/api/v4/public/assets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"BTC": {
"name": "Bitcoin",
"unified_cryptoasset_id": 1,
"can_withdraw": true,
"can_deposit": true,
"min_withdraw": "0.001",
"max_withdraw": "2",
"maker_fee": "0.1",
"taker_fee": "0.1",
"min_deposit": "0.0001",
"max_deposit": "0",
"currency_precision": 18,
"is_memo": false,
"memo": {
"deposit": false,
"withdraw": false
},
"networks": {
"deposits": [
"BTC"
],
"withdraws": [
"BTC"
],
"default": "BTC"
},
"limits": {
"deposit": {
"BTC": {
"min": "0.001"
}
},
"withdraw": {
"BTC": {
"min": "0.002"
}
}
},
"confirmations": {
"BTC": 2
},
"confirmations_for_trading": {
"BTC": 1
}
},
"USDT": {
"name": "Tether US",
"unified_cryptoasset_id": 825,
"can_withdraw": true,
"can_deposit": true,
"min_withdraw": "5",
"max_withdraw": "0",
"maker_fee": "0.1",
"taker_fee": "0.1",
"min_deposit": "0",
"max_deposit": "0",
"currency_precision": 6,
"is_memo": false,
"memo": {
"deposit": false,
"withdraw": false
},
"networks": {
"deposits": [
"ERC20",
"TRC20",
"OMNI",
"BEP20"
],
"withdraws": [
"ERC20",
"TRC20",
"OMNI",
"BEP20"
],
"default": "ERC20"
},
"limits": {
"deposit": {
"ERC20": {
"min": "5",
"max": "1000"
},
"TRC20": {
"min": "5"
}
},
"withdraw": {
"ERC20": {
"min": "10",
"max": "1000"
},
"TRC20": {
"min": "10"
}
}
},
"confirmations": {
"ERC20": 20,
"TRC20": 20
},
"confirmations_for_trading": {
"ERC20": 6,
"TRC20": 6
}
}
}{
"success": false,
"message": "Internal server error.",
"errors": []
}Asset status list
The endpoint retrieves the deposit and withdrawal status for every supported asset. Use the response to check whether deposits and withdrawals are enabled, read per-network fee and limit details, and determine required blockchain confirmation counts. The response includes crypto assets, fiat currencies, and fiat payment methods.
Asset status is reference data, re-synced approximately once per minute. Polling more frequently returns identical data. The cache is shared across all callers.
Rate limit: 2000 requests/10 sec. See Public API V4 overview for rate limit details.
GET
/
api
/
v4
/
public
/
assets
Asset Status List
curl --request GET \
--url https://whitebit.com/api/v4/public/assetsimport requests
url = "https://whitebit.com/api/v4/public/assets"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://whitebit.com/api/v4/public/assets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://whitebit.com/api/v4/public/assets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://whitebit.com/api/v4/public/assets"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://whitebit.com/api/v4/public/assets")
.asString();require 'uri'
require 'net/http'
url = URI("https://whitebit.com/api/v4/public/assets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"BTC": {
"name": "Bitcoin",
"unified_cryptoasset_id": 1,
"can_withdraw": true,
"can_deposit": true,
"min_withdraw": "0.001",
"max_withdraw": "2",
"maker_fee": "0.1",
"taker_fee": "0.1",
"min_deposit": "0.0001",
"max_deposit": "0",
"currency_precision": 18,
"is_memo": false,
"memo": {
"deposit": false,
"withdraw": false
},
"networks": {
"deposits": [
"BTC"
],
"withdraws": [
"BTC"
],
"default": "BTC"
},
"limits": {
"deposit": {
"BTC": {
"min": "0.001"
}
},
"withdraw": {
"BTC": {
"min": "0.002"
}
}
},
"confirmations": {
"BTC": 2
},
"confirmations_for_trading": {
"BTC": 1
}
},
"USDT": {
"name": "Tether US",
"unified_cryptoasset_id": 825,
"can_withdraw": true,
"can_deposit": true,
"min_withdraw": "5",
"max_withdraw": "0",
"maker_fee": "0.1",
"taker_fee": "0.1",
"min_deposit": "0",
"max_deposit": "0",
"currency_precision": 6,
"is_memo": false,
"memo": {
"deposit": false,
"withdraw": false
},
"networks": {
"deposits": [
"ERC20",
"TRC20",
"OMNI",
"BEP20"
],
"withdraws": [
"ERC20",
"TRC20",
"OMNI",
"BEP20"
],
"default": "ERC20"
},
"limits": {
"deposit": {
"ERC20": {
"min": "5",
"max": "1000"
},
"TRC20": {
"min": "5"
}
},
"withdraw": {
"ERC20": {
"min": "10",
"max": "1000"
},
"TRC20": {
"min": "10"
}
}
},
"confirmations": {
"ERC20": 20,
"TRC20": 20
},
"confirmations_for_trading": {
"ERC20": 6,
"TRC20": 6
}
}
}{
"success": false,
"message": "Internal server error.",
"errors": []
}Notes
Asset type classification
The endpoint returns three structurally distinct asset types. Use the presence or absence of theconfirmations and providers fields to classify each asset.
| Asset type | confirmations field | providers field |
|---|---|---|
| Crypto asset | Present | Absent |
| Fiat currency | Absent | Present (may be empty) |
| Fiat payment method | Absent | Absent |
BTC, ETH, USDT) include a confirmations object with required blockchain confirmation counts per network.
Fiat currencies (e.g., EUR, USD, UAH) include a providers object listing available payment processors. The providers field is present even when the list is empty.
Fiat payment methods (e.g., EUR_ADVCASH, USD_VISAMASTER) represent individual payment channels. These entries include neither confirmations nor providers. The network identifier in the networks field matches the asset ticker.
Deposit confirmation thresholds
A crypto network can have two confirmation counts, and a deposit becomes usable in two steps.| Field | Reached at | What the deposit can be used for |
|---|---|---|
confirmations_for_trading | Earlier | Trading only. The amount cannot be withdrawn, transferred to a collateral balance, or used as collateral. |
confirmations | Later | Everything, including withdrawal, transfer, and collateral operations. |
confirmations is listed in confirmations_for_trading too. Where a network has no earlier threshold, or while the platform has early trading availability switched off, the two values are equal — trading then opens at the same point as withdrawal. Compare the values rather than checking whether the field is there, and read them on every poll rather than caching them as a static setting.
Used in these guides
- On/Off-Ramp integration — corporate fiat ↔ crypto over EUR/SEPA rails.
- On/Off-Ramp overview — the per-currency provider matrix confirmed during onboarding.
- On/Off-Ramp FAQ — provider values and
can_depositflags for SEPA and card deposits. - Payment Integration — crypto deposits, withdrawals, conversion, WhiteBIT Codes, and Express Withdraw.
- Wallet-as-a-Service integration — programmatic wallets and payouts for businesses.
- Wallet-as-a-Service FAQ — per-asset minimums before testing signed calls.
- Embedded Trading integration guide — per-asset minimums before placing sub-account orders.
Response
Successful response
Show child attributes
Show child attributes
Was this page helpful?