Ga naar de hoofdinhoud
Avana-logo

Prijsoracles

Hoe het protocol LP-positiestatus omzet in kredietrelevante onderpandwaarden.

Overzicht

Avana prijst LP-collateral door de positie te reconstrueren en de assets erin te waarderen. Voor fungible LPs haalt het protocol waarde uit externe assetprijzen en reconstructie van poolsaldos. Voor concentrated liquidity ontleedt het de positie naar liquiditeit, range, huidige tick, tokenexposure en opgelopen fees.

Het resultaat wordt gedisconteerd tot herstelbare onderpandwaarde. Leenvermogen is gebaseerd op wat de positie onder de risicoaannames van de markt realistisch kan dragen — niet op een optimistische nettovermogenswaarde.

Dat onderscheid tussen markwaarde en herstelbare waarde houdt de oracle bruikbaar voor lending in plaats van alleen analytics. ERC-20 LPs, NFT LPs en multi-asset-pools kunnen één high-level interface delen juist omdat elke klasse eigen validatie- en manipulatiebestendigheidscontroles doorloopt voordat de waarde de Spoke bereikt.

LP collateral value depends on:

  • De prijzen van de onderliggende assets
  • De poolreserves of inventarisverdeling
  • Fee accrual
  • Voor concentrated liquidity: de huidige tick ten opzichte van de positiesrange
  • Of de positie in-range is of grotendeels eenzijdig

Oracle-interface: IOracle

Borrow Spokes hebben één contractoppervlak nodig, ook al verschillen LP-formaten sterk tussen DEXs. `IOracle` biedt die gemeenschappelijke vorm en houdt principal-waarde, opgelopen fees en gereserveerde buffers apart zodat latere risicologica niet hoeft te raden welk deel van de positie het bekijkt:

function getValue(uint256 tokenId, address asset)
  external view returns (
    uint256 fullValue,
    uint256 feeValue,
    uint256 reserveValue
  );
fullValueGereconstrueerde waarde van de principal-liquiditeit voordat latere liquidatie-stressaanpassingen worden toegepast.
feeValueWaarde van de door de positie opgelopen fees die naast principal kunnen worden erkend.
reserveValueGereserveerd deel achtergehouden voor oracle-, unwind- en protocolrisicobuffers.

De interface verbergt DEX-specifieke plumbing voor de Spoke. Zo kan dezelfde caller ERC-20 LPs, NFT LPs en multi-asset-pools via één returnvorm afhandelen, met ruimte voor conservatieve, collateral-familie-specifieke behandeling achter de schermen.

Meerlagenarchitectuur

LP-waardering is een stapsgewijs proces, geen enkele spotprijs-read. Het oracle-pad doorloopt de volgende stappen:

1

Prijzen van onderliggende assets via externe robuuste oracles

Begin bij veerkrachtige externe feeds voor de onderliggende assets zodat onderpand niet de volle ruis of manipuleerbaarheid van ruwe pool-spotstate erft.

2

Leid LP-waarde conservatief af

Herbouw fungible LP-saldi of ontleed concentrated-liquidity-posities uit reserves, liquiditeit, range en fees via een deterministisch pad waar de Spoke over kan redeneren.

3

Haircut voor impermanent loss en liquidatieslippage

Disconteer de gereconstrueerde mark tot een herstelbare onderpandwaarde die stress, slippage en imperfecte exits aanneemt — geen schone redemption tegen theoretische NAV.

4

Begrens exposure per LP-familie en pooldiepte

Pas controles toe op basis van LP-familie, poolklasse en beschikbare diepte zodat dunnere of complexere markten niet dezelfde leenlimieten krijgen als diepere en eenvoudigere.

5

Liquideer op basis van herstelbare unwind-waarde, niet optimistische NAV

Gebruik de waarde die via het unwind-pad redelijkerwijs realiseerbaar is bij het toekennen van leenvermogen en liquidatiebeslissingen — niet de best-case markwaarde.

DEX-specifieke afhandeling

Verschillende DEXs exposeren verschillende state-onderdelen, en de oracle gebruikt die inputs om de positie te reconstrueren en pricing te verifiëren. Pool-afgeleide data wordt niet blind als directe onderpandmark geaccepteerd.

