Ruta práctica: activos digitales en la operación

Artículo 12 de 12

100%

completado al llegar aquí

Sistemas distribuidosNota de investigación30 min de lectura

Arquitectura de referencia con Fireblocks, BitGo y Kaleido

Mapa de capacidades a proveedores, límites de integración, webhooks al menos una vez verificados en la cadena y conciliación, con cada mapeo citado o a validar.

Prerequisitos recomendados

Si alguno de estos conceptos todavía está medio nebuloso, empieza por aquí. Te ahorra tropiezos y un par de cejas fruncidas.

Son las 03:10 y llegan dos avisos del mismo depósito de 300.000 USDC: uno de Fireblocks y otro, por error de configuración, de un webhook viejo que nadie apagó. Media hora después llega un tercero, idéntico al primero, porque nuestro servidor tardó en responder. Si cada aviso suma saldo, el cliente tiene 900.000 USDC en nuestro libro. Este capítulo arma la arquitectura que evita ese error: qué hace cada proveedor, qué hace nuestro sistema y cómo se cruzan.

Tres términos ordenan el capítulo. Una capacidad es algo que la operación necesita hacer (guardar llaves, aprobar un retiro, leer la cadena). Un límite de integración es la frontera entre lo que decide el proveedor y lo que decide nuestro sistema. Conciliar es comparar dos o más registros del mismo hecho y explicar cada diferencia antes de seguir.

Brújula de lectura

Actor, evidencia y estado

En una arquitectura con varios proveedores, cada uno informa su versión; el libro propio decide.

Actor

Proveedores, emisores y nuestro orquestador

Fireblocks, BitGo y Kaleido operan llaves, políticas y nodos; Circle y Tether emiten; nosotros llevamos el libro.

Evidencia

Evento firmado más bloque y hash

Un webhook es una pista; la prueba es la transacción leída en un nodo a una altura conocida.

Estado

Libro contable propio

Saldos por cliente, moneda y red; cambia solo tras verificar y se concilia a diario.

Mapa de capacidades: qué resuelve cada proveedor

El punto de partida es lo que cada proveedor documenta de sí mismo, no lo que su marca sugiere. Fireblocks se describe con tres componentes: wallets basadas en MPC (su protocolo MPC-CMP, que nunca reúne la llave privada completa), un motor de políticas que bloquea, aprueba o pide firmantes adicionales según reglas, y gestión de tesorería con cuentas de bóveda segregadas u ómnibus. También integra proveedores de AML/KYT (Chainalysis, Elliptic y TRM Labs), con uno solo por workspace.

BitGo ofrece wallets multifirma y MPC con tres llaves (usuario, respaldo y BitGo) y firma 2 de 3; sus wallets de custodia son todas en frío y BitGo se compromete a completar los retiros desde ellas en 24 horas. Su arquitectura de referencia separa custodia, standby y depósito/retiro, unidas por whitelists. Sus políticas se definen por destino, iniciador, porcentaje del saldo, umbral, velocidad o respuesta de un webhook.

Kaleido se presenta en dos frentes. Su custodia no genera ni guarda llaves: estas viven en el HSM o keystore que elige el cliente, y las políticas se escriben como código Rego (Open Policy Agent) y se aplican antes de firmar. Y su capa de infraestructura da nodos gestionados para redes públicas EVM y no EVM, enrutamiento JSON-RPC e indexación.

Los emisores completan el mapa. Circle Mint es el canal para acuñar y redimir USDC con Circle, por consola o API. Para USDT, emitir y redimir directamente exige ser cliente verificado de Tether. En lo que pudimos consultar de tether.to no hay una API documentada para automatizar ese flujo; su integración queda a validar con el proveedor y, mientras tanto, se diseña como un proceso manual con doble control.

La matriz siguiente es la propuesta inicial. Cada celda dice "documentado" solo si la fuente citada lo respalda; el resto queda a validar contra el contrato.

