Listar Coins
Obtener todas las categorías de monedas con sus coins asociados, incluyendo comisiones, límites y datos de retiro.
GET /coins
Retorna todas las categorías de monedas (Criptomonedas, Bank, Cash, E-Wallet, Gift Card, Móvil) junto con los coins que pertenecen a cada una. Cada coin incluye su configuración completa: comisiones de entrada y salida, límites, campos requeridos para retiros y estado de disponibilidad.
Autenticación
No requiere autenticación (endpoint público).
Request
curl -X GET https://api.qvapay.com/coinsResponse
[
{
"id": 1,
"name": "Criptomonedas",
"logo": "crypto",
"Coins": [
{
"id": "6",
"coins_categories_id": 1,
"network": "TRON",
"name": "USDT (TRC20)",
"logo": "usdt",
"tick": "USDT",
"fee_in": "0.2",
"fee_in_gold": "0",
"fee_out": "1",
"fee_out_gold": "0.8",
"fee_out_fixed": [100, 1],
"min_in": "1",
"min_out": "2",
"max_in": 1000000,
"max_out": 5000,
"working_data": [
{
"name": "Wallet",
"type": "text"
}
],
"enabled_in": true,
"enabled_out": true,
"enabled_p2p": true,
"auto_withdraw": true,
"p2p_rate_discount": "0",
"trade": false,
"price": "1",
"decimals": 2,
"stable": true,
"created_at": null,
"updated_at": "2025-06-12T03:40:01.000Z",
"description": "### ¿Qué es USDT (TRC20)? ...",
"seo_title": "USDT TRC20 ✓ Compra y envía en QvaPay",
"seo_description": "USDT TRC20 en QvaPay: stablecoin rápido y seguro..."
}
]
}
]Campos de la categoría
| Campo | Tipo | Descripción |
|---|---|---|
id | number | ID de la categoría |
name | string | Nombre de la categoría (Criptomonedas, Bank, Cash, E-Wallet, Gift Card, Móvil) |
logo | string | Identificador del logo de la categoría |
Coins | array | Coins pertenecientes a la categoría |
Campos del coin
| Campo | Tipo | Descripción |
|---|---|---|
id | string | ID del coin (BigInt serializado como string) |
coins_categories_id | number | ID de la categoría a la que pertenece |
network | string | null | Red blockchain del activo (BTC, TRON, BSC, SOL, TON, etc.). null para métodos sin red o red implícita |
name | string | Nombre para mostrar (ej: USDT (TRC20)) |
logo | string | Identificador del logo |
tick | string | Ticker único del coin (ej: USDT, BTCLN, BANK_EUR) |
fee_in | string | Comisión de depósito en porcentaje (%) |
fee_in_gold | string | Comisión de depósito (%) para usuarios GOLD |
fee_out | string | Comisión de retiro en porcentaje (%) |
fee_out_gold | string | Comisión de retiro (%) para usuarios GOLD |
fee_out_fixed | array | null | Fee fijo de retiro para montos pequeños: [umbral, fee_fijo]. Ver Cómo funciona fee_out_fixed |
min_in | string | Monto mínimo de depósito en USD |
min_out | string | Monto mínimo de retiro en USD |
max_in | number | Monto máximo de depósito en USD |
max_out | number | Monto máximo de retiro en USD |
working_data | array | Campos que el usuario debe completar al solicitar un retiro. Ver Campos de working_data |
enabled_in | boolean | Depósitos habilitados |
enabled_out | boolean | Retiros habilitados |
enabled_p2p | boolean | Disponible en el mercado P2P |
auto_withdraw | boolean | Los retiros se procesan automáticamente (sin revisión manual) |
p2p_rate_discount | string | Ajuste de tasa aplicado en el mercado P2P |
trade | boolean | Disponible en el módulo de trading |
price | string | Precio actual del activo en USD |
decimals | number | Decimales usados para representar montos del activo |
stable | boolean | true si es una stablecoin o método con paridad 1:1 con USD |
created_at | string | null | Fecha de creación |
updated_at | string | null | Última actualización (los precios se refrescan periódicamente) |
description | string | Descripción del activo en formato Markdown |
seo_title | string | Título SEO de la página pública del coin |
seo_description | string | Descripción SEO de la página pública del coin |
Cómo funciona fee_out_fixed
fee_out_fixed define un fee fijo para retiros de montos pequeños, en lugar del porcentaje fee_out. Es un arreglo de dos valores:
fee_out_fixed: [umbral, fee_fijo]umbral(primer valor): límite en USD que separa los dos modos de comisión.fee_fijo(segundo valor): comisión fija en USD que se cobra cuando el monto del retiro es menor o igual al umbral.
La regla de cálculo es:
| Monto del retiro | Comisión aplicada |
|---|---|
monto <= umbral | Fee fijo: fee_fijo USD (no se aplica porcentaje) |
monto > umbral | Porcentaje: monto × fee_out / 100 (o fee_out_gold para usuarios GOLD) |
Cuando fee_out_fixed es null, siempre se aplica el porcentaje fee_out sin importar el monto.
Ejemplo
USDT (TRC20) tiene fee_out: "1" y fee_out_fixed: [100, 1]:
- Retiro de $50 → como
50 <= 100, se cobra el fee fijo de $1. El usuario recibe $49. - Retiro de $100 → como
100 <= 100, se cobra el fee fijo de $1. El usuario recibe $99. - Retiro de $500 → como
500 > 100, se cobra el 1%: $5. El usuario recibe $495.
Este esquema evita que los retiros pequeños paguen comisiones porcentuales insignificantes que no cubren el costo de red, garantizando un fee mínimo rentable, mientras que los retiros grandes pagan el porcentaje normal.
Nota: para usuarios GOLD el porcentaje usado por encima del umbral es
fee_out_gold, pero el fee fijo por debajo del umbral es el mismo para todos los usuarios.
Campos de working_data
working_data describe el formulario que el usuario debe completar al retirar en ese coin (ej: dirección de wallet, datos bancarios, número de celular). Cada elemento tiene:
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Nombre del campo (ej: Wallet, Nro de cuenta o tarjeta) |
type | string | Tipo de campo: text o select |
label | string | (Opcional) Etiqueta para mostrar en el formulario |
placeholder | string | (Opcional) Texto de ayuda del campo |
required | boolean | (Opcional) Si el campo es obligatorio |
options | array | (Solo type: select) Opciones disponibles |
Las opciones de un campo select pueden incluir metadatos adicionales:
| Campo | Tipo | Descripción |
|---|---|---|
value | string | Valor de la opción (ej: La Habana) |
eta_hours | string | Tiempo estimado de entrega en horas (ej: 1-72) |
fee_pct | number | Recargo porcentual extra sobre el monto del retiro al elegir esta opción |
Notas
- La respuesta es un array JSON de categorías, cada una con sus coins en la propiedad
Coins. - Los IDs de tipo
BigIntse serializan como strings en la respuesta. - Los precios (
price) de activos no estables se actualizan periódicamente mediante un cron; el campoupdated_atrefleja la última actualización. - Las comisiones
fee_in,fee_in_gold,fee_outyfee_out_goldson siempre porcentajes, no montos fijos.