Retrieve DEX price candles for a token contract on a supported chain. Returns pool-weighted DEX OHLC prices in USD, volume and timestamps for a chain-specific token contract. Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0072 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Up to 0.0072 credits / call
The final charge is based on confirmed usage. Unused reserved credits return to your available balance.
Surf
DEX Token OHLCV Data · Surf
Retrieve DEX price candles for a token contract on a supported chain. Returns pool-weighted DEX OHLC prices in USD, volume and timestamps for a chain-specific token contract. Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0072 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
You receive
Returns pool-weighted DEX OHLC prices in USD, volume and timestamps for a chain-specific token contract. Use a contract address rather than a ticker. The endpoint returns bounded candle history, not tick-by-tick trades or guaranteed coverage of every pool.
Start with your task
Get DEX price history for [token name or ticker] on [chain name]. If several tokens match, ask me for a public token page link. Default: [last 24 hours], [hourly]. I can request another date range or spacing. Best for new or DEX-traded tokens; major coins use standard price history.
Inputs & outputs
Inspect the current inputs, availability, and maximum charge before starting.
Input schema
Input schema
Field / Path
Type
Requirement
Meaning
queryParamsqueryParams
object
Required
Required fields
chain, address
toqueryParams.to
string
Optional
End of custom date range (Unix seconds or YYYY-MM-DD). Must be set together with from. Overrides time_range when set. Example: 2026-01-02.
Minimum length
1
fromqueryParams.from
string
Optional
Start of custom date range (Unix seconds or YYYY-MM-DD). Must be set together with to. Overrides time_range when set. Example: 2026-01-01.
Minimum length
1
chainqueryParams.chain
string
Required
Chain the token lives on. Can be ethereum, base, bsc, arbitrum, optimism, polygon, avalanche, or solana. Example: ethereum.
Token contract address — 0x-prefixed hex (42 chars) for EVM chains, base58 for Solana. NOT a ticker symbol. Example: 0x6982508145454ce325ddbe47a25d4ec3d2311933.
Minimum length
1
intervalqueryParams.interval
string
Optional
Candle bucket size. Sub-day intervals (1m-4h) are the typical choice for active DEX analysis. Example: 1h. Defaults to "1h".
Default
1h
Options
1m, 5m, 15m, 30m, 1h, 4h, 12h, 1d, 7d
time_rangequeryParams.time_range
string
Optional
Window of historical data to return. max returns the largest allowed 1500-bar window for the selected interval. Ignored when both from and to are set. Example: 24h. Defaults to "24h".
Default
24h
Options
1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 365d, max
View raw JSON
{
"type": "object",
"required": [
"queryParams"
],
"properties": {
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"chain",
"address"
],
"~standard": {
"vendor": "zod",
"version": 1,
"jsonSchema": {}
},
"properties": {
"to": {
"type": "string",
"minLength": 1,
"description": "End of custom date range (Unix seconds or YYYY-MM-DD). Must be set together with from. Overrides time_range when set. Example: 2026-01-02."
},
"from": {
"type": "string",
"minLength": 1,
"description": "Start of custom date range (Unix seconds or YYYY-MM-DD). Must be set together with to. Overrides time_range when set. Example: 2026-01-01."
},
"chain": {
"enum": [
"ethereum",
"base",
"bsc",
"arbitrum",
"optimism",
"polygon",
"avalanche",
"solana"
],
"type": "string",
"description": "Chain the token lives on. Can be ethereum, base, bsc, arbitrum, optimism, polygon, avalanche, or solana. Example: ethereum."
},
"address": {
"type": "string",
"minLength": 1,
"description": "Token contract address — 0x-prefixed hex (42 chars) for EVM chains, base58 for Solana. NOT a ticker symbol. Example: 0x6982508145454ce325ddbe47a25d4ec3d2311933."
},
"interval": {
"enum": [
"1m",
"5m",
"15m",
"30m",
"1h",
"4h",
"12h",
"1d",
"7d"
],
"type": "string",
"default": "1h",
"description": "Candle bucket size. Sub-day intervals (1m-4h) are the typical choice for active DEX analysis. Example: 1h. Defaults to \"1h\"."
},
"time_range": {
"enum": [
"1h",
"6h",
"12h",
"24h",
"7d",
"30d",
"90d",
"180d",
"365d",
"max"
],
"type": "string",
"default": "24h",
"description": "Window of historical data to return. max returns the largest allowed 1500-bar window for the selected interval. Ignored when both from and to are set. Example: 24h. Defaults to \"24h\"."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Result schema
Output fields have not been documented yet.
Additional notes
Retrieve DEX price candles for a token contract on a supported chain
How to use this Tool
Use the deployed input fields below. Required fields must be supplied; optional filters narrow the result.
queryParams.to (Optional): End of custom date range (Unix seconds or YYYY-MM-DD). Must be set together with from. Overrides time_range when set. Example: 2026-01-02.
queryParams.from (Optional): Start of custom date range (Unix seconds or YYYY-MM-DD). Must be set together with to. Overrides time_range when set. Example: 2026-01-01.
queryParams.chain (Required): Chain the token lives on. Can be ethereum, base, bsc, arbitrum, optimism, polygon, avalanche, or solana. Example: ethereum.
queryParams.address (Required): Token contract address — 0x-prefixed hex (42 chars) for EVM chains, base58 for Solana. NOT a ticker symbol. Example: 0x6982508145454ce325ddbe47a25d4ec3d2311933.
queryParams.interval (Optional): Candle bucket size. Sub-day intervals (1m-4h) are the typical choice for active DEX analysis. Example: 1h. Defaults to "1h".
queryParams.time_range (Optional): Window of historical data to return. max returns the largest allowed 1500-bar window for the selected interval. Ignored when both from and to are set. Example: 24h. Defaults to "24h".
What this Tool returns
Returns pool-weighted DEX OHLC prices in USD, volume and timestamps for a chain-specific token contract.
Response fields and how to read them
The table follows the official response contract, including nested fields and useful response metadata. [] denotes an array item. Required means required within its parent object, not that a conditional parent always exists. A nullable type permits null; an optional field can be absent. Use the documented conditions below to distinguish missing, empty and zero values. Units and reporting windows apply only where explicitly documented.
Field, type and presence
Meaning and conditions
data.[].close
number; Required within parent; format: double
Closing price in USD
data.[].high
number; Required within parent; format: double
Highest price during the bar in USD
data.[].low
number; Required within parent; format: double
Lowest price during the bar in USD
data.[].open
number; Required within parent; format: double
Opening price in USD
data.[].timestamp
integer; Required within parent; format: int64
Unix timestamp in seconds at the bar's open
data.[].volume_usd
number; Required within parent; format: double
USD volume traded during the bar
meta.cached
boolean; Required within parent
Whether this response was served from cache
meta.credits_used
integer; Required within parent; format: int64
Credits deducted for this request
meta.empty_reason
string; Optional within parent
Hint explaining why the data array is empty, when applicable
Coverage, units and freshness
Use a contract address rather than a ticker. The endpoint returns bounded candle history, not tick-by-tick trades or guaranteed coverage of every pool.
Inspect any returned observation time, cache status, watermark, pagination and errors using their documented meanings. A successful request alone does not establish complete coverage. Where no freshness or completeness guarantee is documented, treat it as unknown. Saved Examples are historical and viewing them does not refresh data or execute a new call.
Data source and references
Surf supplies this endpoint through its Data API. Response contract and deployed Tool inputs reviewed on 2026-10-03 against official OpenAPI v0.2.102. This is a contract review date, not a data observation time. Coverage depends on the selected endpoint and request.
Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0072 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Hourly price history
Example request: Show DEX price history for [token name or ticker] on [Ethereum] over [the last 24 hours], with [hourly] updates.
Example request: Show [token name or ticker] on [Solana] over [the last 7 days], with [daily] updates.
Get DEX price history for [token name or ticker] on [chain name]. If several tokens match, ask me for a public token page link. Default: [last 24 hours], [hourly]. I can request another date range or spacing. Best for new or DEX-traded tokens; major coins use standard price history.
Choose exact dates
Example request: Show DEX price history for [token name or ticker] on [Base] from [2026-10-01] through [2026-10-07], with [hourly] updates.
Questions about this tool.
Inputs, results and details to know before running it.
queryParams.to (Optional): End of custom date range (Unix seconds or YYYY-MM-DD). Must be set together with from. Overrides time_range when set. Example: 2026-01-02. queryParams.from (Optional): Start of custom date range (Unix seconds or YYYY-MM-DD). Must be set together with to. Overrides time_range when set. Example: 2026-01-01. queryParams.chain (Required): Chain the token lives on. Can be ethereum, base, bsc, arbitrum, optimism, polygon, avalanche, or solana. Example: ethereum. queryParams.address (Required): Token contract address — 0x-prefixed hex (42 chars) for EVM chains, base58 for Solana. NOT a ticker symbol. Example: 0x6982508145454ce325ddbe47a25d4ec3d2311933. queryParams.interval (Optional): Candle bucket size. Sub-day intervals (1m-4h) are the typical choice for active DEX analysis. Example: 1h. Defaults to "1h". queryParams.time_range (Optional): Window of historical data to return. max returns the largest allowed 1500-bar window for the selected interval. Ignored when both from and to are set. Example: 24h. Defaults to "24h".
Returns pool-weighted DEX OHLC prices in USD, volume and timestamps for a chain-specific token contract.
Use a contract address rather than a ticker. The endpoint returns bounded candle history, not tick-by-tick trades or guaranteed coverage of every pool.
Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0072 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Ask your agent to Retrieve DEX price candles for a token contract on a supported chain. Provide the required inputs above. If Toolmu is already connected, reuse that connection; otherwise use the setup instructions on this page. Before a paid execution, the agent must read the current Tool contract and check availability, the credit ceiling, balance, budget and your authorization. It should then execute the Tool and explain the returned fields and limitations.
Inspect any returned observation time, cache status, watermark, pagination and errors using their documented meanings. A successful request alone does not establish complete coverage. Where no freshness or completeness guarantee is documented, treat it as unknown. Saved Examples are historical and viewing them does not refresh data or execute a new call.