Sell dollars at your rate
This model is for companies that sell dollars to their customers: the
customer pays you in USDT and the beneficiary receives bolívares at their
bank. You set the price. We deliver the Bs from your account at our
payment partner and charge a weekly fee on what you sold. There is no
per-payment fee.
| Rate | Yours: your selling rate for the day, with no spread from us |
| Where it is paid from | Your account at our payment partner, in bolívares |
| What we charge | A weekly % on what was sold in USD. Nothing per payment |
| What the partner charges | Its fee, in Bs, from that same account of yours. It is not ours |
The funds
Section titled “The funds”You pay out with the bolívares in your account. For each payment you need the amount plus the partner’s fee. Before sending it we check your real balance: if it is not enough, the payment is rejected and nothing goes out.
You get those bolívares by exchanging dollars in your own account. Each exchange is recorded with its rate, and you can see it in the dashboard, under “Your USD to Bs exchanges”.
Day to day
Section titled “Day to day”-
Set your selling rate
Section titled “Set your selling rate”Once a day, or every time you change your price:
Ventana de terminal curl -s $BASE/v1/treasury/sell-rate \-H "x-api-key: $KEY" -H 'content-type: application/json' \-d '{"asset":"USDT","rate":"1010.50"}'201 Created { "asset": "USDT", "rate": "1010.50000000", "setAt": "2026-10-14T12:00:03.114Z", "isToday": true }It is valid until you set another one. If you do not change it the next day, yesterday’s keeps being used:
isTodaycomes backfalseand the dashboard warns you. You can also set it from the dashboard. With no rate set at all, quoting in USDT returns422 sell_rate_missing. -
The usual approach is to fix the bolívares the beneficiary receives and have us tell you how many USDT to charge your customer:
Ventana de terminal curl -s $BASE/v1/quotes \-H "x-api-key: $KEY" -H 'content-type: application/json' \-d '{"deliver":{"asset":"BS","amount":123435},"spend":{"asset":"USDT"}}'201 Created {"fixed": "deliver","deliver": { "asset": "BS", "amount": "123435" },"spend": { "asset": "USDT", "amount": "1221524" },"fee": { "asset": "BS", "amount": "0" },"rate": { "value": "1010.5", "market": "1010.5", "spread_bps": 0 }}The beneficiary receives exactly Bs 1,234.35 and you charge 1.221524 USDT.
USDThas 6 decimals, so any amount in bolívares can be reached without rounding. The USDT are rounded up to the micro-USDT: you never sell below your rate.If your account does not have the balance for the payment plus the payment network’s fee, the payout responds
201withstatus: "failed"andreason: "payout_insufficient_balance", without sending anything.You can also fix the USDT your customer pays (
{"spend":{"asset":"USDT","amount":100000000},"deliver":{"asset":"BS"}}): 100 USDT at 1,010.50 deliver Bs 101,050.00. -
Pay out
Section titled “Pay out”With the quote
id, just like any other payout. The payment is stored with the USDT you sold and the rate you sold them at.
The weekly fee
Section titled “The weekly fee”It is calculated on what you sold, Monday to Sunday, Venezuela time. Look it up whenever you want:
curl -s "$BASE/v1/treasury/volume?from=2026-10-12&to=2026-10-18" -H "x-api-key: $KEY"The rules, so you can redo the math with your own records:
- What counts is what settled. A payment that fails does not count.
- Each payment is worth what you sold: the exact USDT of its quote. A payment without conversion (Bs → Bs) is worth what those bolívares cost you.
- Each payment pays the % in force on the day it settled. If the % changes
mid-week, the report carries one bracket per % (
tiers) and the fee is the sum. A % change never alters a week already reported. - A bank return subtracts in the week it happens, at the % it paid.
- No intermediate rounding. The USDT are added up exactly and the fee for each bracket is rounded only once, to the cent.
Example with a % change mid-week:
| Bracket | Sold | % (example) | Fee |
|---|---|---|---|
| Until Wednesday | USD 149.662881 | 1.25% | 1.87 |
| From Wednesday | USD 109.936934 | 1.00% | 1.10 |
| Week | USD 259.599815 | 2.97 |
lines lists each payment with its Bs, its USDT, its rate and its %, and
adds up exactly to the totals. The dashboard downloads it as CSV with the same
figures. The partner’s fee comes separately (networkFeeBs): it is what
explains why your balance drops a bit more than what you paid, but it is not a
charge from us. In the sandbox the simulated network fee is 0.3%
(networkFeeBs); in production the payment network sets it and you get it in
the report.
The % we apply to you and since when it applies: GET /v1/treasury/volume-fee.
In your test account
Section titled “In your test account”With the sk_test_ key of your test account you go through all of this
without real money: POST /v1/test-helpers/seed leaves a sample USDT rate and
Bs 1,000,000.00 in your inventory, and POST /v1/test-helpers/fundings records more
exchanges. Each payment stays submitted and settles by itself in about 20 s,
lowers your inventory by the amount plus the fee, and shows up in
GET /v1/treasury/volume. See
Test environment.