Cómo monitorizar una vault de lending curada
¿Qué debe cubrir la monitorización de riesgo de una vault de lending curada? La lista habitual es utilización, salud del colateral, comportamiento del oráculo y exposición a liquidaciones. El exploit de USR del 22 de marzo de 2026 en Morpho muestra cómo hay que leer cada una:
- Compara el oráculo con el precio de mercado, porque el oráculo decide si hay liquidaciones o no. El oráculo de USR siguió en 1,00 mientras USR cotizaba a 0,05. El mayor prestatario pasó a ser liquidable en la primera hora y sigue sin liquidarse.
- Sigue tu depósito en cada mercado, no solo tus propias asignaciones. Tres vaults que no tenían nada en estos mercados antes del exploit estaban expuestas por la noche, por movimientos de otros.
- Mide lo que los depositantes pueden retirar, no los activos totales. Dos vaults con menos de un 1 % de exposición no podían pagar nada a las 06:00.
- Lee como una pérdida un precio por participación que sube demasiado rápido. El de una vault se multiplicó por cuatro con intereses que nadie pagaba. Hoy no tiene nada y sigue marcando 2,93.
Datos a 6 de noviembre de 2026. Todas las cifras se leen de Ethereum en los bloques indicados; las horas son UTC.
22 de marzo de 2026, minuto a minuto
Un mercado de Morpho es un único pool de préstamo: un colateral, un activo prestado, un oráculo de precio y un umbral de liquidación (LLTV). Las vaults curadas reciben depósitos y los reparten entre mercados. El post-mortem de Resolv dice que los atacantes llegaron a su infraestructura de firma y que "the first illicit transaction was executed at 02:21:35 UTC" (la primera transacción ilícita se ejecutó a las 02:21:35 UTC), emitiendo 50M de USR. Dieciséis mercados de Morpho aceptaban como colateral USR, wstUSR (USR en staking) o RLP, el otro token de Resolv. Cuatro tenían más de 5.000 $.
| Hora (UTC) | Lo que mostraba la blockchain |
|---|---|
| 21 mar | A las 12:15:47, la última actualización del feed de precio de USR que leen los oráculos de los mercados: 1,00. Vino de la misma dirección que envió las dos emisiones ilícitas al día siguiente. No ha cambiado desde entonces. |
| 02:21:35 | 50M de USR emitidos en una sola transacción. El supply de USR pasa de 102,5M a 152,5M. |
| 02:31 | USR a 0,73 en Uniswap. Oráculo: 1,00. |
| 02:33:35 | Primer cambio de cualquier vault expuesta, 12 minutos después de la emisión. |
| 02:38 | USR a 0,05. Oráculo: 1,00. |
| 02:40:23 | Un prestatario lleva dinero de una vault al mercado wstUSR/USDC y lo pide prestado en la misma transacción. |
| 02:48:59 | RLP/USDC queda prestado al completo; USR/USDC le sigue a las 02:50:47 y wstUSR/USDC a las 02:54:59. wstUSR/USDC tenía 5.123 USDC depositados antes de la emisión y 3,14M a las 02:54:59. |
| 04:15 | Los cuatro mercados, prestados al completo. Siguen así. |
| 05:16 | Resolv pausa sus contratos. |
| 23:59:59 | wstUSR/USDC: 6,23M USDC depositados, 6,23M prestados. Según el oráculo, su mayor prestatario está justo por encima del LLTV (LTV 0,915); al precio de Uniswap, su colateral cubre en torno a un tercio de su deuda. |
Según las reglas de Morpho, ese prestatario era liquidable desde las 03:00 aproximadamente. Nadie lo liquidó, y los tres mercados más grandes no registraron ninguna liquidación hasta el 31 de marzo. Las liquidaciones se hacen "at the current oracle price" (al precio actual del oráculo): un liquidador habría devuelto USDC a cambio de un colateral que el oráculo valoraba a 1,13 por wstUSR y el mercado en un tercio de eso. Un oráculo desactualizado esconde la pérdida y quita a cualquiera el motivo para liquidarla.
Exposición que llega después del exploit
El Public Allocator de Morpho permite que "anyone […] request a reallocation, but addresses with the vault's allocator role set the boundaries" (cualquiera pida una reasignación, dentro de los límites que fija el allocator de la vault): un prestatario puede llevar el depósito de una vault de un mercado a otro, hasta los límites que la vault fija para cada mercado (flow caps). El 22 de marzo movió 6,8M de dinero de vaults a estos mercados, sobre todo dentro de las propias transacciones de los prestatarios: 5,07M de Gauntlet USDC Core, 1,00M de Clearstar Yield USDC (todo su límite), 0,41M de Gauntlet USDC Frontier, 0,25M de Resolv USDC y menos de 40.000 de otras dos. Las asignaciones propias de las vaults sumaron unos 2,4M más. Desde las 12:33, otros depositaron también en estos mercados a nombre de las vaults, algo que los caps de depósito no frenan: "caps only limit reallocations […], not donations" (los caps solo limitan las reasignaciones, no las donaciones).
Lo que podían sacar los depositantes
"Retirable" es aquí lo que un depositante podía sacar en ese bloque: el efectivo de la vault más, en cada mercado, lo menor entre el depósito de la vault y el dinero aún sin prestar. La tabla recoge cada vault MetaMorpho de USDC con al menos 1M $ que tenía depósito en alguno de los 16 mercados antes de la emisión o al final del día.
| Vault | Activos antes | En estos mercados, antes → final del día | Retirable 02:21 | 06:00 | Final del día |
|---|---|---|---|---|---|
| Gauntlet USDC Frontier | 109,2M $ | 0,31 % → 4,16 % | 28,7 % | 0,9 % | 3,7 % |
| Smokehouse USDC | 61,1M $ | 0,02 % → 0 % | 51,4 % | 0,0 % | 9,1 % |
| Gauntlet USDC Core | 39,7M $ | 0,01 % → 20,56 % | 54,2 % | 4,6 % | 12,8 % |
| Usual Boosted USDC | 9,3M $ | 0,57 % → 0,75 % | 77,4 % | 0,0 % | 30,1 % |
| Clearstar Yield USDC | 6,5M $ | 0 % → 22,50 % | 48,4 % | 5,0 % | 0,2 % |
| kpk USDC Yield | 4,1M $ | 1,77 % → 8,37 % | 74,7 % | 2,6 % | 54,0 % |
| Keyrock USDC | 2,4M $ | 0 % → 1,46 % | 100,0 % | 46,0 % | 93,7 % |
| Etherealm USDC | 2,0M $ | 0 % → 10,64 % | 100,0 % | 76,9 % | 89,4 % |
| Resolv USDC | 1,0M $ | 95,14 % → 99,67 % | 32,4 % | 0,0 % | 0,0 % |
Los porcentajes son sobre los activos totales de cada vault; lo retirable es un máximo, porque las vaults de un mercado comparten lo que queda en él. Frontier tenía además 0,51M en un mercado de PT-RLP fuera de los 16. August AUSD queda fuera solo porque no es una vault de USDC.
Smokehouse y Usual Boosted tenían menos de un 1 % en estos mercados, y aun así a las 06:00 ninguna podía pagar nada: los depositantes salían de todas las vaults de sus otros mercados, 31,4M solo de Frontier. Eso "does not mean your funds are lost" (no significa que tus fondos se hayan perdido), como advierte Morpho, pero un depositante no podía salir. Las retiradas lo empeoran: la vault encoge, pero su depósito atrapado en un mercado prestado al completo no. La exposición de Core pasó del 0,01 % al 20,56 % en un día, por el dinero que entró y los depositantes que salieron.
La pérdida apareció luego de tres formas. Core, en la versión 1.0 del contrato de vault, perdió un 29,5 %
de su precio por participación en un solo bloque al retirar los mercados. Frontier, en la 1.1, registró
1,91M como lostAssets y
mantuvo su precio por participación. Resolv USDC,
también con Gauntlet como curator y creada para colateral de Resolv, apenas tiene nada en mercados y marca
1,08. Solo los activos reales por participación (el depósito de la vault en sus mercados dividido entre
sus participaciones) muestran las tres.
Un precio por participación que sube demasiado rápido
En marzo y abril, los depositantes sacaron 5,50M de Clearstar Yield USDC a entre 1,03 y 1,05 por participación. Después casi nada pudo salir: lo que quedaba estaba sobre todo en RLP/USDC, prestado al completo. Al 100 % de utilización, el modelo de tipos de Morpho sigue subiendo el tipo de préstamo, y el interés se suma a los depositantes lo pague alguien o no. El precio por participación de Clearstar llegó a 4,25 el 24 de junio. Ese día la vault retiró el mercado; hoy no tiene nada en ningún mercado, y sus 1,06M de participaciones restantes siguen marcando 2,93. El mercado muestra lo mismo: wstUSR/USDC muestra hoy 519,5M USDC depositados, casi todo intereses sin pagar.
En noviembre de 2025, después de que el deUSD de Elixir cayera de 0,99 a 0,02 en Curve, el precio por participación de Relend USDC subió un 2,0 % en una semana, con en torno al 98 % de lo que quedaba en un único mercado de sdeUSD prestado al completo. Al retirarlo pasó de 1,117 a 0,017. Su liquidez retirable había caído del 76,9 % al 7,3 % antes de que se moviera Curve.
Un precio por participación que se acelera mientras un mercado está prestado al completo son intereses que nadie está pagando.
Qué monitorizar
Si eres el curator de la vault, para cada mercado de sus colas:
- Oráculo frente a precio de mercado. Qué lee el oráculo (un feed actualizado por el emisor, un precio de DEX, un valor fijo), quién lo publica y cuándo se movió por última vez, además del supply del propio token de colateral: el de USR subió un 49 % en un bloque. El consejo de Morpho es "deploy automated monitoring that detects when oracle prices diverge from market prices" (desplegar una monitorización automática que detecte cuándo el precio del oráculo se separa del de mercado).
- Cada cambio en tu depósito: los flujos del Public Allocator frente a sus flow caps, los depósitos de otros a nombre de la vault y tu propia automatización entrando en un mercado que acaba de quedar prestado al completo.
- La liquidez retirable, junto a las retiradas de otras vaults en los mismos mercados.
- Los prestatarios: el LTV según el oráculo y según el precio de mercado, y lo concentrada que está la deuda.
- Qué frena cada acción. En Vaults V1, poner los flow caps a cero impide que otros muevan tu depósito; bajar un cap es inmediato pero no frena los depósitos a tu nombre; vaciar la cola de depósito impide que los depósitos nuevos vayan ahí. "Only removing it from the withdrawal queue fully eliminates the risk" (solo sacarlo de la cola de retirada elimina el riesgo por completo), y si aún hay depósito en el mercado eso tiene timelock: las dos vaults de Gauntlet lo solicitaron el 22 de marzo y lo ejecutaron el 31 de marzo.
Si inviertes en la vault, desde fuera:
- Activos reales por participación junto al precio por participación. Una diferencia, o un precio que sube más rápido que el propio historial de la vault, es una pérdida que el APY no muestra.
- Lo que puedes retirar frente a tu posición. Si la vault puede pagar menos de lo que tienes, no puedes salir del todo.
- Los cambios pendientes. En V1, subir un cap tiene timelock, así que un mercado nuevo se ve antes de que pueda entrar dinero en él. Los flow caps de cada mercado también son públicos.
- Preguntas para tu curator: a qué mercados puede mover tu dinero el Public Allocator, qué vacía la cola de depósito y cómo registra la vault una pérdida.
Límites
- El precio de mercado vale lo que vale el mercado donde se mide. Los pools de USR tenían poca liquidez; los precios de wstUSR y RLP aquí se derivan del de USR.
- Solo se han analizado vaults MetaMorpho V1. Las Vaults V2 que asignan capital en ellas tienen la misma exposición.
- La blockchain muestra lo que pasó, no por qué. No está establecido quién controla las direcciones que pidieron prestado, y este artículo no valora cómo gestionó ningún curator ninguno de los dos episodios.
- Monitorizar no es prever. Estas comprobaciones dicen qué tienes y qué podrías sacar, no cuándo llegará una pérdida.
Hacerlo en todas las posiciones
Una sola mañana en una sola blockchain ha necesitado lecturas de archivo en dieciséis mercados y nueve vaults; una cartera real abarca protocolos y blockchains. Datablocks indexa todas las blockchains EVM desde el génesis, se actualiza en cada bloque y valora cada posición de lending, LP, vault y rendimiento fijo en cualquier bloque, con los parámetros de protocolo tal y como eran en cada bloque, así que un equipo puede responder cuál es mi riesgo ahora mismo, en cada protocolo que tocan mis posiciones. Si gestionas vaults o inviertes en ellas, reserva una llamada aquí abajo y cuéntanos qué necesitas vigilar.