This endpoint requires a Growth or Enterprise plan. Learn more.
Returns
Arguments
String
The token contract address. Required unless you are on an enterprise plan including PriceFeed features.
Int
The network ID the token is deployed on.
String
The pair contract address from which to get pricing. Defaults to the top pair for the token.
Boolean
Whether to subscribe to weighted token prices instead of pair-derived prices. Not supported when
sourcePairAddress is provided.Example
Test this query in the Explorer →Example Response
Network-wide price streams:
onPriceUpdated can also stream every price update across an entire network. This capability isn’t part of standard plans — it’s a dedicated add-on billed at a flat monthly rate per network rather than per request, with package discounts when you subscribe to more than one network, and it must be enabled before use. The PriceFeed entitlement is attached to specific API keys, not to your account as a whole: a key without it still requires address, and if you need the stream on more than one key, ask us to enable each key. Currently available on Solana, BNB, Base, Robinhood, and more. Contact us at hello@codex.io or on Telegram to get set up.Usage Guidelines
- Provide
address(token contract address) andnetworkIdto subscribe to price updates for a specific token priceUsdreturns the current USD price of the token, updated at most once per block — you receive a single price per token per block- Optionally specify
sourcePairAddressto get pricing from a specific liquidity pool instead of the default top pair - Use
blockNumberto track which block the price update originated from - This subscription is ideal for simple price feeds — use
onBarsUpdatedif you need OHLCV candlestick data
Troubleshooting Tips
How is the price determined?
How is the price determined?
By default, the price is derived from the token’s top liquidity pair. You can override this by passing a
sourcePairAddress to use a specific pool for pricing.How often are updates sent?
How often are updates sent?
Updates are sent in real-time as new blocks land, at most once per token per block. If a token trades multiple times within a single block, you receive only its most recent price for that block rather than one update per swap. Tokens that trade across more blocks produce more frequent updates.
When should I use onPriceUpdated vs onBarsUpdated?
When should I use onPriceUpdated vs onBarsUpdated?
Use
onPriceUpdated for a simple, real-time price feed (e.g., displaying a live price ticker). Use onBarsUpdated when you need OHLCV candlestick data, volume breakdowns, or multiple time resolutions for charting.What about the poolAddress and confidence fields?
What about the poolAddress and confidence fields?
These fields are deprecated. Pricing is no longer based on specific pools, so these values are no longer meaningful. Use
blockNumber instead to track the source of price updates.