CapacidadFireblocksBitGoKaleidoPropuesta
Llaves y firmaMPC-CMP, documentado Multifirma y MPC 2 de 3, documentado HSM o keystore del cliente, documentado Fireblocks para hot/warm; BitGo para frío
Políticas de aprobaciónPolicy Engine Policy Builder Políticas OPA Una por wallet, nunca dos sobre el mismo saldo
Custodia de terceros en fríoA validarCustodia cold, documentado A validarBitGo
Screening KYTIntegración AML/KYT A validarPolíticas con screening Proveedor KYT de Fireblocks
Lectura independiente de la cadenaNo aplicaNo aplicaNodos e indexación Kaleido o nodo propio
Acceso a USDCA validar (conexión a Circle Mint)A validarNo aplicaCircle Mint directo
Acceso a USDTA validarA validarNo aplicaCuenta Tether o intermediario
Superficie de integración con CircleUSDC Gateway y off-ramp a CPN, documentado Sin integración con Circle en lo consultado; a validarNo aplicaMint API o Institutional API ; CPN con wallet propia ; elección a validar
Liquidación con contrapartesA validarGo Network entre Go Accounts, documentado No aplicaSegún el módulo 11

Las dos últimas filas son nuevas. La de Circle no nombra el "Circle Direct Adapter" porque ninguna documentación oficial usa ese término; el capítulo de USDC lista sus candidatos documentados, a validar con el proveedor. La de liquidación usa Go Network, que BitGo describe como la red que conecta empresas mediante sus Go Accounts, wallets ómnibus de custodia en frío con libro fuera de la cadena; BitGo no documenta un producto llamado "BitGo market maker", y ese mapeo también queda a validar con el proveedor. Esa capacidad se trata en liquidez y liquidación.

Límites de integración: qué vive en el proveedor y qué en el nuestro

La regla que ordena la frontera es una: el proveedor decide si una firma ocurre; nuestro sistema decide si un saldo existe para el cliente. Las políticas de aprobación, la lista blanca de destinos y las llaves viven en el proveedor, donde las protege su propio quórum. El libro contable por cliente, moneda y red, la idempotencia de las órdenes y la conciliación viven en nuestro sistema, porque ningún proveedor ve el total.

Esa frontera tiene una consecuencia de diseño. No conviene replicar las políticas del proveedor en nuestro código (se desalinean), pero sí registrar qué política estaba vigente cuando se aprobó cada movimiento. Y hay excepciones que el libro debe conocer: BitGo advierte que una recuperación con la llave de usuario y la de respaldo no pasa por sus políticas. Un procedimiento de recuperación, por tanto, se registra en nuestro libro como evento extraordinario con aprobación propia.

Figura 1

Arquitectura de referencia: proveedores, bandeja de eventos, verificación y libro

Fuentes:

[11][12][13]
Arquitectura de referencia: proveedores, bandeja de eventos, verificación y libro
Cómo leer esta figura

Fila superior con cinco cajas: Fireblocks (MPC hot y warm, políticas, KYT), BitGo (custodia cold, whitelists), Circle Mint (mint y redeem de USDC), Tether en ocre (cuenta verificada, API a validar) y Banco (wires y extractos). De Fireblocks, BitGo y Circle Mint bajan flechas azules hasta una línea horizontal rotulada webhooks firmados, al menos una vez, sin orden garantizado; de Tether baja una flecha discontinua ocre. Fila central: bandeja de eventos que deduplica por id, flecha a verificar on-chain con bloque, hash y saldo, flecha verde a libro contable como fuente de verdad propia, flecha verde a conciliación diaria que compara libro, proveedor y cadena, y flecha roja rotulada difiere hacia excepciones, retener y escalar. Del banco baja una línea discontinua rotulada extractos hasta la conciliación. Fila inferior: de verificar on-chain baja una flecha a nodos e indexación, Kaleido o nodo propio, que apunta a redes públicas como Ethereum, Tron y Solana; de la conciliación baja una línea discontinua rotulada saldos del proveedor hacia las redes. Nota final: cada evento es una pista, no un hecho; el libro solo cambia tras verificar.

Visual original de TrautsLab. Los proveedores y emisores envían webhooks a una bandeja que deduplica; cada evento se verifica en un nodo antes de cambiar el libro; la conciliación diaria compara libro, proveedor, extractos y cadena, y las diferencias van a excepciones.

