🔌 API SrBitcoin

Todas las respuestas son JSON (excepto el stream SSE). No requiere registro para los endpoints públicos. Cuenta demo con dinero virtual en los endpoints autenticados.

⏱️ Límites de tasa

Ventana deslizante por IP. Al exceder el límite la API responde 429 con cabecera Retry-After. No se aplica baneo permanente.

EndpointLímite
/api/prices.php60 req / min
/api/crypto-prices.php60 req / min
/api/funds-live.php30 req / min
/api/prices-stream.php12 conexiones / 2 min
/api/account.php auth120 req / min · 20 intentos de key / min
/api/notifications-sr.php auth90 req / min
/api/referral.php auth60 req / min

GET/api/prices.phppúblico

Precios EUR de 8 criptos con variación 24 h. Cache de 60 s; se recomienda polling cada 10–30 s.

curl https://srbitcoin.com/api/prices.php // 200 OK { "bitcoin": { "eur": 58432.18, "eur_24h_change": 1.24 }, "ethereum": { "eur": 2641.50, "eur_24h_change": -0.61 }, "solana": { "eur": 142.90, "eur_24h_change": 3.10 } // … litecoin, ripple, tether, dash, bitcoin-cash }

GET/api/crypto-prices.phppúblico

Igual que el anterior más volumen 24 h y market cap, con 10 criptos (añade cardano y polkadot).

curl https://srbitcoin.com/api/crypto-prices.php // 200 OK { "bitcoin": { "eur": 58432.18, "eur_24h_change": 1.24, "eur_24h_vol": 31234567890, "eur_market_cap": 1152000000000 } }

GET/api/funds-live.phppúblico

Catálogo de fondos PAMM activos con NAV indicativo marcado en tiempo real (betas BTC/ETH), retornos 7 d/30 d/YTD, Sharpe, Sortino, drawdown máximo y sparkline de 30 días. Cache de 15 s. Ideal para polling cada 15–30 s.

curl https://srbitcoin.com/api/funds-live.php // 200 OK — funds es un objeto indexado por id { "ok": true, "ts": 1755172800, "btc_eur": 58432.18, "eth_eur": 2641.50, "funds": { "btc_momentum": { "slug": "btc-momentum", "name": "BTC Momentum", "manager": "A. Vega", "verified": true, "live_nav": 1.2834, "official_nav": 1.2751, "day_change_pct": 0.84, "return_7d": 1.9, "return_30d": 6.4, "return_ytd": 28.3, "sharpe": 1.42, "sortino": 1.78, "max_drawdown": -12.5, "aum": 482300, "investors": 34, "performance_fee": 20, "minimum_investment": 100, "spark": [ 1.19, 1.20, … ], "url": "pamm/fondo/btc-momentum" } } }

SSE/api/prices-stream.phppúblico

Server-Sent Events con BTC y ETH cada 5 s. Cada conexión vive ~110 s y el navegador se auto-reconecta.

const es = new EventSource('/api/prices-stream.php'); es.onmessage = (e) => { const d = JSON.parse(e.data); // { ts, btc, eth, btc_24h, eth_24h } console.log(`BTC ${d.btc} € (${d.btc_24h}%)`); };

🔐 API autenticada API Keys

Opera tu cuenta demo programáticamente. Genera tu clave en Mi Perfil → API Keys. Formato sk_live_… — se muestra una sola vez; se guarda hasheada (SHA-256). Envíala siempre en la cabecera:

Authorization: Bearer sk_live_3f9a2c…

GET/api/account.phpauth

?action=overviewpor defecto — saldo, portfolio, margen bloqueado ?action=positionsposiciones apalancadas abiertas (con SL/TP y precio de liquidación) ?action=transactions&limit=50historial (1–200, más recientes primero)
curl -H "Authorization: Bearer $KEY" \ https://srbitcoin.com/api/account.php // 200 OK { "ok": true, "data": { "eur_balance": 9750.20, "portfolio_value_eur": 1240.55, "total_value_eur": 10990.75, "portfolio": [ { "crypto": "BTC", "amount": 0.0212, "value_eur": 1240.55 } ], "leverage_positions_open": 1, "leverage_margin_blocked_eur": 150.00, "account_type": "demo" } }

POST/api/account.phpauth

Cuerpo JSON. Acciones: buy, sell, lev_open, lev_close.

actionbuy/sell: compra/venta a mercado con spread 0,5 % cryptoid soportado: bitcoin, ethereum, litecoin, ripple, tether, dash, bitcoin-cash amountbuy/sell: cantidad en UNIDADES DE CRIPTO (p.ej. 0.05 = 0,05 BTC) side / leverage / margin_eurlev_open: long|short, 1–20x, margen en EUR (mín. 10) tp_price / sl_priceopcional en lev_open — take-profit y stop-loss automáticos (EUR) position_idlev_close: id de la posición a cerrar (crypto se ignora)
curl -X POST -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{"action":"lev_open","crypto":"bitcoin","side":"short", "leverage":10,"margin_eur":50,"sl_price":62000,"tp_price":52000}' \ https://srbitcoin.com/api/account.php // 200 OK { "ok": true, "message": "Leverage position opened", "balance": 9950.00, "position": { "id": "lev_9c1f…", "entry_price": 58286.02, "liq_price": 64114.62, "size": 0.00858, "tp_price": 52000, "sl_price": 62000 } }

GETPOSTPUTDEL/api/notifications-sr.phpauth sesión

Notificaciones de la cuenta con sesión iniciada (cookie). GET lista (?limit=50), POST crea, PUT marca leída ({ "notification_id": "…" }), DELETE elimina. Los métodos que mutan exigen csrf_token.

GETPOST/api/referral.phpauth sesión

?code=XXXX info de un referido · ?stats=XXXX estadísticas · POST action=track / action=convert (form-encoded, requiere csrf_token; un clic cuenta por IP y hora).

⚠️ Códigos de error

CódigoSignificado
400Parámetros inválidos o acción desconocida
401API key ausente, inválida o revocada
429Límite de tasa excedido — respeta Retry-After
503Proveedor de precios no disponible (reintenta)

Los endpoints operan sobre cuenta demo con dinero virtual. El uso implica la aceptación de nuestros términos y aviso de riesgo.