Fees

Every withdrawal has one flat withdrawal fee, paid in BNB. The fee depends on how much the withdrawal is worth: 0.0001 BNB for 5 to 50 USDT, 0.001 BNB for more than 50 up to 500 USDT, and 0.01 BNB for more than 500 USDT. 50 USDT exactly is in the first tier, and 500 USDT exactly is in the second tier. The minimum withdrawal is 5 USDT, or 5 USDT worth of BNB.

USDT and USDC count as 1 USD each. A BNB withdrawal is valued at the current BNB price (from Binance, or CoinGecko if Binance is unavailable) when you withdraw.

The destination always receives the full amount you withdraw. Fees are never taken from your invoices or from the withdrawn amount. The withdrawal fee and the network gas are both paid in BNB from your gas address, the BNB address shown on the Withdrawals page.

Fees are not sent one by one. Each withdrawal adds its fee to the amount you owe. When the total owed is more than 0.0014 BNB, the whole amount is paid to Zenvault in one BNB transfer from your gas address, right after the withdrawal that crossed the limit. One withdrawal over 500 USDT (0.01 BNB) crosses the limit by itself, so its fee is collected straight away.

Keep enough BNB in the gas address. It must always hold at least 5 USDT worth of BNB. For each withdrawal it must also hold enough for: the fees you already owe, the network gas for this withdrawal, this withdrawal’s fee, and the gas for the fee transfer when one is due. If it does not, the withdrawal is not sent and the API returns HTTP 400 with code GAS_REQUIRED and the message “Gas fees required for transactions. Please top up your gas fees account.” error.details shows requiredBnb, balanceBnb, shortfallBnb, accruedFeesBnb, platformFeeBnb, and platformFeeTier. Send more BNB to the gas address and try again.

Check a fee before you withdraw: GET /v1/withdrawals/preview?asset=USDT&amount=200 returns platformFee.label (for example “Withdrawal fee (0.001 BNB, 50–500 USDT tier), paid from gas address”), the fee amount, the tier, the network gas estimate, and how much BNB the gas address needs. Each withdrawal in GET /v1/withdrawals also shows the fee and tier that were applied.

The examples below use a BNB price of 600 USDT. Network gas on BSC is usually a small fraction of 0.001 BNB.

Withdrawal fee tabletext
Withdrawal value            Fee (paid in BNB from the gas address)
5 to 50 USDT                0.0001 BNB
more than 50, up to 500     0.001 BNB
more than 500 USDT          0.01 BNB

Fees owed are collected in one transfer once the total owed is more than 0.0014 BNB.
The gas address must always hold at least 5 USDT worth of BNB.
Example 1: withdraw 20 USDTtext
Tier: 5 to 50 USDT, fee 0.0001 BNB
Destination receives: 20 USDT
Gas address pays: network gas now; the 0.0001 BNB fee is added to what you owe
If you owed 0 before, you now owe 0.0001 BNB (below 0.0014, so nothing is collected yet)
Example 2: withdraw 200 USDTtext
Tier: more than 50 up to 500 USDT, fee 0.001 BNB
Destination receives: 200 USDT
If you owed 0.0005 BNB before, you now owe 0.0015 BNB, which is more than 0.0014,
so 0.0015 BNB is sent from the gas address to Zenvault in one transfer after the withdrawal.
You then owe 0.
Example 3: withdraw 1000 USDTtext
Tier: more than 500 USDT, fee 0.01 BNB
Destination receives: 1000 USDT
0.01 BNB is more than 0.0014 on its own, so the fee (plus anything already owed)
is collected straight after the withdrawal.
Example 4: withdraw 0.5 BNBtext
Value: 0.5 BNB x 600 USDT = 300 USD -> tier more than 50 up to 500 USDT, fee 0.001 BNB
Destination receives: 0.5 BNB
The 0.001 BNB fee and the network gas come from the gas address, not from the 0.5 BNB.
Example 5: how much BNB the gas address needstext
You owe 0.0005 BNB and withdraw 200 USDT (fee 0.001 BNB), network gas about 0.0002 BNB.
Needed for this withdrawal: 0.0005 + 0.001 + 0.0002 + gas for the fee transfer = about 0.00175 BNB.
The gas address must also hold at least 5 USDT worth of BNB (0.00834 BNB at 600 USDT),
so it needs at least 0.00834 BNB. With less, the API returns GAS_REQUIRED.
Fees