Dónde corre cada firmante en nuestra red

Escenario: seguridad revisa el diagrama de red del Middleware Blockchain y pregunta qué servidores tocan material de llave. Con Fireblocks y BitGo la respuesta no es "ninguno": la firma automática exige componentes que corren en nuestra infraestructura. La tabla los ubica; el detalle de configuración, réplicas y TLS está en el módulo 6, firma operativa.

ComponenteProveedorDónde correQué material tocaZona de red sugerida
BitGo ExpressBitGoNuestro centro de datos o nube, como servicio localLlave de usuario (o fragmento MPC) cifrada, para firmar parcialmenteInterna; solo el orquestador la llama
Signer externo de ExpressBitGoSegunda instancia de Express, aisladaLlaves de usuario cifradas y sus contraseñasAislada, sin acceso entrante desde internet
Advanced Wallets (MBE y AWM)BitGoDos servidores Express dedicados; AWM en subred sin internetLlaves de usuario y respaldo en nuestro HSM o KMSAWM aislado, solo mTLS con MBE y con el KMS
API Co-signerFireblocksNuestra nube o servidores, dentro de un enclaveFragmento MPC o llave de aprobación del usuario de APISalida hacia Fireblocks; callback hacia nuestra lógica

Fuentes. BitGo describe Express como un servicio ligero que corre como demonio en nuestro centro de datos y hace de proxy de su API, con la promesa de que las llaves privadas nunca salen de nuestra red. Su README exige TLS cuando Express apunta a producción y escucha en interfaces externas. El modo de signer externo añade una instancia en una máquina aislada donde se guardan las llaves de usuario y se firma, y no es compatible con wallets MPC ECDSA. En Advanced Wallets, el AWM es un servidor aislado en una subred interna sin internet que solo acepta tráfico de MBE y solo habla con nuestro KMS, por TLS mutuo. Fireblocks pide alojar el API Co-signer en nuestro entorno, en una máquina con enclaves (Intel SGX, AWS Nitro o Google Cloud Confidential Space), y permite conectar un callback handler que aprueba o rechaza cada solicitud; sin él, el co-signer firma o aprueba todo lo que le llega para ese usuario de API.

Dos reglas salen de la tabla. Primera: en el diagrama, cada uno de estos componentes es una zona de confianza propia, no un microservicio más del orquestador. Segunda: el callback handler y la regla de política por webhook de BitGo son el punto donde nuestra lógica de negocio vuelve a mirar cada firma; si no existen, la política del proveedor es el único control. Con wallets de custodia de BitGo no hace falta ninguno de los dos componentes de BitGo, porque firma BitGo.

Eventos y webhooks: al menos una vez, y verificados en la cadena

Un webhook es una llamada HTTP que el proveedor hace a nuestro servidor cuando algo cambia. Los tres que entregan eventos documentan lo mismo con distintas palabras. Circle entrega cada notificación al menos una vez, puede repetirla y no garantiza el orden; pide deduplicar por notificationId. Fireblocks avisa que el mismo evento puede llegar varias veces y que no garantiza el orden, y recomienda guardar los ID procesados y comparar createdAt. BitGo pide que la aplicación funcione aunque reciba el mismo webhook dos veces.

Los reintentos marcan cuánto puede tardar un evento. Fireblocks reintenta con espera creciente (10 segundos, 30, 120, hasta 14.400) y marca la notificación como fallida tras diez intentos. BitGo hace hasta siete intentos más, de 1 a 240 minutos, y suspende un webhook tras fallos consecutivos. Sobre reenviar lo perdido, la guía de buenas prácticas de Fireblocks habla de hasta 24 horas y su resumen de Webhooks V2 de hasta 30 días; cuál aplica al workspace contratado queda a validar con el proveedor.

Antes de procesar, se verifica el origen. Fireblocks firma cada webhook con JWS y publica las llaves públicas en un endpoint JWKS por entorno. BitGo firma con HMAC usando un secreto que el cliente crea y rota, y publica las IP de salida. Un evento sin firma válida se descarta y se registra; no se responde con error que dispare reintentos inútiles.

