`submitted` is the normal outcome
POST /payouts returns submitted, not settled: delivery is
asynchronous. Design around the webhook.
We deliver bolívares in Venezuela via pago móvil (Venezuela’s mobile payment system) or bank transfer. Three calls: you quote, you register who gets paid, and you pay out.
# 1 · Quote the exact amount you want to deliverQUOTE=$(curl -s $BASE/v1/quotes -H "x-api-key: $KEY" -H 'content-type: application/json' \ -d '{"deliver":{"asset":"BS","amount":5000000}}' | jq -r .id)
# 2 · Pay outcurl -s $BASE/v1/payouts -H "x-api-key: $KEY" -H 'content-type: application/json' \ -H "Idempotency-Key: payout-2026-0001" \ -d '{"quoteId":"'$QUOTE'","method":"pago_movil", "beneficiary":{"fullName":"María Gómez","nationalId":"V12345678", "bankCode":"0138","phone":"04141234567"}}'`submitted` is the normal outcome
POST /payouts returns submitted, not settled: delivery is
asynchronous. Design around the webhook.
The phone number is always required
Also for transferencia. Registration does not require it, so you can
register someone who then cannot get paid. See
beneficiaries.
Two bank catalogs, not one
31 banks reachable via pago móvil, 24 via bank transfer. That is why
GET /payouts/banks requires method.
Minimum and cap per transaction
Below ~Bs 925 you cannot pay out, and the pago móvil cap is Bs 100,000.00. See limits.
Every example in this documentation works exactly as written against the test environment.