Visión General

SFXM es un ecosistema de intercambio de criptomonedas con DEX propio, mercado P2P y entrada fiat. Los precios del DEX se sincronizan con Binance en tiempo real.

API REST
sfx-microsystem.org/api
Todos los endpoints bajo /api/
RPC Blockchain
rcp.sfx-microsystem.org
JSON-RPC compatible con ethers.js / web3
Block Explorer
explorer.sfx-microsystem.org
Transacciones, tokens y contratos
DEX / Swap
sfx-microsystem.org/swap.html
Swap entre pares · Oracle Binance · 0.25% fee
Depósitos Fiat
sfx-microsystem.org/deposit.html
Compra tokens con USD, PayPal, Zelle
P2P Exchange
sfx-microsystem.org/p2p
Intercambio peer-to-peer con escrow on-chain

URLs Base

# API REST https://sfx-microsystem.org/api # RPC de la red SFXM (compatible con MetaMask / ethers.js) https://rcp.sfx-microsystem.org # Block Explorer https://explorer.sfx-microsystem.org
Sin subdomain de API: Todos los endpoints REST se sirven bajo sfx-microsystem.org/api/… — no existe api.sfx-microsystem.org. Para conectar MetaMask usa el RPC rcp.sfx-microsystem.org con Chain ID 56.

Configurar MetaMask / ethers.js

// ethers.js const provider = new ethers.providers.JsonRpcProvider( 'https://rcp.sfx-microsystem.org' ); // MetaMask (wallet_addEthereumChain) { chainId: '0x38', chainName: 'SFXM Network', nativeCurrency: { name: 'BNB', symbol: 'BNB', decimals: 18 }, rpcUrls: ['https://rcp.sfx-microsystem.org'], blockExplorerUrls: ['https://explorer.sfx-microsystem.org'] }

Autenticación

Los endpoints protegidos requieren un Bearer token obtenido al iniciar sesión. El token se pasa en el header Authorization.

Authorization: Bearer <token> # Ejemplo curl -H "Authorization: Bearer eyJhbGciO..." \ https://sfx-microsystem.org/api/auth/me
BadgeSignifica
públicoSin autenticación requerida
BearerToken de usuario autenticado
AdminToken de cuenta con permisos de administrador
Respuesta estándar
// Éxito { "ok": true, "data": { ... } } // Error { "ok": false, "error": "Mensaje descriptivo del error" }

Auth

MétodoEndpointAuthDescripción
POST
/api/auth/register público Crear cuenta. Body: email, password, nickname
POST
/api/auth/login público Iniciar sesión. Body: email, password → retorna token
GET
/api/auth/nonce público Obtener nonce para firma de wallet. Param: ?address=0x…
POST
/api/auth/wallet-login público Login via firma EIP-712. Body: address, signature, nonce
POST
/api/auth/link-wallet Bearer Vincular dirección de wallet a la cuenta
GET
/api/auth/me Bearer Datos del usuario autenticado
POST
/api/auth/logout Bearer Cerrar sesión e invalidar token
Ejemplo — login
POST https://sfx-microsystem.org/api/auth/login Content-Type: application/json { "email": "[email protected]", "password": "mi-contraseña" } // Respuesta { "ok": true, "data": { "token": "eyJ...", "user": { "id": "...", "email": "...", "nickname": "..." } } }

Usuarios & Balances

MétodoEndpointAuthDescripción
GET
/api/users/me Bearer Perfil propio con rating, estadísticas y KYC
PATCH
/api/users/me Bearer Actualizar nickname, bio, país
POST
/api/users/me/avatar Bearer Subir avatar. Multipart, campo avatar (JPG/PNG/WEBP)
GET
/api/users/:uid público Perfil público de un usuario
POST
/api/users/:uid/follow Bearer Seguir trader
POST
/api/users/:uid/unfollow Bearer Dejar de seguir
GET
/api/balances Bearer Saldos internos del usuario (tokens acreditados por depósitos aprobados)
POST
/api/balances/withdraw Bearer Retirar saldo a wallet on-chain. Body: token, amount, wallet_addr
GET
/api/notifications Bearer Notificaciones del usuario
POST
/api/notifications/read-all Bearer Marcar todas las notificaciones como leídas
GET
/api/wallet-version público Versión actual de la extensión Chrome. Retorna "1.6.3"
GET
/api/apk/latest público Info y URL de descarga del APK Android más reciente

DEX / Charts

Datos del OraclePool en tiempo real para gráficos e integraciones. Los precios se actualizan cada 30 segundos desde Binance.