Verificado el origen, el evento todavía no es un hecho. Fireblocks recomienda no acreditar al recibir el aviso de transacción: esperar el evento de saldo con una altura de bloque igual o mayor y comparar con la cadena; si no coinciden, no acreditar hasta investigar. También pide comparar el hash del bloque, porque una reorganización puede cambiarlo a la misma altura. En Ethereum, la consulta al nodo se hace contra una etiqueta de bloque explícita (latest, safe o finalized). El capítulo Indexadores, eventos y reorgs desarrolla ese mecanismo.

Kaleido describe sus FireFly Connectors como una entrega de transacciones "exactamente una vez" y un flujo de eventos "sin eventos perdidos". Aunque sea así dentro de su capa, nuestra bandeja no cambia de contrato: deduplica por ID y verifica en la cadena, porque el riesgo está en el tramo entre su sistema y el nuestro. Elegir qué nodo consulta esa verificación es otra decisión; diversidad de clientes explica por qué conviene que no sea el mismo que usa el custodio.

Contrato de la bandeja

De webhook a asiento contable

Secuencia ilustrativa; los nombres de campo cambian por proveedor y se documentan en el adaptador de cada uno.
  1. Recibir y responder 2xxGuardar el cuerpo crudo y responder rápido; procesar en cola asíncrona.
  2. Verificar firmaJWS/JWKS en Fireblocks, HMAC en BitGo, firma de Circle; si falla, descartar y registrar.
  3. DeduplicarClave única por proveedor e ID de evento; un duplicado no produce efectos.
  4. Leer el estado actualConsultar la API del proveedor; no confiar en el orden de llegada.
  5. Verificar en la cadenaTransacción, contrato del token, destino, altura y hash de bloque en un nodo independiente.
  6. Asentar en el libroAsiento idempotente con referencia al evento, al bloque y a la política vigente.

Conciliación: tres libros que deben cuadrar

Volvamos al depósito duplicado de las 03:10. Con la bandeja anterior, el segundo y el tercer aviso no producen efectos y el libro tiene 300.000 USDC. La conciliación diaria es la segunda red de seguridad: compara, por moneda y red, el libro propio, lo que informa cada proveedor (saldos de bóveda o wallet) y la cadena leída en nuestro nodo. Para el tramo bancario de USDC se suma el extracto CAMT.053 diario que genera Circle Mint.

Cada diferencia tiene dueño y plazo. Las más comunes son tres: un evento que nunca llegó (se recupera con un reenvío o una consulta al arrancar, como recomienda Fireblocks tras una caída), un asiento sin respaldo en la cadena (se revierte con aprobación) y un saldo en la cadena que nadie registró (se investiga como posible depósito no atribuido). Hasta que una diferencia se explica, la wallet afectada no envía.

La invariante del libro ómnibus

Los tres libros (el propio, el del proveedor y la cadena) solo cuadran si el libro propio respeta una regla, que en el Middleware Blockchain es la más importante: la suma de los saldos de todos los clientes en nuestro libro es igual al saldo en la cadena de las wallets ómnibus que los respaldan, por moneda y red, descontadas las operaciones en curso. Ningún proveedor la vigila por nosotros. Fireblocks lo dice sin rodeos: no ofrece un componente de libro interno para esta necesidad y cada cliente lo implementa como quiera; y, en redes con memo o tag, al no haber un saldo en la cadena por cliente que validar, nuestro sistema interno se vuelve la fuente de verdad.

La invariante se comprueba en dos momentos. En cada depósito, antes de acreditar, con la validación por altura y hash de bloque descrita arriba. Y en el cierre diario, sumando el libro por moneda y red y comparándolo con la cadena y con el proveedor. Una diferencia en el cierre no se corrige ajustando el libro: se explica, asiento por asiento. Cómo se construye ese libro, qué equivalente de "subcuenta sintética" ofrece cada proveedor y cómo se atribuye cada depósito se desarrolla en el módulo 8, ómnibus y libro interno.

Cuando dos proveedores cubren lo mismo: criterios para elegir

