Troubleshoot EVM Price Feeds Contract
This reference page is designed to help you troubleshoot common issues you may encounter when using Pyth Price Feeds on EVM chains. Follow the steps provided below to diagnose and resolve the issue.
getPrice() reverts with StalePrice()
or 0x19abf40e
error
This error occurs when the requested price feed has not been updated in the last validTimePeriod
.
The valid time period for the feed can queried using the getValidTime()
(opens in a new tab) method.
To resolve this issue:
- Update the prices by calling
updatePriceFeeds()
(opens in a new tab) by passing the latest updateData from Hermes (opens in a new tab). - Another method to fetch the price is
getPriceUnsafe()
(opens in a new tab) If the price feed is available, the method will return the latest prices with timestamp of last update. NOTE:getPriceUnsafe()
method does not check the freshness of the price.
getPrice() reverts with PriceFeedNotFound()
or 0x14aebe68
error
This error occurs when the requested price feed has not been updated on-chain, or the price feed id is incorrect.
To resolve this issue:
- Update the prices by calling
updatePriceFeeds()
(opens in a new tab) by passing the latest updateData from Hermes (opens in a new tab). - Check the entered price feed id (opens in a new tab) and pyth-contract address (opens in a new tab) to make sure they are correct.
updatePriceFeeds() reverts with InsufficientFee()
or 0x025dbdd4
error
This error occurs when the fee provided for updating the price feed is insufficient. To resolve this issue:
- Fetch the latest fee by calling
getUpdateFee()
(opens in a new tab) method and provide the required fee tomsg.value
when callingupdatePriceFeeds()
(opens in a new tab) method.
Last updated on