Review trading-volume history for one Polymarket market. Returns time buckets with notional USD volume, available buy/sell splits and trade counts. 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.0288 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.0288 credits / call
The final charge is based on confirmed usage. Unused reserved credits return to your available balance.
Surf
Daily Polymarket Volume History for One Market
Review trading-volume history for one Polymarket market. Returns time buckets with notional USD volume, available buy/sell splits and trade counts. 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.0288 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 time buckets with notional USD volume, available buy/sell splits and trade counts. Bucket size and lookback window are separate controls. Keep buy/sell volume distinct from trade counts, and retain missing buckets as missing.
Start with your task
Use [Polymarket question link] to summarize the amount traded over [the past 30 days], with [daily totals]. If the link matches several markets, ask which one. Show separate buy and sell amounts when available, and explain how totals differ from the number of trades.
Inputs & outputs
Inspect the current inputs, availability, and maximum charge before starting.
Input schema
Input schema
Field / Path
Type
Requirement
Meaning
queryParamsqueryParams
object | unknown
Optional
end_timequeryParams.end_time
integer
Optional
End time as Unix seconds (alternative to time_range).
Minimum
-9007199254740991
Maximum
9007199254740991
intervalqueryParams.interval
string
Optional
Bucket size for each point in the returned series: 1h (hourly) or 1d (daily). Distinct from time_range (which sets the window size). Example: 1d. Defaults to "1d".
Default
1d
Options
1h, 1d
token_idqueryParams.token_id
string
Optional
Token ID (alternative identifier, resolved to condition_id internally).
Minimum length
1
start_timequeryParams.start_time
integer
Optional
Start time as Unix seconds (alternative to time_range).
Minimum
-9007199254740991
Maximum
9007199254740991
time_rangequeryParams.time_range
string
Optional
Window of history to return (how much data, from now backward): 7d, 30d, 90d, 180d, or 1y. Distinct from interval (which sets bucket size within the window). Example: 30d. Defaults to "30d".
Default
30d
Options
7d, 30d, 90d, 180d, 1y
granularityqueryParams.granularity
string
Optional
Aggregation granularity (alternative to interval). When provided, queries daily table with buy/sell volume breakdown.
Options
day, week, month, year, all
condition_idqueryParams.condition_id
string
Optional
Market condition identifier (required if token_id not provided). Example: 0x6fefc0438c7598b23531457c8c60541990d0786bd4bd9dfc3eabc8d95c291092.
Minimum length
1
View raw JSON
{
"type": "object",
"required": [],
"properties": {
"queryParams": {
"type": "object",
"anyOf": [
{
"required": [
"condition_id"
]
},
{
"required": [
"token_id"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"~standard": {
"vendor": "zod",
"version": 1,
"jsonSchema": {}
},
"properties": {
"end_time": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "End time as Unix seconds (alternative to time_range)."
},
"interval": {
"enum": [
"1h",
"1d"
],
"type": "string",
"default": "1d",
"description": "Bucket size for each point in the returned series: 1h (hourly) or 1d (daily). Distinct from time_range (which sets the window size). Example: 1d. Defaults to \"1d\"."
},
"token_id": {
"type": "string",
"minLength": 1,
"description": "Token ID (alternative identifier, resolved to condition_id internally)."
},
"start_time": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Start time as Unix seconds (alternative to time_range)."
},
"time_range": {
"enum": [
"7d",
"30d",
"90d",
"180d",
"1y"
],
"type": "string",
"default": "30d",
"description": "Window of history to return (how much data, from now backward): 7d, 30d, 90d, 180d, or 1y. Distinct from interval (which sets bucket size within the window). Example: 30d. Defaults to \"30d\"."
},
"granularity": {
"enum": [
"day",
"week",
"month",
"year",
"all"
],
"type": "string",
"description": "Aggregation granularity (alternative to interval). When provided, queries daily table with buy/sell volume breakdown."
},
"condition_id": {
"type": "string",
"minLength": 1,
"description": "Market condition identifier (required if token_id not provided). Example: 0x6fefc0438c7598b23531457c8c60541990d0786bd4bd9dfc3eabc8d95c291092."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Result schema
Output fields have not been documented yet.
Additional notes
Review trading-volume history for one Polymarket market
How to use this Tool
Use the deployed input fields below. Required fields must be supplied; optional filters narrow the result.
queryParams.end_time (Optional): End time as Unix seconds (alternative to time_range).
queryParams.interval (Optional): Bucket size for each point in the returned series: 1h (hourly) or 1d (daily). Distinct from time_range (which sets the window size). Example: 1d. Defaults to "1d".
queryParams.token_id (Optional): Token ID (alternative identifier, resolved to condition_id internally).
queryParams.start_time (Optional): Start time as Unix seconds (alternative to time_range).
queryParams.time_range (Optional): Window of history to return (how much data, from now backward): 7d, 30d, 90d, 180d, or 1y. Distinct from interval (which sets bucket size within the window). Example: 30d. Defaults to "30d".
queryParams.granularity (Optional): Aggregation granularity (alternative to interval). When provided, queries daily table with buy/sell volume breakdown.
queryParams.condition_id (Optional): Market condition identifier (required if token_id not provided). Example: 0x6fefc0438c7598b23531457c8c60541990d0786bd4bd9dfc3eabc8d95c291092.
What this Tool returns
Returns time buckets with notional USD volume, available buy/sell splits and trade counts.
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.[].buy_volume
number; Optional within parent; format: double
Buy-side volume (USD), available when using granularity param
data.[].notional_volume_usd
number; Required within parent; format: double
Notional trading volume in USD
data.[].sell_volume
number; Optional within parent; format: double
Sell-side volume (USD), available when using granularity param
data.[].timestamp
integer; Required within parent; format: int64
Interval start Unix timestamp in seconds
data.[].trade_count
integer; Required within parent; format: int64
Number of trades
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
meta.has_more
boolean; Optional within parent
Whether more items may exist beyond this response. For offset-paged endpoints, continue with a larger offset. For time-series endpoints without offset/cursor controls, true means the requested time range hit an upstream cap; narrow from/to to continue. Omitted when exhaustion cannot be proven.
meta.limit
integer; Required within parent; format: int64
Maximum number of items returned in this response
meta.offset
integer; Required within parent; format: int64
Number of items skipped (pagination offset)
meta.total
integer; Optional within parent; format: int64
Total number of matching items (before pagination). Omitted when total is unknown.
meta.watermark
integer; Optional within parent; format: int64
Warehouse watermark (Unix seconds) this response was computed at, on warehouse-backed endpoints (e.g. Hyperliquid /trades/aggregate) — rows up to this time come from the warehouse, newer rows from the live tail. Omitted elsewhere.
Coverage, units and freshness
Bucket size and lookback window are separate controls. Keep buy/sell volume distinct from trade counts, and retain missing buckets as missing.
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.0288 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.
Choose [the past 7 days], [the past 30 days], or [the past year], then pick [hourly] or [daily] totals.
Use [Polymarket question link] to summarize the amount traded over [the past 30 days], with [daily totals]. If the link matches several markets, ask which one. Show separate buy and sell amounts when available, and explain how totals differ from the number of trades.
Tell money and trade counts apart
Try: [How much money was traded, and how many trades were there?] Money traded and the number of trades are different totals.
Questions about this tool.
Inputs, results and details to know before running it.
queryParams.end_time (Optional): End time as Unix seconds (alternative to time_range). queryParams.interval (Optional): Bucket size for each point in the returned series: 1h (hourly) or 1d (daily). Distinct from time_range (which sets the window size). Example: 1d. Defaults to "1d". queryParams.token_id (Optional): Token ID (alternative identifier, resolved to condition_id internally). queryParams.start_time (Optional): Start time as Unix seconds (alternative to time_range). queryParams.time_range (Optional): Window of history to return (how much data, from now backward): 7d, 30d, 90d, 180d, or 1y. Distinct from interval (which sets bucket size within the window). Example: 30d. Defaults to "30d". queryParams.granularity (Optional): Aggregation granularity (alternative to interval). When provided, queries daily table with buy/sell volume breakdown. queryParams.condition_id (Optional): Market condition identifier (required if token_id not provided). Example: 0x6fefc0438c7598b23531457c8c60541990d0786bd4bd9dfc3eabc8d95c291092.
Returns time buckets with notional USD volume, available buy/sell splits and trade counts.
Bucket size and lookback window are separate controls. Keep buy/sell volume distinct from trade counts, and retain missing buckets as missing.
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.0288 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 Review trading-volume history for one Polymarket market. 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.