Todas las publicaciones
INGENIERÍA

Por qué Stratum usa datos del ledger de Bitfinex

ST
Stratum Engineering
·12 de mayo de 2026·8 min de lectura

Cuando le preguntas a un bot de préstamos cuánto ganaste el mes pasado, el informe debería ser fácil de conciliar con los propios datos de financiación de Bitfinex. Eso empieza con los eventos del ledger, no con la APR de portada.

Una simple instantánea del saldo puede ser útil, pero no basta para un informe apto para auditorías. Los depósitos, las transferencias, las comisiones, los créditos de interés, el momento de la conversión de divisas y las reversiones afectan a lo que ve un prestamista con el tiempo.

Por esa razón, Stratum trata los eventos del ledger de Bitfinex como la fuente del informe. Cada crédito o comisión puede almacenarse con el payload original y rastrearse después cuando exportas, revisas o concilias.

"La promesa útil no es una precisión mágica. Es la trazabilidad: cada línea del informe debería poder remontarse a los datos del exchange."

El enfoque basado en el ledger

Stratum sincroniza los datos del ledger de financiación de Bitfinex, elimina duplicados por identidad de evento y conserva el payload original del exchange cuando es práctico. Eso le da a los informes un rastro estable que se remonta a lo que devolvió Bitfinex en ese momento.

typescript · ledger-replay.ts
const events = await bitfinex.ledger.list({
  category: 'funding-credit',
  start: lastSyncCursor,
});

for (const e of events) {
  await db.ledger.upsert({
    id: e.id,                          // dedupe key
    timestamp: e.mts,                  // ms since epoch
    currency: e.currency,
    amount: e.amount,                  // signed, native units
    usdAt: await fxAt(e.currency, e.mts),
    raw: e,                            // archive original
  });
}

Ese último campo — raw — es la clave. Conservar el payload original hace que los informes sean más fáciles de depurar y explicar después.

Qué consigues con esto

¿Tienes preguntas o comentarios sobre esta publicación? Únete a la lista de espera de la comunidad y abriremos el debate cuando se lance.