Introducción a la API de SwapBits
¿Qué es SwapBits?
SwapBits es una plataforma de trading y gestión de criptomonedas que ofrece:
- Multi-Blockchain Wallets - Soporte para 11+ blockchains (Solana, Ethereum, BSC, Tron, Bitcoin, Polygon, etc.)
- Trading & Swaps - Intercambio de criptomonedas con integración a exchanges
- Operaciones Bancarias - Depósitos y retiros en moneda fiat (ARS, USD, etc.)
- KYC Integrado - Verificación de identidad con Sumsub
- Tiempo Real - WebSockets para actualizaciones instantáneas de precios y transacciones
¿Cómo usar esta documentación?
Navegación Rápida
Esta documentación está organizada por módulos funcionales:
- Authentication - Registro, login, 2FA, PIN, recuperación de contraseña
- Users - Gestión de perfiles, configuraciones, preferencias
- Bank - Cuentas bancarias, depósitos, retiros fiat
- KYC - Verificación de identidad con Sumsub
- WebSocket - Eventos en tiempo real
- API Explorer - Explora todos los endpoints interactivamente
Autenticación
JWT Token Authentication
Todos los endpoints requieren autenticación mediante JWT tokens, excepto:
POST /auth/register- Registro de usuariosPOST /auth/login- LoginPOST /auth/forgot-password- Recuperación de contraseña
Una vez autenticado, incluye el token en el header de cada request:
Authorization: Bearer <tu_token_jwt>
Ejemplo de Login
Ver documentación completa de Login →
curl -X POST https://swapbits.site/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@ejemplo.com",
"password": "tu_password"
}'
Respuesta:
{
"code": 1001,
"message": "Login successful",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"pinAuthToken": "uuid-v4-token"
}
}
Primeros Pasos
Quick Start Guide
Sigue estos pasos para empezar a usar la API:
1. Registra un Usuario
POST /auth/register
Crea una cuenta con email, username y password.
Ver documentación completa
2. Verifica el Email
POST /auth/verify-code
Ingresa el código de 6 dígitos enviado al email.
Ver documentación completa
3. Obtén un Token JWT
POST /auth/login
Autentica con email/username y password.
Ver documentación completa
4. Configura 2FA (Opcional pero recomendado)
POST /auth/2fa/setup
Habilita autenticación de dos factores con Google Authenticator.
Ver documentación completa
5. Empieza a usar la API
Con tu token JWT, puedes acceder a todos los endpoints protegidos.
Endpoints Principales
Autenticación y Usuarios
- POST /auth/register - Crear cuenta
- POST /auth/login - Iniciar sesión
- POST /auth/2fa/verify - Verificar 2FA
- GET /users/profile - Obtener perfil
- PATCH /users/profile - Actualizar perfil
Wallets y Blockchain
- POST /wallets/create - Crear wallet
- GET /wallets - Listar wallets
- POST /wallets/send - Enviar transacción
- GET /wallets/balance - Consultar balance
Trading y Exchange
- POST /exchange/swap - Realizar swap
- GET /exchange/rates - Obtener cotizaciones
- GET /exchange/orders - Historial de órdenes
Operaciones Bancarias
- POST /bank/deposit - Depositar fiat
- POST /bank/withdraw - Retirar fiat
- GET /bank/accounts - Listar cuentas bancarias
Rate Limiting
Límites de Requests
Para prevenir abuso, la API implementa rate limiting:
- 100 requests por minuto por IP
- 1000 requests por hora por usuario autenticado
Si excedes el límite, recibirás:
{
"statusCode": 429,
"message": "Too Many Requests",
"error": "Rate limit exceeded"
}
Seguridad
Best Practices
Recomendaciones de seguridad:
- [✓] NUNCA expongas tu JWT token públicamente
- [✓] USA HTTPS en producción (siempre)
- [✓] ROTA tokens periódicamente
- [✓] HABILITA 2FA en cuentas de producción
- [✓] VALIDA todas las respuestas del servidor
- [✓] ALMACENA tokens de forma segura (encrypted storage, no localStorage)
Códigos de Respuesta HTTP
| Código | Significado | Descripción |
|---|---|---|
200 | OK | Request exitoso |
201 | Created | Recurso creado exitosamente |
400 | Bad Request | Parámetros inválidos |
401 | Unauthorized | Token inválido o expirado |
403 | Forbidden | Sin permisos para este recurso |
404 | Not Found | Recurso no encontrado |
429 | Too Many Requests | Rate limit excedido |
500 | Internal Server Error | Error del servidor |
Ejemplos de Código
JavaScript / TypeScript
const response = await fetch("https://swapbits.site/api/users/profile", {
method: "GET",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
});
const data = await response.json();
console.log(data);
Python
import requests
headers = {
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
}
response = requests.get(
'https://swapbits.site/api/users/profile',
headers=headers
)
print(response.json())
cURL
curl -X GET https://swapbits.site/api/users/profile \
-H "Authorization: Bearer <tu_token>" \
-H "Content-Type: application/json"
WebSocket en Tiempo Real
Eventos en Tiempo Real
SwapBits ofrece WebSockets para actualizaciones en tiempo real:
- Precios de criptomonedas - Cotizaciones en vivo
- Transacciones - Notificaciones de envíos/recepciones
- Órdenes de trading - Estados de swaps y trades
- Notificaciones del sistema - Alertas y avisos
Recursos Adicionales
Más Información
Para desarrolladores internos:
- Documentación Técnica - Arquitectura, microservicios, AWS infrastructure
- System Overview - Visión general del ecosistema
- Security Architecture - Seguridad y encriptación
Para integraciones:
- API Explorer - Explora todos los endpoints
- Auth API - Autenticación completa
- Users API - Gestión de usuarios
- Bank API - Operaciones bancarias
- KYC API - Verificación de identidad