Beluga
Search
K
Comment on page

Price Oracle

Beluga pool design for stablecoins assumes the peg is maintained, however, it is possible that one of them becomes unpegged due to unforeseen reasons. Hence, Beluga tracks each token’s exchange rate via Pyth or Chainlink, helping protect liquidity providers deposits in case of an unpeg of more of 2% (max price deviation). This price deviation mechanism is implemented in the main pool and secondary pools (with the exception of pure pools because of the lack of price feed).
The use of an oracle is then seen as an additional layer of security for LP. In case there is significant price deviation detected by oracle, this will stop all trades to and from that asset, and also disable withdrawInOtherAsset for that asset.
Please note also that in the case of a bankrun (which does not imply unpeg as the MIM case shows us), LP providers may be obliged to withdraw in the most covered asset in the pool.
The UST case is a good example of the risk of unpeg. Although the pool was paused when deviation was more than 2%, UST coverage was higher than USDC, forcing some users to withdraw their USDC deposits in UST (which already had less value at this point).
Users should only deposit in one pool if they believe in the good health of all the assets inside that pool.