Read your balance and holds
Find out how much you can withdraw right now in each currency, when held money is released, and how to reconcile your books with the movements list.
What you will do
Each currency (bolívares, USDT, USDC, pesos) has its own balance. New live credits are held for 24 hours, then become available on their own — no action needed and no webhook when it happens. Only available money can be withdrawn.
Steps
- Read the bolívar balance
GET /v1/balance.availableVesis what you can withdraw now;heldVesandnextReleaseAttell you what is coming and when;reserveVesis a buffer VEXPay may set for your account. - Read stablecoins and pesos
GET /v1/crypto/balances(orGET /v1/crypto/balance?currency=USDC) returnsavailable,held,nextReleaseAtandpendingPayoutper coin.GET /v1/cop/balancereturnsavailableCop,heldCop,nextReleaseAtandpendingPayoutCop. - Marketplaces: read seller balances
GET /v1/merchants/:id/balancereturns the seller'spendingVesandavailableVes(plus acopblock when they have peso activity). Platform totals are onGET /v1/balance. - Reconcile bolívares
Page through
GET /v1/balance/transactions(limitup to 100,cursorfromnextCursor). Each movement has a stableid, a signedamountVes, andavailableAtwhile it is held. Filter bytype,paymentId,payoutId,fromandto.
curl "${API_URL}/v1/balance" --header "x-api-key: ${VEXPAY_API_KEY}"
curl "${API_URL}/v1/crypto/balances" --header "x-api-key: ${VEXPAY_API_KEY}"
curl "${API_URL}/v1/cop/balance" --header "x-api-key: ${VEXPAY_API_KEY}"curl "${API_URL}/v1/balance/transactions?limit=100&from=2026-11-01T00:00:00Z" \
--header "x-api-key: ${VEXPAY_API_KEY}"
# Repeat with &cursor=<nextCursor> until nextCursor is null.Check that it worked
Your books match when, over all pages, the sum of amountVes equals ledgerNetVes, and ledgerNetVes − reserveVes − heldVes equals availableVes. The portal shows the same figures in Overview, Payouts, Balance movements, USDT and COP.
If something goes wrong
| Symptom | Likely cause | What to do |
|---|---|---|
| Money shows but cannot be withdrawn | It is still held | Wait for nextReleaseAt; withdraw the available part now. |
| Converted USDT is still held | You converted money that was still held; the USDT keeps the original release time | Wait for nextReleaseAt on the USDT balance. |
availableVes is negative | A card chargeback was larger than your available balance | New payments refill it; payouts and conversions wait until then. |
| Your books do not match | A movement was missed (chargeback, reversal, adjustment) | Page through the movements and match each by id. |
403 method_not_allowed on USDC or COP balance | That currency is not enabled for you | Ask VEXPay. |
| Seller money not released although the seller hold is 0 | Your own 24-hour hold on those funds still applies | Wait for it to end. |
Related: Balances & holds · Reconcile your balance · Withdraw your balance