Troubleshoot EVM Price Feeds Contract
Resolve common issues when integrating Pyth price feeds on EVM chains
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() method.
To resolve this issue:
- Update the prices by calling
updatePriceFeeds()by passing the latest updateData from Hermes. - Another method to fetch the price is
getPriceUnsafe()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()by passing the latest updateData from Hermes. - Check the entered price feed id and pyth-contract address 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()method and provide the required fee tomsg.valuewhen callingupdatePriceFeeds()method.