DEX / LP-typeOracle-bronOpmerkingen
Curve Stabiel/Stabiel ERC-20 LPsExterne stablecoin-feeds + poolstate-controles + TWAP-verificatieExterne prijzen verankeren de assets terwijl poolsaldos en fee-accrual de gedisconteerde onderpandwaarde bepalen.
Uniswap V2 ERC-20 LPsChainlink + reservereconstructie + TWAP-verificatieStandaard LP-tokens worden gewaardeerd uit gereconstrueerde onderliggende saldi, met TWAP als manipulatiebestendige cross-check.
Uniswap V3 NFT LPsChainlink + positieontleding + tick/TWAP-controlesDe NFT wordt ontleed naar liquiditeit, actieve range en huidige prijs, daarna haircut voor herstelbare liquidatiewaarde.
Balancer Multi-activa LPsChainlink + gewogen inventarisreconstructieMulti-token-pools gebruiken externe prijzen en gewogen poolinventaris om conservatieve onderpandwaarde te schatten.
SushiSwap / AerodromeChainlink + reservereconstructie + TWAP-verificatiePool-afgeleide observations verifiëren gereconstrueerde waarde en helpen same-transaction-abuse in markten met lagere liquiditeit te weerstaan.
PancakeSwapChainlink + block-based TWAP-verificatieExterne prijzen blijven de anker terwijl block-based observations positiestatus en unwind-aannames valideren.

TWAP-berekening per DEX

TWAP's zijn verificatie-inputs. Ze staan naast externe assetprijzen en deterministische positiereconstructie om te controleren of de geobserveerde poolstate consistent is met een geloofwaardig unwind-pad. Ze helpen verdachte of kortstondige verstoringen af te wijzen, maar vervangen het bredere oracle-model niet op zichzelf.

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

Positie-bewuste controles nemen tickrange, liquiditeitsdistributie en opgelopen fees mee zodat het protocol de ontlede tokenexposure van elke NFT LP kan verifiëren — in plaats van de NFT als black box te behandelen.

Balancer

Gewogen tokenobservations worden gecombineerd met poolweights om multi-asset-inventarisverdelingen te valideren voordat de oracle een conservatieve onderpandwaarde toekent.

Curve

Stablecoin-observations dienen vooral om stale feeds, reservedrift en kortetermijnafomatiteiten te detecteren terwijl externe prijzen de primaire anker blijven.

Trader Joe & Aerodrome

Cumulatieve prijsobservations over een venster van 30–60 minuten helpen poolstate met lagere liquiditeit te valideren en same-transaction-manipulatie tijdens onderpandcontroles te weerstaan.

Veiligheid & manipulatiepreventie

  • Afwijkingsdrempels

    Nieuwe leningen of liquidaties kunnen worden gepauzeerd wanneer pool-afgeleide verificatiedata te ver van externe referentieprijzen afwijkt voorbij maxDifference.

  • maxPoolPriceDifference

    Dit houdt pool-implied state uitgelijnd met onderliggende tokenprijzen en beperkt instantane poolmanipulatie of same-transaction oracle-abuse.

  • Open rentelimieten

    Exposure wordt begrensd per LP-familie, pooldiepte en collateralcomplexiteit zodat dunnere markten strengere leenlimieten krijgen.

  • Herstel kapsels

    De oracle disconteert theoretische LP-waarde voor impermanent loss, unwind-slippage en gestresste liquidatieaannames voordat enig leenvermogen wordt toegekend.

  • Oracle Sentinel

    Oracle Sentinel bewaakt feedgezondheid en verificatie-inputs en kan fallbackgedrag triggeren wanneer data stale, gecompromitteerd of inconsistent met positiestatuscontroles is.

Configureerbare oracle-parameters

Poolspecifieke oracle-instellingen worden per token geconfigureerd via setTokenConfig. De tabel hieronder toont de parameters die bepalen hoe een token en de bijbehorende pool moeten worden gecontroleerd:

ParameterBeschrijving
TokenAdres van het collateral-token
AggregatorV3InterfaceChainlink-feed voor onderliggend token
maxFeedAgeMaximaal acceptabele leeftijd voor Chainlink-feed
PoolSpecifieke DEX-pool (Uniswap V3, Balancer, Curve, enz.)
twapSecondsVenster voor TWAP-berekening
ModusOracle-operationele modus (standard/fallback)
maxDifferenceMaximaal toegestane afwijking tussen DEX- en verificatieprijs

In de praktijk komt oracle-gedrag uit de combinatie van externe assetpricing, LP-reconstructielogica, behandeling van herstelbare waarde en de per-token-instellingen geconfigureerd viasetTokenConfig.