Assessment reports>Avantis>Discussion>Pyth price can become negative or erratic

Pyth price can become negative or erratic

Avantis treats the price as an unsigned quantity, but according to the Pyth documentation, the price is actually signed:

struct Price {
    // Price
    int64 price;
    // Confidence interval around the price
    uint64 conf;
    // Price exponent
    int32 expo;
    // Unix timestamp describing when the price was published
    uint publishTime;
}

The price of real-world equities is sometimes negative (for example, this happened to the price of oil in 2021). In the event this actually happens, when cast to an unsigned quantity, Avantis will instead assume it is very large, causing longs to win when shorts should have won.

Additionally, when a stock split happens, such as the TSLA stock split in 2022, the Pyth price feed changes to reflect the new price after off-chain notifications and announcements. If this happens and the Avantis governance does not notice and step in, many traders will suffer incorrect gains/losses due to the sudden predictable discontinuity in price.

Zellic © 2025Back to top ↑