La matriz muestra solapamientos: los tres ofrecen políticas, y Fireblocks y BitGo ofrecen llaves MPC. Elegir por marca lleva a dos motores de políticas sobre el mismo saldo, que es el peor de los mundos: dos lugares donde un cambio puede abrir una puerta. Los criterios siguientes sirven para decidir cada solapamiento y dejar la razón escrita.

Criterios

Cómo decidir un solapamiento entre proveedores

Recomendado

Quién responde por la llave

Custodia de terceros (BitGo en frío) frente a llaves operadas por nosotros (Fireblocks MPC, Kaleido con HSM propio).

Ideal para
Separar el saldo que no se mueve del que opera a diario.
Ojo con
Los plazos de retiro de custodia (BitGo documenta 24 horas) condicionan la reposición.

Dónde se aplica la política

Un solo motor de políticas por saldo; el otro proveedor queda como destino aprobado.

Ideal para
Evitar reglas duplicadas que se desalinean.
Ojo con
Las recuperaciones pueden saltarse el motor del proveedor; registrarlas aparte.
Precaución

Dependencia de proveedor

Cuánto cuesta salir: formato de llaves, exportación de historial, identificadores de activo propios.

Ideal para
Capacidades críticas donde un cambio de proveedor es plausible.
Ojo con
Mapear los identificadores de activo de cada proveedor a uno interno por moneda y red.
Aplicar por capacidad y por tipo de wallet; registrar la decisión y la evidencia en la matriz del entregable.

Un último criterio es la dependencia de proveedor (vendor lock-in): cuánto cuesta cambiar. Se mide con preguntas concretas que el contrato debe responder: si las llaves o fragmentos se pueden exportar, si el historial de transacciones se puede descargar completo, y cuánto código depende de identificadores propios del proveedor. Nuestro libro usa un identificador interno por moneda y red, y cada adaptador traduce; así cambiar un proveedor toca un adaptador, no el núcleo.

Lista de verificación

Decisiones del módulo

0 de 8 revisados

Entregable: matriz capacidad-proveedor validada

El entregable es la matriz de la primera sección, convertida en documento vivo. Cada celda pasa por tres estados: propuesta (sale de este capítulo), documentada (hay una fuente oficial citada) y validada (el proveedor la confirmó por escrito para nuestro contrato). Solo las celdas validadas entran en producción.

CapacidadProveedor principalAlternativaEvidenciaEstadoResponsable
Llaves hot/warmFireblocksKaleido con HSMDocs citadasDocumentadaArquitectura
Custodia en fríoBitGoA definirDocs citadasDocumentadaTesorería
Políticas de aprobaciónLa del custodio de cada walletNo aplicaDocs citadasPropuestaSeguridad
KYTIntegración AML/KYT de FireblocksA validarDocs citadasPropuestaCumplimiento
Lectura de cadenaKaleidoNodo propioDocs citadas; Tron a validarPropuestaPlataforma
USDCCircle MintIntermediarioMódulo 9PropuestaTesorería
USDTCuenta TetherIntermediarioMódulo 10PropuestaTesorería
Firmantes en nuestra redCo-signer de Fireblocks; Express de BitGoAdvanced Wallets con HSM propioDocs citadas; módulo 6PropuestaSeguridad
Libro ómnibusLibro propioNo aplicaInvariante diaria; módulo 8PropuestaContabilidad
Integración con CircleSuperficie a confirmarIntermediarioMódulo 9; nombre del adaptador a validarPropuestaArquitectura
Liquidación con contrapartesBitGo Go NetworkA definirDocs citadas; módulo 11PropuestaTesorería

Este es el último capítulo de la ruta, el módulo 12. El anterior, liquidez y liquidación, cierra el circuito con contrapartes; USDC y Circle Mint y USDT y Tether definen los flujos con los emisores; Custodia, firma operativa, AML y KYT y ómnibus y libro interno fijan quién aprueba, qué corre en nuestra red, qué se analiza y cómo se lleva el libro. La arquitectura de una dApp en producción muestra el mismo patrón de idempotencia desde el lado del contrato.

Referencias

Bibliografía académica

