Guía para desarrolladores
Sitio de VEXPayReferencia de API
Explorar documentación

Retira tu saldo

Envía bolívares disponibles a tu propia cuenta de Pago Móvil verificada, o USDT y USDC a una wallet — desde el portal o la API — y sigue cada payout hasta el final.

Qué vas a hacer

Solo la parte disponible de un saldo puede salir. Los créditos Live nuevos quedan retenidos 24 horas primero (mira Leer saldo y retenciones). Cada destino se verifica una vez antes del primer retiro.

  • Bolívares: tu propio Pago Móvil (cédula/RIF, teléfono, banco).
  • USDT/USDC: una wallet que controla tu negocio, y la verificación del negocio aprobada en Live.

Pasos: bolívares a tu Pago Móvil

  1. Guarda tu cuenta de payout

    Portal → Payouts → Tenant instant credit account, o PUT /v1/tenant/payout-account.

  2. Verifícala

    Inicia la verificación (POST /v1/tenant/payout-account/verify/start), lee los dos depósitos pequeños en tu estado de cuenta y confírmalos dentro de 2 días (POST /v1/tenant/payout-account/verify con amount1 y amount2). Si luego cambias el destino, espera 1 día hábil antes de poder usarlo.

  3. Retira

    Portal → Payouts → Withdraw to Pago Móvil, o POST /v1/payouts/instant con monto (tomado de tu saldo disponible), concepto y un externalRef único. La respuesta muestra la comisión y el neto que recibe tu banco.

  4. Síguelo

    Espera payout.completed o payout.failed, o lee GET /v1/payouts/by-ref/:externalRef.

curlbash
curl --request POST "${API_URL}/v1/payouts/instant" \
  --header "content-type: application/json" \
  --header "x-api-key: ${VEXPAY_API_KEY}" \
  --data '{ "monto": "5000.00", "concepto": "Retiro semanal", "externalRef": "wd-2026-w44" }'

Pasos: USDT o USDC a una wallet

  1. Portal: guarda tu wallet de payout

    Portal → USDT → Payout wallet: red, dirección, tag si la red lo necesita, y una etiqueta. Confirma que la wallet pertenece a tu negocio. Se puede usar 24 horas después de guardarla o cambiarla.

  2. Portal: retira

    Withdraw USDT, escribe el monto, revisa "Network fee" y "Wallet receives", y confirma. Los montos grandes esperan una revisión de VEXPay.

  3. API: revisa la red

    GET /v1/crypto/networks?currency=USDT&amount=… devuelve la comisión de payout, el mínimo y si ese monto se puede enviar ahora en cada red.

  4. API: envía

    POST /v1/crypto/payouts con network, address, tag si hace falta, amount, currency opcional y un idempotencyKey. El monto más la comisión se toman del saldo disponible de esa moneda.

curlbash
curl --request POST "${API_URL}/v1/crypto/payouts" \
  --header "content-type: application/json" \
  --header "x-api-key: ${VEXPAY_API_KEY}" \
  --data '{
    "currency": "USDT",
    "network": "TRC20",
    "address": "TXYZ...",
    "amount": "250.00",
    "idempotencyKey": "usdt-wd-0042"
  }'

Comprueba que funcionó

  • Llegó payout.completed (las stablecoins incluyen el txHash).
  • El dinero aparece en tu banco o wallet, y el payout aparece en Portal → Payouts o USDT.
  • Si un payout falla, el monto y su comisión vuelven a tu saldo disponible de inmediato.

Si algo sale mal

SíntomaCausa probableQué hacer
422 insufficient_balance con heldVes/heldUsdt y nextReleaseAtParte del dinero sigue retenidoRetira ahora el monto disponible y el resto después de nextReleaseAt. No reintentes en bucle.
422 payout_account_not_verified o payout_account_coolingCuenta no verificada, o cambiada hace menos de 1 día hábilTermina la verificación, o espera a payoutEligibleAt.
Estado awaiting_approvalEn sus primeros 30 días una cuenta puede retirar hasta USD 300 en cualquier período de 24 horas (salvo que VEXPay te haya fijado otro límite); este payout lo superóNo hace falta hacer nada; VEXPay lo revisa y lo envía o devuelve los fondos.
Payout en bolívares sigue pendingEl banco aún no ha respondidoNo crees otro payout. Espera payout.completed o payout.failed.
422 destination_cooling / destination_under_review / destination_blockedControles de seguridad de la walletEspera a que pasen las 24 horas, o contacta a VEXPay.
403 kyb_not_approvedVerificación del negocio no aprobada (Live)Termina la verificación del negocio.
422 network_unavailable o amount_below_minimumLa red no puede enviar ese monto ahora, o está bajo el mínimoPrueba otra red o un monto mayor.
409 external_ref_conflict / idempotency_key_reusedSe reutilizó la misma referencia con datos distintosUsa una referencia nueva para un payout nuevo.

Comisiones: Precios. Relacionado: Saldos y retenciones · Comerciantes y payouts · USDT y USDC