Skip to main content
Fees are configured by CBPay per service, country and asset. When nothing is configured for a combination, the fee is 0.

How payouts and payins are charged

FX pricing lives in your exchange rate: the rates you see in GET /v1/rates are your rates, and they are exactly the ones used at execution — no separate percentages. Each country carries both sides:
  • rate — the rate for your payouts (dispersals). If you disperse the equivalent of 100 USDT, you are debited 100 USDT plus the fixed fee (when configured for your account).
  • payin_rate — the rate for your payins (fiat collections/deposits). The credit is the local amount converted at that rate, minus the fixed fee (when configured for your account).
What the beneficiary receives (payout) or what you are credited (payin) depends on your account’s rates for that country. Quoted = charged, always.

Services with fixed or percent fees

For %-based services the formula is fee = ceil(amount × percent / 100) + fixed_amount (rounded up to the micro-USDT).
Standalone fixed charges (compliance, KYC/KYB verification, wallet creation and banking) are refunded automatically if the upstream operation fails (compliance_refund / verification_fee_refund / wallet_creation_refund / wallet_service_refund / banking_fee_refund).

Internal transfers: always free

Transfers between CBPay accounts (POST /v1/transfers) carry no fee, regardless of the combination: person↔person, person↔company or company↔company. The money moves inside the ecosystem.

Your exchange rate

GET /v1/rates returns your account’s own exchange rate for each country — the same rates your operations execute at, no surprises: rate for payouts and payin_rate for payins (local_amount / rate = USDT).

Check your terms

GET /v1/rates returns, along with your rates, the fee configuration currently applied to your account:
asset_prices is the reference USD price of each virtual balance (to value them on screen) — it implies no conversion and no spread. The response also includes a settlement block with the effective price per asset if you pay operations from a balance other than USDT (money model): that price already includes the conversion margin, so what you see is what applies. The charged fee is always explicit in each operation’s response (fee field) and in the ledger.

Full example

A payout equivalent to 100 USDT with fixed_amount: "0.30":
The beneficiary receives the full local amount you specified; you are debited the equivalent at your rate plus the fixed fee. A payin equivalent to 100 USDT with fixed_amount: "0.30":
The payer pays the exact local amount you specified; you are credited the equivalent at your payin_rate minus the fixed fee.
Last modified on July 13, 2026