{"uid":"cap_zy3NjK0bzytsEu2VV_HYJ","slug":"scanna-recent-trades-b8976dea","name":"Scanna Recent Trades","description":"Recent trades for one market from the post-cutover trades_v2 table, newest first, keyset cursor. timestamp is whole unix seconds and the cursor is {ts,id}; the query sorts on that same floored key, so trades sharing a second page exactly once. id is a JSON number. An archived market returns 503 trades_cold_storage - unless the archive probe itself errors, which degrades to an empty 200. A market with no trades is an empty, billable 200.","url":"https://api.scanna.xyz/trades","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["market_id"],"properties":{"limit":{"type":"integer","default":50,"maximum":500,"minimum":1},"since":{"type":"integer","description":"Unix seconds lower bound. Clamped; absurd values cannot 500 the route."},"cursor":{"type":"string","description":"Opaque keyset cursor from next_cursor. Malformed cursors are rejected, never silently ignored."},"market_id":{"type":"string","description":"Condition ID. Absent is 400."}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["trades","count"],"properties":{"count":{"type":"integer"},"trades":{"type":"array","items":{"type":"object","required":["id","condition_id","proxy_wallet","price","size","side","notional","timestamp","is_whale"],"properties":{"id":{"type":"integer","description":"BIGINT coerced to a JSON number — never a string"},"side":{"enum":["BUY","SELL"],"type":"string"},"size":{"type":"number"},"price":{"type":"number"},"is_whale":{"type":"boolean"},"notional":{"type":"number"},"timestamp":{"type":"integer","description":"Whole unix SECONDS — the same key the cursor compares"},"condition_id":{"type":"string"},"proxy_wallet":{"type":"string"}}}},"next_cursor":{"type":["string","null"],"description":"Absent or null at the end of the list"}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005015","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005015/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005015","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005015","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_j2bVS3IJIYfYrSa6I5Bwl","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005015","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches the most recent trades for a specific Polymarket prediction market, paginated via a keyset cursor, newest first.","exampleAgentPrompt":"Pull the 100 most recent trades for Polymarket condition ID 0xabc123def456... and page through them so I can see who's been buying and selling and whether any whale trades have come in.","exampleUseCases":[{"title":"Monitor whale activity on a market","prompt":"Check the latest 200 trades for Polymarket condition 0xabc123... and flag any whale trades — I want to know if big players are piling in on the BUY or SELL side."},{"title":"Paginate full trade history","prompt":"Fetch all trades for condition ID 0xdef456... starting from the beginning — use the cursor to keep paginating until you've got the full history, up to 500 trades per page."},{"title":"Recent activity since a timestamp","prompt":"Show me every trade on Polymarket condition 0x789ghi... that happened after unix timestamp 1717200000 — I need to see what activity occurred in the last 24 hours."}],"resultDescription":"Returns a JSON object with a list of trades (each containing id, condition_id, proxy_wallet, price, size, side, notional, timestamp, and is_whale), a count of returned trades, and an optional next_cursor string for keyset pagination. Returns an empty list with count 0 for markets with no trades. Returns 503 for archived markets stored in cold storage.","failureModes":["400 if market_id is absent","400 if cursor is malformed (never silently ignored)","503 with 'trades_cold_storage' error for archived markets","Degraded empty 200 if the archive probe itself errors","Empty billable 200 for markets with no trades"],"whenToPreferThis":"Use this endpoint when you need a paginated, time-ordered feed of individual trades for a specific Polymarket condition ID — especially when you need to detect whale activity, paginate through high-volume trade history, or filter trades since a specific unix timestamp. Prefer this over aggregate endpoints when you need raw per-trade granularity rather than summary statistics.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:46:18.768Z","isFirstParty":false}