MétodoEndpointAuthDescripción
GET
/api/chart/candles público Candles OHLCV del token seleccionado.
?sym=BNB — símbolo (BNB, ETH, BTCB, USDT…)
&interval=1h — 1m · 5m · 1h · 4h · 1d
&limit=168 — cantidad de velas (máx. 2000)
GET
/api/chart/recent-trades público Últimos swaps ejecutados en el DEX. Param: ?limit=50
GET
/api/chart/stats público Estadísticas 24h del DEX: volumen USD total y número de transacciones
GET
/api/p2p/prices público Precios actuales de todos los tokens en USD (fuente: Binance)
Ejemplo — candles BNB/USDT 1H
GET https://sfx-microsystem.org/api/chart/candles?sym=BNB&interval=1h&limit=24 [ { "time": 1783072200, "open": 563.44, "high": 571.20, "low": 559.80, "close": 563.19, "volume": 14230.50 }, ... ]

CMC Exchange API

Endpoints en formato CoinMarketCap Exchange para listar SFXM como exchange. Todos son públicos.

URL base para CMC: Al registrar el exchange en CoinMarketCap, usa https://sfx-microsystem.org/api/cmc como API base URL.
MétodoEndpointDescripción
GET
/api/cmc/summary Todos los pares activos: precio, volumen 24h, high/low, cambio porcentual. Endpoint principal requerido por CMC.
GET
/api/cmc/ticker Formato ticker alternativo de CMC, keyed por par de trading.
GET
/api/cmc/orderbook Profundidad de mercado para un par. Param: ?market_pair=BNB_USDT
GET
/api/cmc/trades Trades recientes de un par. Param: ?market_pair=BNB_USDT
GET
/api/cmc/assets Metadata de tokens: nombre, unified_cryptoasset_id CMC, fees de retiro/depósito.

Pares disponibles

BNB_USDT BTCB_USDT ETH_USDT BUSD_USDT CAKE_USDT ADA_USDT XRP_USDT DOGE_USDT SOL_USDT BTCB_BNB
Ejemplo — /api/cmc/summary (fragmento)
{ "BNB_USDT": { "trading_pairs": "BNB_USDT", "base_currency": "BNB", "quote_currency": "USDT", "last_price": 563.09, "lowest_ask": 564.50, "highest_bid": 561.68, "base_volume": 245.83, "quote_volume": 138500.12, "price_change_percent_24h": 1.24, "highest_price_24h": 571.20, "lowest_price_24h": 556.80 } }

Depósitos Fiat

Flujo de 3 pasos para comprar tokens SFXM con dinero fiat. Los depósitos son revisados manualmente en un plazo máximo de 24 horas.

MétodoEndpointAuthDescripción
GET
/api/deposit/info público Métodos de pago disponibles, datos de pago y límites (mín. $10 — máx. $10,000)
POST
/api/deposit/request Bearer Crear solicitud de depósito. Body: amount_fiat, currency, method, reference, wallet_addr
POST
/api/deposit/proof/:dep_id Bearer Subir comprobante de pago. Multipart, campo proof. Formatos: JPG, PNG, PDF (máx. 5MB)
GET
/api/deposit/my Bearer Historial de depósitos del usuario. Estados: PENDING · APPROVED · REJECTED
Flujo completo
# 1. Consultar métodos y datos de pago GET /api/deposit/info # 2. Crear solicitud (después de realizar el pago) POST /api/deposit/request { "amount_fiat": 100, "currency": "USD", "method": "zelle", "reference": "TXN789012", "wallet_addr": "0x..." } → { "ok": true, "data": { "deposit_id": "uuid-...", "status": "PENDING" } } # 3. Subir comprobante (acelera la verificación) POST /api/deposit/proof/uuid-... [multipart/form-data: proof=captura.png] # El equipo SFXM revisa y aprueba en máx. 24h. # Los tokens USDT quedan disponibles en tu saldo interno.

P2P Trading

Mercado de intercambio entre usuarios con escrow on-chain. El vendedor bloquea tokens en un contrato de custodia; se liberan cuando el comprador confirma el pago.

MétodoEndpointAuthDescripción
GET
/api/p2p/ads público Anuncios activos. Filtros: ?type=sell&token=USDT&country=PA
POST
/api/p2p/ads Bearer Crear anuncio. Body: type, token, amount, price, payment_methods[]
GET
/api/p2p/my-ads Bearer Mis anuncios activos y pausados
PATCH
/api/p2p/ads/:id Bearer Editar precio o monto del anuncio
POST
/api/p2p/ads/:id/activate Bearer Activar o pausar anuncio
POST
/api/p2p/ads/:id/withdraw Bearer Retirar tokens del anuncio a wallet propia
GET
/api/p2p/trades Bearer Trades del usuario como comprador o vendedor
POST
/api/p2p/trades Bearer Iniciar trade contra un anuncio. Body: ad_id, amount
POST
/api/p2p/trades/:id/lock_escrow Bearer Bloquear tokens en escrow (acción del vendedor)
POST
/api/p2p/trades/:id/mark_paid Bearer Marcar pago fiat como enviado (acción del comprador)
POST
/api/p2p/trades/:id/release Bearer Liberar tokens al comprador (vendedor confirma recepción del pago)
POST
/api/p2p/trades/:id/cancel Bearer Cancelar trade antes de que el comprador marque el pago
POST
/api/p2p/trades/:id/dispute Bearer Abrir disputa. Body: reason
GET
/api/p2p/trades/:id/messages Bearer Mensajes del chat del trade
POST
/api/p2p/trades/:id/messages Bearer Enviar mensaje al chat. Body: text
POST
/api/p2p/trades/:id/rate Bearer Calificar el trade completado (1–5 estrellas)
GET
/api/payment-methods público Métodos de pago disponibles por país (Zelle, PayPal, bancos, etc.)
GET
/api/payment-accounts Bearer Cuentas de pago guardadas del usuario
POST
/api/payment-accounts Bearer Guardar nueva cuenta de pago

