How payouts and payins are charged
FX pricing lives in your exchange rate: the rates you see inGET /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).
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 withfixed_amount: "0.30":
fixed_amount: "0.30":
payin_rate minus the fixed fee.