RentMiningRigs Developer API
Acceso programático a compra y gestión de hashpower institucional, inventario de hardware en vivo, sistema de saldo recargable vía depósitos MRR, telemetría stratum en tiempo real y asignación por cliente.
1 Autenticación y Configuración Inicial
Todas las solicitudes a la API de RentMiningRigs se realizan sobre HTTPS utilizando https://rentminingrigs.net/api/v1.
Debes incluir tu clave API en la cabecera HTTP Authorization: Bearer <API_KEY> o X-API-Key: <API_KEY>.
curl -s -H "Authorization: Bearer rmr_test_b2b_demo_secret_key_7788" \
https://rentminingrigs.net/api/v1/balance
2 Sistema de Saldo y Depósitos
RentMiningRigs opera bajo un modelo de saldo en USD recargable. Depositas criptomonedas (BTC, LTC, ETH, BCH o DOGE) en las direcciones oficiales, las cuales se abonan a tu saldo al tipo de cambio de mercado. Cada pedido o contrato de minería que creas debita su coste automáticamente de tu balance disponible.
Los depósitos confirmados en la blockchain se suman automáticamente al saldo.
3 Inventario de Hardware Real (White-Label) & Algoritmos
El endpoint GET /api/v1/rigs consulta el inventario en tiempo real de nodos y rigs dedicados (SHA-256, Scrypt, Etchash, KawPow, RandomX, etc.).
Todos los rigs se muestran con un nombre neutro de cluster ("Dedicated Cloud Node #ID") y precios con tu margen de partner ya aplicado, omitiendo datos de terceros.
{
"success": true,
"sandbox": false,
"algorithm": "kawpow",
"count": 5,
"b2b_margin_applied": "5%",
"rigs": [
{
"rig_id": "272687",
"name": "Dedicated Cloud Node #272687 (KAWPOW)",
"algorithm": "kawpow",
"status": "available",
"online": true,
"region": "us-west",
"hashrate": {
"advertised_value": 1,
"advertised_unit": "GH/s",
"advertised_human": "1.00G",
"hashrate_mh": 1000
},
"rental_limits": {
"min_hours": 12,
"max_hours": 1500
},
"pricing": {
"price_usd_per_day": 17.45,
"price_usd_per_hour": 0.727,
"b2b_margin_percent": 5,
"currency_accepted": ["USD_BALANCE", "BTC", "LTC"]
},
"dedicated": true
}
]
}
4 Creación de Contratos de Minería (Órdenes Automatizadas)
Crea y provisiona contratos de minería en caliente con entrega inmediata. El importe total se liquida automáticamente de tu saldo.
El campo obligatorio customer_ref permite aislar el hashrate por cada uno de tus clientes o usuarios finales.
{
"customer_ref": "client_rvn_miner_01",
"customer_label": "Ravencoin GPU Pool Client",
"algo": "kawpow",
"hashrate": 500,
"unit": "MH",
"duration_hours": 24,
"pool": {
"host": "rvn.2miners.com",
"port": 6060,
"worker": "RDmP6mD79N9tC7sF1mN14WjEwG6qL9tZ2B.rig01",
"password": "x"
}
}
{
"customer_ref": "client_enterprise_99",
"customer_label": "Enterprise Account Alpha",
"algo": "sha256",
"hashrate": 50,
"unit": "TH",
"duration_hours": 24,
"pool": {
"host": "stratum.braiins.com",
"port": 3333,
"worker": "enterprise.worker1",
"password": "x"
}
}
5 Telemetría y Estadísticas en Vivo
Consulta GET /api/v1/contracts/{uuid}/telemetry para monitorizar hashrate en tiempo real, shares aceptados/rechazados, porcentaje de eficiencia y tiempo restante de ejecución.
{
"success": true,
"telemetry": {
"contract_uuid": "b66e30e6-5f41-4074-8cec-ef879a4ee549",
"customer_ref": "client_enterprise_99",
"algo": "sha256",
"status": "active",
"target_hashrate_human": "50.00 TH/s",
"live_hashrate_human": "50.35 TH/s",
"efficiency_percent": 100.7,
"accepted_shares": 382,
"rejected_shares": 0,
"remaining_seconds": 86309,
"nodes_online": 1,
"stratum_pool": {
"host": "stratum.braiins.com",
"port": 3333,
"worker": "enterprise.worker1"
}
}
}
6 Modificación de Stratum Pool en Caliente
Permite a tus clientes redirigir su hashrate a otro pool sin cancelar ni reiniciar el contrato mediante POST /api/v1/contracts/{uuid}/pool.
curl -s -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"host": "btc.f2pool.com",
"port": 3333,
"worker": "enterprise.failover_worker",
"password": "x"
}' \
https://rentminingrigs.net/api/v1/contracts/{uuid}/pool
7 Webhooks y Verificación de Firma HMAC
Recibe notificaciones en tu servidor cuando los contratos se activen, completen o cuando se acredite un depósito.
Cada evento incluye la cabecera X-Mining-Signature: t=...,v1=... firmada con tu api_secret mediante HMAC-SHA256.
const crypto = require('crypto');
function verifyWebhook(rawPayload, signatureHeader, apiSecret) {
const parts = Object.fromEntries(signatureHeader.split(',').map(s => s.split('=')));
const timestamp = parts.t;
const expectedHash = parts.v1;
const hmac = crypto.createHmac('sha256', apiSecret);
const calculated = hmac.update(`${timestamp}.${rawPayload}`).digest('hex');
return crypto.timingSafeEqual(Buffer.from(expectedHash), Buffer.from(calculated));
}