Estados de un trade

CREATED → Trade iniciado, esperando escrow del vendedor LOCKED → Tokens bloqueados en escrow, comprador puede pagar PAID → Comprador marcó pago enviado, vendedor debe confirmar COMPLETED → Tokens liberados al comprador ✓ CANCELLED → Cancelado antes de marcar pago DISPUTED → Disputa abierta, pendiente resolución de admin

Admin

Requieren cuenta con rol admin. Contacta al equipo SFXM para obtener acceso.
MétodoEndpointDescripción
GET
/api/admin/stats Métricas globales: usuarios, volumen de trades, fees acumuladas
GET
/api/admin/dex-fees Fees DEX acumuladas (0.25% de cada swap). Total y últimas 24h en USD.
GET
/api/admin/users Lista de todos los usuarios registrados
POST
/api/admin/users/:uid/ban Suspender o rehabilitar una cuenta
GET
/api/admin/disputes Disputas P2P abiertas pendientes de resolución
POST
/api/admin/disputes/:id/release Resolver a favor del comprador — liberar tokens
POST
/api/admin/disputes/:id/refund Resolver a favor del vendedor — devolver tokens al escrow
GET
/api/admin/kyc Solicitudes de verificación de identidad pendientes
POST
/api/admin/kyc/:id/approve Aprobar verificación KYC
POST
/api/admin/kyc/:id/reject Rechazar KYC. Body: reason
GET
/api/admin/deposits Depósitos fiat. Filtro: ?status=PENDING
POST
/api/admin/deposits/:id/approve Aprobar depósito — acredita USDT al saldo del usuario
POST
/api/admin/deposits/:id/reject Rechazar depósito. Body: note
GET
/api/admin/tickets Tickets de soporte abiertos

Contratos

Todos los contratos son verificables en explorer.sfx-microsystem.org. La red es compatible con MetaMask y cualquier wallet BEP-20.

DEX

OraclePool 0x10ED43C718714eb63d5aA57B78B54704E256024E DEX principal. Precio oracle Binance. Fee 0.25% por swap.
ABI mínimo — swap y cotización
const ROUTER_ABI = [ // Cotización 'function getAmountsOut(uint amtIn, address[] path) view returns (uint[])', 'function getUsdPrice(address token) view returns (uint256)', // Swaps BNB → Token 'function swapExactETHForTokens(uint amtOutMin, address[] path, address to, uint dl) payable returns (uint[])', // Swaps Token → BNB 'function sfxSwapTokensForNative(uint amtIn, uint amtOutMin, address[] path, address to, uint dl) payable returns (uint[])', // Swaps Token → Token 'function sfxSwapTokensForTokens(uint amtIn, uint amtOutMin, address[] path, address to, uint dl) payable returns (uint[])', ]; const ROUTER = '0x10ED43C718714eb63d5aA57B78B54704E256024E';

Tokens BEP-20

Todos los tokens tienen 18 decimales y son compatibles con el estándar ERC-20/BEP-20.

BNBnativo (no tiene contrato)Moneda nativa de la red
USDT0x55d398326f99059fF775485246999027B3197955Tether USD · $1.00
BTCB0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9cBitcoin BEP-20
ETH0x2170Ed0880ac9A755fd29B2688956BD959F933F8Ethereum BEP-20
BUSD0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56Binance USD · $1.00
CAKE0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82PancakeSwap Token
ADA0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47Cardano BEP-20
XRP0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBEXRP BEP-20
DOGE0xbA2aE424d960c26247Dd6c32edC70B295c744C43Dogecoin BEP-20
SOL0x570A5D26f7765Ecb712C0924E4De545B89fD43dFSolana BEP-20
ERC-20 ABI mínimo
const ERC20_ABI = [ 'function balanceOf(address owner) view returns (uint256)', 'function approve(address spender, uint256 amount) returns (bool)', 'function allowance(address owner, address spender) view returns (uint256)', 'function transfer(address to, uint256 amount) returns (bool)', 'function decimals() view returns (uint8)', ];
SFXM API Reference · v1.6.3 · sfx-microsystem.org