Formato IEEENumerado para ingeniería, sistemas y protocolos.
  1. [1]

    Fireblocks, "What is Fireblocks?," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/what-is-fireblocks

    Wallets MPC-CMP, Policy Engine, cuentas de bóveda segregadas u ómnibus y Fireblocks Network.

  2. [2]

    Fireblocks, "AML/KYT overview," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/aml-kyt-overview

    Proveedores de AML/KYT integrados, un proveedor por workspace y rutas no analizadas.

  3. [3]

    BitGo, "BitGo wallet types," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/wallet-types

    Wallets multifirma y MPC con tres llaves, custodia en frío, Go Account y SLA de retiros de custodia.

  4. [4]

    BitGo, "Custody starter architecture overview," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/custody-starter-architecture-overview

    docsID: BG-CUSTODY-STARTERAbrir fuente (abre en otra pestaña)

    Tres wallets por moneda (custodia, standby, depósito/retiro) y whitelists entre ellas.

  5. [5]

    BitGo, "Policies overview," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/policies-overview

    Tipos de reglas de política y excepción de la recuperación con llave de usuario y de respaldo.

  6. [6]

    Kaleido, "Custody," kaleido.io. [Online]. Available: https://www.kaleido.io/product/custody

    Custodia sobre HSM o keystore elegido por el cliente, políticas OPA en la capa de firma y flujos de aprobación.

  7. [7]

    Kaleido, "Public chains," kaleido.io. [Online]. Available: https://www.kaleido.io/product/public-chains

    docsID: KALEIDO-PUBLIC-CHAINSAbrir fuente (abre en otra pestaña)

    Nodos gestionados para redes públicas, enrutamiento JSON-RPC, indexación y orquestación de transacciones.

  8. [8]

    Kaleido, "FireFly Connectors," kaleido.io. [Online]. Available: https://www.kaleido.io/product/firefly-connectors

    docsID: KALEIDO-CONNECTORSAbrir fuente (abre en otra pestaña)

    Capa de orquestación de transacciones y flujo de eventos de cadena hacia sistemas internos.

  9. [9]

    Circle, "Circle Mint," Circle Docs. [Online]. Available: https://developers.circle.com/circle-mint

    Circle Mint como canal institucional para acuñar y redimir USDC, por consola o API.

  10. [11]

    Fireblocks, "Best practices for webhooks," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/reference/webhooks-best-practices

    Eventos duplicados, orden no garantizado, respuesta 2xx rápida, cola asíncrona y reenvío tras caídas.

  11. [12]

    Circle, "Webhooks," Circle API Reference. [Online]. Available: https://developers.circle.com/api-reference/webhooks

    Entrega al menos una vez, deduplicación por notificationId y sin orden garantizado.

  12. [13]

    Fireblocks, "Validate balances," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/validate-balances

    docsID: FB-VALIDATE-BALANCESAbrir fuente (abre en otra pestaña)

    Conciliar cada depósito contra la cadena por altura y hash de bloque antes de acreditar.

  13. [14]

    BitGo, "Webhooks overview," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/webhooks-overview

    Firma HMAC, idempotencia, reintentos, IPs de salida y suspensión de webhooks.

  14. [15]

    Fireblocks, "Responses & retries," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/reference/webhooks-gettingstarted-responsesretries

    docsID: FB-WEBHOOKS-RETRIESAbrir fuente (abre en otra pestaña)

    Calendario de reintentos con backoff exponencial y límite de diez intentos.

  15. [16]

    Fireblocks, "Webhooks overview," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/reference/webhooks-overview

    docsID: FB-WEBHOOKS-OVERVIEWAbrir fuente (abre en otra pestaña)

    Webhooks V2: catálogo de eventos, suscripciones y reenvío programático.

  16. [17]

    Fireblocks, "Validating webhooks," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/reference/validating-webhooks

    docsID: FB-WEBHOOKS-VALIDATEAbrir fuente (abre en otra pestaña)

    Firma de cada webhook con JWS desacoplado y llaves publicadas en JWKS.

  17. [18]

    ethereum.org, "JSON-RPC API," Ethereum developer documentation. [Online]. Available: https://ethereum.org/developers/docs/apis/json-rpc/

    Parámetro de bloque con las etiquetas latest, safe y finalized.

  18. [19]

    Circle, "CAMT.053 daily statements," Circle Docs. [Online]. Available: https://developers.circle.com/circle-mint/references/camt053-statements

    docsID: CIRCLE-MINT-CAMT053Abrir fuente (abre en otra pestaña)

    Extracto diario ISO 20022 de la actividad USDC y EURC para conciliación.

  19. [20]

    BitGo, "Install BitGo Express," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/get-started-express-install

    docsID: BG-EXPRESS-INSTALLAbrir fuente (abre en otra pestaña)

    Express como servicio local que hace de proxy de la API y firma parcialmente; las llaves no salen de nuestra red.

  20. [21]

    BitGo, "BitGo Express README," BitGoJS repository, GitHub. [Online]. Available: https://raw.githubusercontent.com/BitGo/BitGoJS/master/modules/express/README.md

    TLS obligatorio en producción con interfaces externas; NODE_ENV; CA fijadas para dominios de BitGo; reglas del modo signer.

  21. [22]

    BitGo, "External-Signer Mode," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/wallets-external-signer-mode

    docsID: BG-EXTERNAL-SIGNERAbrir fuente (abre en otra pestaña)

    Instancia de Express aislada con llaves de usuario; incompatible con MPC ECDSA; contraseñas por variable de entorno.

  22. [23]

    BitGo, "Set Up Advanced Wallets Infrastructure," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/advanced-wallets-set-up-infrastructure

    MBE y AWM; AWM en subred sin internet con mTLS hacia MBE y KMS; integración del proveedor de llaves a cargo del cliente.

  23. [24]

    Fireblocks, "API Co-signers Architecture Overview," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/cosigners/overview/cosigner-architecture-overview

    Co-signer alojado por el cliente en enclaves SGX, Nitro o GCP; callback handler; en workspaces cold solo aprueba.

  24. [25]

    Fireblocks, "Manage Deposits at Scale," Fireblocks Developer Docs. [Online]. Available: https://developers.fireblocks.com/docs/manage-deposits-at-scale

    Estructura segregada (B2B) u ómnibus (B2C); el libro interno corre a cargo del cliente; con memo/tag el sistema interno es la fuente de verdad.

  25. [26]

    Fireblocks, "USDC Gateway," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/usdc-gateway

    Conecta cuentas de bóveda con Circle Gateway; saldo USDC unificado entre redes.

  26. [27]

    Fireblocks, "Circle Payments Network (CPN) API Guide," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/circle-payments-network-cpn-api-guide

    CPN como off-ramp basado en cuenta; requiere cuenta CPN conectada y aprobada en el workspace.

  27. [28]

    Circle, "Institutional API," Circle Developer Docs (Circle Mint). [Online]. Available: https://developers.circle.com/circle-mint/concepts/institutional-api

    docsID: CIRCLE-INSTITUTIONAL-APIAbrir fuente (abre en otra pestaña)

    Distribuidor con entidades externas y end_user_wallet por entidad; facturación Institutional Direct.

  28. [29]

    Circle, "Bring your own wallet for CPN," Circle Developer Docs. [Online]. Available: https://developers.circle.com/cpn/concepts/wallets/bring-your-own-wallet

    Infraestructura de wallets propia o de terceros con CPN; CPN no accede a llaves.

  29. [30]

    BitGo, "Go Network Overview," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/go-network-overview

    Asignaciones, operaciones y liquidaciones entre empresas usando Go Accounts ómnibus con libro fuera de la cadena.

Fuentes primarias, papers seminales y especificaciones técnicas citadas en esta investigación.

Rutas vecinas

Si este tema te abrió hambre, sigue por aquí.

Series y labs que comparten área o dependen de esta ruta. Pocas opciones, para no convertir la curiosidad en menú infinito.

Sigue leyendo

Ideas conectadas con este artículo

Una ruta corta para continuar sin abrir veinte pestañas y perder el hilo.

Los comentarios se cargan al final de la lectura para no meter peso antes de tiempo.