curl --request GET \
--url https://api.vitawallet.io/api/businesses/networks \
--header 'Authorization: <api-key>' \
--header 'x-date: <api-key>' \
--header 'x-login: <api-key>' \
--header 'x-trans-key: <api-key>'import requests
url = "https://api.vitawallet.io/api/businesses/networks"
headers = {
"x-login": "<api-key>",
"x-trans-key": "<api-key>",
"x-date": "<api-key>",
"Authorization": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-login': '<api-key>',
'x-trans-key': '<api-key>',
'x-date': '<api-key>',
Authorization: '<api-key>'
}
};
fetch('https://api.vitawallet.io/api/businesses/networks', 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://api.vitawallet.io/api/businesses/networks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"x-date: <api-key>",
"x-login: <api-key>",
"x-trans-key: <api-key>"
],
]);
$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://api.vitawallet.io/api/businesses/networks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-login", "<api-key>")
req.Header.Add("x-trans-key", "<api-key>")
req.Header.Add("x-date", "<api-key>")
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.vitawallet.io/api/businesses/networks")
.header("x-login", "<api-key>")
.header("x-trans-key", "<api-key>")
.header("x-date", "<api-key>")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vitawallet.io/api/businesses/networks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-login"] = '<api-key>'
request["x-trans-key"] = '<api-key>'
request["x-date"] = '<api-key>'
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"currencies": [
{
"currency": "USDC",
"networks": [
{
"id": 1,
"name": "BNB Smart Chain (BEP20)",
"key_name": "BSC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 10000000000,
"withdraw_fee": 0.29,
"decimal_withdrawal": 1e-8
}
},
{
"id": 4,
"name": "Ethereum (ERC20)",
"key_name": "ETH",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 50,
"withdraw_max": 10000000000,
"withdraw_fee": 4,
"decimal_withdrawal": 0.000001
}
},
{
"id": 5,
"name": "Polygon",
"key_name": "MATIC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 1000000000,
"withdraw_fee": 1,
"decimal_withdrawal": 0.000001
}
},
{
"id": 11,
"name": "Polygon",
"key_name": "POLY",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 1000000000,
"withdraw_fee": 1,
"decimal_withdrawal": 0.000001
}
},
{
"id": 6,
"name": "Solana",
"key_name": "SOL",
"address_regex": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"configuration": {
"withdraw_min": 2,
"withdraw_max": 9999999,
"withdraw_fee": 1,
"decimal_withdrawal": 0.000001
}
},
{
"id": 7,
"name": "Tron (TRC20)",
"key_name": "TRX",
"address_regex": "^T[1-9A-HJ-NP-Za-km-z]{33}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 10000000000,
"withdraw_fee": 0.8,
"decimal_withdrawal": 0.000001
}
}
]
},
{
"currency": "USDT",
"networks": [
{
"id": 1,
"name": "BNB Smart Chain (BEP20)",
"key_name": "BSC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 10000000000,
"withdraw_fee": 0.29,
"decimal_withdrawal": 1e-8
}
},
{
"id": 10,
"name": "Ethereum Sepolia",
"key_name": "ETHSEP",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 3,
"withdraw_max": 10000000000,
"withdraw_fee": 4,
"decimal_withdrawal": 0.000001
}
},
{
"id": 6,
"name": "Solana",
"key_name": "SOL",
"address_regex": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"configuration": {
"withdraw_min": 2,
"withdraw_max": 9999999,
"withdraw_fee": 1,
"decimal_withdrawal": 0.000001
}
},
{
"id": 7,
"name": "Tron (TRC20)",
"key_name": "TRX",
"address_regex": "^T[1-9A-HJ-NP-Za-km-z]{33}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 10000000000,
"withdraw_fee": 0.8,
"decimal_withdrawal": 0.000001
}
}
]
},
{
"currency": "BTC",
"networks": [
{
"id": 1,
"name": "BNB Smart Chain (BEP20)",
"key_name": "BSC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 0.0004,
"withdraw_max": 4000,
"withdraw_fee": 0.0001,
"decimal_withdrawal": 1e-8
}
},
{
"id": 8,
"name": "Bitcoin",
"key_name": "BTC",
"address_regex": "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^[(bc1q)|(bc1p)][0-9A-Za-z]{37,62}$",
"configuration": {
"withdraw_min": 0.0004,
"withdraw_max": 4000,
"withdraw_fee": 0.0001,
"decimal_withdrawal": 1e-8
}
}
]
}
]
}Get available networks
Before creating any crypto payout to an external blockchain address, you must consult this endpoint to discover:
-
Which networks are available for each cryptocurrency active in your account.
-
The minimum and maximum amounts allowed per network.
-
The withdrawal fee charged by each network.
-
The decimal precision allowed for amounts.
-
The regex pattern to validate destination addresses client-side.
Key Features
-
Automatic detection: No need to specify which currencies to query — the endpoint returns networks for all cryptocurrencies you have active.
-
Multi-network support: Returns options for Bitcoin, Lightning Network, Ethereum, Tron, Polygon, BNB Smart Chain, Solana, and more.
-
Configuration details: Includes minimum/maximum amounts, fees, and decimal precision per network.
-
Address validation: Each network includes a regex pattern (
address_regex) so your integration can validate addresses before submitting. -
Real-time: Returns only enabled networks with active configurations at the moment of the call.
Request Example
curl --location 'https://api.vitawallet.io/api/businesses/networks' \
--header 'Content-Type: application/json'
Response Structure
The response returns a currencies array. Each currency object includes the list of networks where it can be sent.
| Field | Description |
|---|---|
currency | Cryptocurrency code (e.g., "USDT", "USDC", "BTC"). |
networks | Array of supported networks for this currency. |
For each network:
| Field | Description |
|---|---|
id | Unique network identifier — use this value as network_id in Step 2. |
name | Human-readable network name (e.g., "Ethereum (ERC20)", "Tron (TRC20)"). |
key_name | Short network code (e.g., "BSC", "ETH", "TRX", "SOL"). |
address_regex | Regex pattern to validate destination addresses for this network. |
configuration.withdraw_min | Minimum amount allowed per transaction. |
configuration.withdraw_max | Maximum amount allowed per transaction. |
configuration.withdraw_fee | Network fee charged for the withdrawal, expressed in the currency being sent. |
configuration.decimal_withdrawal | Smallest allowed decimal unit for the amount. |
Response Example
{
"currencies": [
{
"currency": "USDC",
"networks": [
{
"id": 1,
"name": "BNB Smart Chain (BEP20)",
"key_name": "BSC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": "10.0",
"withdraw_max": "10000000000.0",
"withdraw_fee": "0.29",
"decimal_withdrawal": "0.00000001"
}
},
{
"id": 4,
"name": "Ethereum (ERC20)",
"key_name": "ETH",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": "50.0",
"withdraw_max": "10000000000.0",
"withdraw_fee": "4.0",
"decimal_withdrawal": "0.000001"
}
},
{
"id": 7,
"name": "Tron (TRC20)",
"key_name": "TRX",
"address_regex": "^T[1-9A-HJ-NP-Za-km-z]{33}$",
"configuration": {
"withdraw_min": "10.0",
"withdraw_max": "10000000000.0",
"withdraw_fee": "0.8",
"decimal_withdrawal": "0.000001"
}
}
]
},
{
"currency": "USDT",
"networks": [
{
"id": 1,
"name": "BNB Smart Chain (BEP20)",
"key_name": "BSC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": "10.0",
"withdraw_max": "10000000000.0",
"withdraw_fee": "0.29",
"decimal_withdrawal": "0.00000001"
}
},
{
"id": 6,
"name": "Solana",
"key_name": "SOL",
"address_regex": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"configuration": {
"withdraw_min": "2.0",
"withdraw_max": "9999999.0",
"withdraw_fee": "1.0",
"decimal_withdrawal": "0.000001"
}
}
]
}
]
}
Important Considerations
-
Same currency, multiple networks: The same cryptocurrency (e.g., USDT) can be sent on multiple networks, each with different fees and minimums. Choose the network that best fits your recipient and cost requirements.
-
Validate addresses client-side: Always use
address_regexto validate the destination address before submitting the payout. An invalid address on a blockchain network results in permanent loss of funds — the transaction cannot be reversed. -
Network mismatches are unrecoverable: Sending USDT on ERC20 to a TRC20 address (or vice versa) will result in lost funds. Make sure the recipient’s address corresponds to the exact network you select.
curl --request GET \
--url https://api.vitawallet.io/api/businesses/networks \
--header 'Authorization: <api-key>' \
--header 'x-date: <api-key>' \
--header 'x-login: <api-key>' \
--header 'x-trans-key: <api-key>'import requests
url = "https://api.vitawallet.io/api/businesses/networks"
headers = {
"x-login": "<api-key>",
"x-trans-key": "<api-key>",
"x-date": "<api-key>",
"Authorization": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-login': '<api-key>',
'x-trans-key': '<api-key>',
'x-date': '<api-key>',
Authorization: '<api-key>'
}
};
fetch('https://api.vitawallet.io/api/businesses/networks', 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://api.vitawallet.io/api/businesses/networks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"x-date: <api-key>",
"x-login: <api-key>",
"x-trans-key: <api-key>"
],
]);
$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://api.vitawallet.io/api/businesses/networks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-login", "<api-key>")
req.Header.Add("x-trans-key", "<api-key>")
req.Header.Add("x-date", "<api-key>")
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.vitawallet.io/api/businesses/networks")
.header("x-login", "<api-key>")
.header("x-trans-key", "<api-key>")
.header("x-date", "<api-key>")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vitawallet.io/api/businesses/networks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-login"] = '<api-key>'
request["x-trans-key"] = '<api-key>'
request["x-date"] = '<api-key>'
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"currencies": [
{
"currency": "USDC",
"networks": [
{
"id": 1,
"name": "BNB Smart Chain (BEP20)",
"key_name": "BSC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 10000000000,
"withdraw_fee": 0.29,
"decimal_withdrawal": 1e-8
}
},
{
"id": 4,
"name": "Ethereum (ERC20)",
"key_name": "ETH",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 50,
"withdraw_max": 10000000000,
"withdraw_fee": 4,
"decimal_withdrawal": 0.000001
}
},
{
"id": 5,
"name": "Polygon",
"key_name": "MATIC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 1000000000,
"withdraw_fee": 1,
"decimal_withdrawal": 0.000001
}
},
{
"id": 11,
"name": "Polygon",
"key_name": "POLY",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 1000000000,
"withdraw_fee": 1,
"decimal_withdrawal": 0.000001
}
},
{
"id": 6,
"name": "Solana",
"key_name": "SOL",
"address_regex": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"configuration": {
"withdraw_min": 2,
"withdraw_max": 9999999,
"withdraw_fee": 1,
"decimal_withdrawal": 0.000001
}
},
{
"id": 7,
"name": "Tron (TRC20)",
"key_name": "TRX",
"address_regex": "^T[1-9A-HJ-NP-Za-km-z]{33}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 10000000000,
"withdraw_fee": 0.8,
"decimal_withdrawal": 0.000001
}
}
]
},
{
"currency": "USDT",
"networks": [
{
"id": 1,
"name": "BNB Smart Chain (BEP20)",
"key_name": "BSC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 10000000000,
"withdraw_fee": 0.29,
"decimal_withdrawal": 1e-8
}
},
{
"id": 10,
"name": "Ethereum Sepolia",
"key_name": "ETHSEP",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 3,
"withdraw_max": 10000000000,
"withdraw_fee": 4,
"decimal_withdrawal": 0.000001
}
},
{
"id": 6,
"name": "Solana",
"key_name": "SOL",
"address_regex": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"configuration": {
"withdraw_min": 2,
"withdraw_max": 9999999,
"withdraw_fee": 1,
"decimal_withdrawal": 0.000001
}
},
{
"id": 7,
"name": "Tron (TRC20)",
"key_name": "TRX",
"address_regex": "^T[1-9A-HJ-NP-Za-km-z]{33}$",
"configuration": {
"withdraw_min": 10,
"withdraw_max": 10000000000,
"withdraw_fee": 0.8,
"decimal_withdrawal": 0.000001
}
}
]
},
{
"currency": "BTC",
"networks": [
{
"id": 1,
"name": "BNB Smart Chain (BEP20)",
"key_name": "BSC",
"address_regex": "^(0x)[0-9A-Fa-f]{40}$",
"configuration": {
"withdraw_min": 0.0004,
"withdraw_max": 4000,
"withdraw_fee": 0.0001,
"decimal_withdrawal": 1e-8
}
},
{
"id": 8,
"name": "Bitcoin",
"key_name": "BTC",
"address_regex": "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^[(bc1q)|(bc1p)][0-9A-Za-z]{37,62}$",
"configuration": {
"withdraw_min": 0.0004,
"withdraw_max": 4000,
"withdraw_fee": 0.0001,
"decimal_withdrawal": 1e-8
}
}
]
}
]
}Authorizations
Business xLogin
Business xTransKey
ISO8601 datetime
V2-HMAC-SHA256 signature. Example: V2-HMAC-SHA256, Signature: <hash>
Response
Successful response.