Saltar al contenido principal

Introducción a la API de SwapBits

Documentación oficial de la API REST de SwapBits. Aprende a integrar servicios de trading, wallets multi-blockchain, y operaciones bancarias en tu aplicación.


¿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:

  1. Authentication - Registro, login, 2FA, PIN, recuperación de contraseña
  2. Users - Gestión de perfiles, configuraciones, preferencias
  3. Bank - Cuentas bancarias, depósitos, retiros fiat
  4. KYC - Verificación de identidad con Sumsub
  5. WebSocket - Eventos en tiempo real
  6. 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 usuarios
  • POST /auth/login - Login
  • POST /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 →

POST /auth/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

Wallets y Blockchain

Trading y Exchange

Operaciones 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ódigoSignificadoDescripción
200OKRequest exitoso
201CreatedRecurso creado exitosamente
400Bad RequestParámetros inválidos
401UnauthorizedToken inválido o expirado
403ForbiddenSin permisos para este recurso
404Not FoundRecurso no encontrado
429Too Many RequestsRate limit excedido
500Internal Server ErrorError del servidor

Ejemplos de Código

JavaScript / TypeScript

Ejemplo con fetch
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

Ejemplo con requests
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

Ejemplo con 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

Ver documentación completa de WebSocket


Recursos Adicionales

Más Información

Para desarrolladores internos:

Para integraciones: