Price Oracles
Cómo el protocolo convierte el estado de una posición LP en valores de colateral relevantes para el crédito.
Descripción general
Avana valora el colateral LP reconstruyendo la posición y valorando los activos que contiene. En LPs fungibles, el protocolo deriva el valor a partir de precios externos de activos y de la reconstrucción de saldos del pool. En liquidez concentrada, descompone la posición por liquidez, rango, tick actual, exposición a tokens y comisiones acumuladas.
El resultado se descuenta a valor de colateral recuperable. La capacidad de préstamo se basa en lo que la posición puede respaldar de forma realista bajo los supuestos de riesgo del mercado, no en un valor neto de activos optimista.
Esa distinción entre valor de marca y valor recuperable es lo que mantiene útil al oráculo para lending y no solo para analytics. Los LPs ERC-20, los LPs NFT y los pools multi-activo pueden compartir una interfaz de alto nivel solo porque cada clase pasa por sus propias comprobaciones de validación y resistencia a manipulación antes de que el valor llegue al Spoke.
LP collateral value depends on:
- Los precios de los activos subyacentes
- Las reservas del pool o la división del inventario
- Fee accrual
- En liquidez concentrada, el tick actual relativo al rango de la posición
- Si la posición está in-range o es mayormente unilateral
Oracle Interface: IOracle
Los Borrow Spokes necesitan una sola superficie de contrato aunque los formatos LP difieran mucho entre DEXs. `IOracle` aporta esa forma común y mantiene separados el valor del principal, las comisiones acumuladas y los buffers reservados para que la lógica de riesgo posterior no tenga que adivinar qué parte de la posición está mirando:
function getValue(uint256 tokenId, address asset)
external view returns (
uint256 fullValue,
uint256 feeValue,
uint256 reserveValue
);La interfaz oculta al Spoke el plumbing específico del DEX. Eso permite que el mismo caller maneje LPs ERC-20, LPs NFT y pools multi-activo con una sola forma de retorno, dejando espacio para un tratamiento conservador específico de la familia de colateral detrás de escena.
Arquitectura multicapa
La valoración LP es un proceso por etapas más que una sola lectura de precio spot. La ruta del oráculo avanza por los siguientes pasos:
Valorar activos subyacentes con oráculos externos robustos
Partir de feeds externos resilientes para los activos subyacentes de modo que el colateral no herede todo el ruido o la manipulabilidad del estado spot crudo del pool.
Derivar el valor LP de forma conservadora
Reconstruir saldos LP fungibles o descomponer posiciones de liquidez concentrada a partir de reservas, liquidez, rango y comisiones usando una ruta determinista sobre la que el Spoke pueda razonar.
Haircut por pérdida impermanente y slippage de liquidación
Descontar la marca reconstruida a un valor de colateral recuperable que asume estrés, slippage y salidas imperfectas en lugar de una redención limpia al NAV teórico.
Limitar la exposición por familia LP y profundidad del pool
Aplicar controles según familia LP, clase de pool y profundidad disponible para que mercados más delgados o complejos no reciban los mismos límites de préstamo que los más profundos y simples.
Liquidar según el valor recuperable de unwind, no según un NAV optimista
Usar el valor que puede realizarse de forma razonable por la ruta de unwind al otorgar capacidad de préstamo y decidir la liquidación, en lugar del valor de marca en el mejor caso.
Manejo específico por DEX
Distintos DEXs exponen distintas piezas de estado, y el oráculo usa esas entradas para reconstruir la posición y verificar el pricing. Los datos derivados del pool no se aceptan a ciegas como marca directa de colateral.
| DEX / tipo LP | Fuente del oráculo | Notas |
|---|---|---|
| Curve Stable/Stable ERC-20 LPs | Feeds externos de stablecoins + comprobaciones de estado del pool + verificación TWAP | Los precios externos anclan los activos mientras los saldos del pool y la acumulación de comisiones determinan el valor de colateral descontado. |
| Uniswap V2 ERC-20 LPs | Chainlink + reconstrucción de reservas + verificación TWAP | Los tokens LP estándar se valoran a partir de saldos subyacentes reconstruidos, usando TWAP como verificación resistente a manipulación. |
| Uniswap V3 NFT LPs | Chainlink + descomposición de posición + comprobaciones de tick/TWAP | El NFT se descompone por liquidez, rango activo y precio actual, y luego se aplica haircut al valor recuperable de liquidación. |
| Balancer Multi-Asset LPs | Chainlink + reconstrucción de inventario ponderado | Los pools multi-token usan precios externos e inventario ponderado del pool para estimar un valor de colateral conservador. |
| SushiSwap / Aerodrome | Chainlink + reconstrucción de reservas + verificación TWAP | Las observaciones derivadas del pool verifican el valor reconstruido y ayudan a resistir abusos en la misma transacción en mercados de menor liquidez. |
| PancakeSwap | Chainlink + verificación TWAP basada en bloques | Los precios externos siguen siendo el ancla mientras las observaciones basadas en bloques validan el estado de la posición y los supuestos de unwind. |
Cómputo de TWAP por DEX
Los TWAP son entradas de verificación. Se sitúan junto a los precios externos de activos y a la reconstrucción determinista de la posición para comprobar si el estado del pool observado es coherente con una ruta de unwind creíble. Ayudan a rechazar distorsiones sospechosas o de corta duración, pero no sustituyen por sí solos el modelo más amplio de oráculo.
Uniswap V2 & SushiSwap
On-chain cumulative price data over a 1-hour window is used to cross-check the reconstructed reserve picture and reduce sensitivity to flash swaps or other short-lived pool distortions.
Uniswap V3
Las comprobaciones conscientes de la posición incorporan rango de tick, distribución de liquidez y comisiones acumuladas para que el protocolo pueda verificar la exposición tokenizada descompuesta de cada NFT LP en lugar de tratar el NFT como una caja negra.
Balancer
Las observaciones ponderadas de tokens se combinan con los pesos del pool para validar las divisiones de inventario multi-activo antes de que el oráculo asigne un valor de colateral conservador.
Curve
Las observaciones de stablecoins se usan principalmente para detectar feeds obsoletos, drift de reservas y anomalías de corto plazo, mientras los precios externos siguen siendo el ancla principal.
Trader Joe & Aerodrome
Las observaciones acumuladas de precio en una ventana de 30-60 minutos ayudan a validar el estado de pools de menor liquidez y a resistir la manipulación en la misma transacción durante las comprobaciones de colateral.
Seguridad y prevención de manipulación
- Umbrales de desviación
Los nuevos préstamos o liquidaciones pueden pausarse cuando los datos de verificación derivados del pool se alejan demasiado de los precios de referencia externos más allá de
maxDifference. - maxPoolPriceDifference
Esto mantiene el estado implícito del pool alineado con los precios de los tokens subyacentes y limita la manipulación instantánea del pool o el abuso del oráculo en la misma transacción.
- Límites de open interest
La exposición se limita por familia LP, profundidad del pool y complejidad del colateral para que los mercados más delgados reciban límites de préstamo más estrictos.
- Haircuts de recuperación
El oráculo descuenta el valor teórico del LP por pérdida impermanente, slippage de unwind y supuestos de liquidación estresada antes de otorgar cualquier capacidad de préstamo.
- Oracle Sentinel
Oracle Sentinel vigila la salud de los feeds y las entradas de verificación, y puede activar comportamiento de fallback cuando los datos están obsoletos, comprometidos o son inconsistentes con las comprobaciones de estado de la posición.
Parámetros configurables del oráculo
Los ajustes de oráculo específicos del pool se configuran por token mediante setTokenConfig. La tabla siguiente muestra los parámetros que definen cómo deben comprobarse un token y su pool asociado:
| Parámetro | Descripción |
|---|---|
| Token | Dirección del token de colateral |
| AggregatorV3Interface | Feed de Chainlink para el token subyacente |
| maxFeedAge | Edad máxima aceptable del feed de Chainlink |
| Pool | Pool DEX específico (Uniswap V3, Balancer, Curve, etc.) |
| twapSeconds | Ventana para el cómputo de TWAP |
| Mode | Modo operativo del oráculo (standard/fallback) |
| maxDifference | Desviación máxima permitida entre el precio DEX y el de verificación |
En la práctica, el comportamiento del oráculo surge de la combinación de pricing externo de activos, lógica de reconstrucción LP, tratamiento de valor recuperable y los ajustes por token configurados mediantesetTokenConfig.
