# outcometick > Historical, tick-level data for cryptocurrency Up/Down prediction markets on > Polymarket and Predict.fun. Sold through a self-serve HTTP API, with a hosted > backtest runner that replays the same archive against a submitted strategy. Every figure below is checkable against the public endpoints listed at the end. Where a number would need qualifying, the qualification is stated rather than dropped — an answer that overstates coverage is worse for a buyer than no answer. ## Settlement audit: the archive checked against the official outcomes Each Polymarket and Predict.fun market in the archive is settled again from the archived settlement stream and compared with the official outcome, and the result is published market by market. The figures below are rendered from the live audit and refreshed hourly. - **Polymarket** (2026-06-08 to 2026-11-09): 381,715 markets could be settled from the archive, and 381,711 of them (99.9990%) agree with the official outcome. The 4 that disagree all closed on 2026-08-17 and were resolved by the venue 31 to 65 minutes after their close; each is listed on the audit page. - **Predict.fun** (2026-06-13 to 2026-11-09): 153,344 markets could be settled from the archive, and all 153,344 agree with the outcome implied by Predict.fun's published start and end prices. Those published prices are the Chainlink stream Predict.fun forwards, read at the boundary seconds; the audit recomputes them from the archived copy of that stream. - Over the last 30 archived days, the archive could not settle 0.9% of Polymarket markets (all because the opening or closing second is missing from the archive) and 1.5% of Predict.fun markets (all because the opening or closing second is missing from the archive). Each of those markets is listed with its reason on the audit page, and nothing missing is filled in from neighbouring ticks. Not settleable never means a value disagrees: disagreements are counted on their own, above. - Why a second can be missing: the official Polymarket outcome is resolved from Chainlink Data Streams directly, while the archive records the reports as Polymarket's public real-time feed relays them, so a pause in that relay leaves the venue with a report the archive lacks. A second, independent collection point records the same feed and the archive is filled from it before each day ships; Polymarket's gaps have fallen sharply since September. A second can still be missing because of a relay pause, a capture loss, or a fill that did not finish in time; the audit does not tell these apart and never guesses the value. - Predict.fun markets that settle on a Binance price (not archived) are outside this audit and counted separately. - Reproduce it yourself: the free sample repositories carry the audit's own code (verify/verify-settlement.mjs). It settles the sample day again, compares every market with the published audit, and for Polymarket checks a sample of outcomes against Polymarket's own API: https://github.com/outcometick/polymarket-tick-data-samples and https://github.com/outcometick/predict.fun-data-samples - Live figures, per day and per market: https://outcometick.com/polymarket-settlement-audit and https://outcometick.com/predict-fun-settlement-audit ## What the data is - **Settlement feeds.** The Chainlink price streams these markets actually resolve against. Each Polymarket tick carries a decimal value and, whenever the upstream relay publishes it, the full-precision fixed-point string (a 1e18 integer) beside it. Polymarket carries the instantaneous stream plus the 30-second and 60-second TWAP streams, which became the official settlement basis on 2026-08-07. Both 5-minute and 15-minute markets now settle on the 60-second TWAP; the 30-second stream was the 5-minute settlement line earlier on and is archived daily through 2026-10-19 (UTC); collection stops on 2026-10-20. Read the lookback off each market's own cryptoMarketConfig.twapLookbackSeconds, not off the date. - **Per-market metadata.** Strike (the price to beat) and the settled outcome for each market, so a buyer can recompute every win/loss from the raw feed instead of trusting a supplied label. - **Order books.** Full-depth snapshots plus the incremental updates between them, captured at a cadence that has changed over the archive — so a replay reproduces what was captured, not every message the venue sent. Top of book ships as its own unthrottled stream, prices only. Because a dropped delta can have been a removal, a ladder rebuilt from snapshots plus deltas can carry stale levels until the next snapshot; prune it against the latest best bid and ask (the unthrottled top-of-book stream). The SDK's OrderBook (`outcometick/data` on npm, `outcometick.data` on PyPI) applies that rule; the schema page spells it out: https://outcometick.com/docs/schemas - **Trade prints** (Polymarket only). Stored in full, unthrottled, as the venue's WebSocket broadcast them; they are not reconciled against on-chain fills. Predict.fun has no trade data. - **Candles.** OHLC from 1 second to 1 month, derived from the settlement feed. A tick count per candle, not trade volume — the settlement feed is a price feed. - **Timestamps kept apart.** Settlement-feed ticks carry event time and our receipt time, plus the upstream server time through 2026-10-19 (UTC). Order-book and trade rows carry two: the upstream event time and our receipt time. They are never merged, so the capture path can be measured. ## Coverage - Venues: Polymarket and Predict.fun (the prediction market in the Binance wallet). - Polymarket assets: BNB, BTC, DOGE, ETH, HYPE, SOL, XRP. - Predict.fun assets: BTC, ETH, BNB. - Market types: Polymarket has 5-minute and 15-minute Up/Down only. Predict.fun also has hourly and daily. - Continuous since 2026-06-08 (Polymarket) and 2026-06-13 (Predict.fun); those are the first COMPLETE UTC days. Collection began part-way through the two preceding days, which are held but not counted as coverage. - Each UTC day is checked before release and normally published by 02:00 UTC the next day; a day that fails the checks is held for repair and ships by 13:00 UTC the next day. - The upstream relays pause from time to time, and those gaps are left in the data rather than smoothed over — nothing is interpolated to make a day look whole. The settlement audit above measures the effect, live. ## How it is delivered A self-serve HTTP API. A buyer receives a key, lists files for a date or range, and downloads each one. Every file carries a sha256 that the API also returns, so the download can be verified independently. Downloads redirect to object storage, so bulk transfer does not pass through the API. Bulk tar bundles are available for full-history purchases and for buyers who do not want to script anything. Every file is also available as Parquet, at no extra cost: add format=parquet to /v1/files. Same rows as the archive file, already typed; values wider than int64 (full_accuracy_value, token ids, strike_value) stay text. The Parquet copy has its own sha256, and a day's Parquet is normally published together with the day itself (a file not converted yet is reported as pending). The gzipped CSV / JSONL archive files are unchanged and remain the reference. Both platforms in one shape: with format=parquet, dataset=markets_unified lists a unified markets table per markets file. One row per market, the same columns for Polymarket and Predict.fun: venue, market_id, asset, interval, open_ts_ms and close_ts_ms (milliseconds), open_price and settle_price (DECIMAL(38,18); Polymarket has no settle_price there, its settling value is in the stream settle_feed names), outcome (UP, DOWN or TIE), settle_provider, settle_feed, token_up, token_down. From an AI coding tool: the npm package `outcometick` includes an MCP server (`ot mcp`, stdio, runs on the user's machine, Node 24). Claude Code: `claude mcp add outcometick -e OT_KEY= -- npx -y -p outcometick ot mcp`. Tools: coverage, plans, meta, list_files, download_file (sha256-verified), backtest_capacity, backtest_quote, check_strategy (the queue's validator, run locally), backtest_runs, backtest_status, and for the smart-money lists smart_plans, smart_coverage, smart_days, smart_download (OT_SMART_KEY). It never submits a backtest, because that spends credits. Setup for other clients: https://outcometick.com/docs The same tools are served remotely at https://outcometick.com/v1/mcp (Streamable HTTP, nothing to install): send a key as `Authorization: Bearer ` (more keys as `X-Backtest-Key` / `X-Smart-Key`), or add it to claude.ai / ChatGPT as a custom connector and sign in with your keys (OAuth); connected apps can be listed and disconnected at https://outcometick.com/connections. Remotely, download_file and smart_download return a signed link with its sha256, and check_strategy takes file contents. https://outcometick.com/v1/mcp/public serves the public tools with no key. ## Backtesting A second product on the same archive: a strategy is submitted as text and replayed inside a sealed sandbox, rather than the buyer downloading the files and building a harness first. - Languages: Python 3.14 and Node.js 24. A strategy is one class; hooks are called in event-time order. - The sandbox is a gVisor container with no network, a read-only filesystem, no environment variables, a pinned dependency set, and hard CPU and wall-clock limits. A run that tries to reach the internet fails loudly. - Look-ahead is prevented structurally rather than by filtering. The replay loop pulls one row at a time from the process input, so rows after the current instant are not in the sandbox at all when a hook runs. A market's settled outcome is withheld from the market view until the settlement hook fires. In session mode (one strategy instance across markets) markets that overlap in time are replayed interleaved on one clock. - Fills are matched against the order-book depth that was actually there at that instant, not assumed at the midpoint. A fill can walk several levels. A per-run fill latency can be declared, and every figure in the report is measured at the latency it claims. - Resting limit orders (`tif: "gtc"`, Polymarket only) with a conservative queue model built on how this archive records trading: the book is mirrored (an UP bid at q and a DOWN ask at 1 − q are one queue) and each trade prints once, on the taker's token, so prints on both tokens advance a resting order. An order joins behind the size already visible at its price; only prints that reach that price can fill it, out of one volume budget per print that first covers depth the book removed just before the print. A new order ignores prints for a short lag window and a cancelled one stays exposed for it, because a print can arrive after the book update it caused. Entry and cancel latency are set separately; maker fills pay no fee (rebates not modelled). The report adds fill rate, queue position at entry and at fill, time in queue, and post-fill markouts at 1s, 10s and 60s plus to settlement. Queue position is an estimate from aggregated book levels, and orders have no market impact. - Fees: by default a taker fill pays the venue's taker fee for that market. On Polymarket that is C × rate × p × (1 − p), with the rate read from the market's archived fee schedule, computed per order-book level taken (the venue rounds per maker order matched, which the archive cannot reproduce, so it is an estimate and the report says so). The Predict.fun archive carries no fee schedule, so those runs are fee-free unless a flat rate is set. A flat rate in basis points (`fee_bps`, 0 included) overrides it; the report's fee_model block states which applied. - Backtestable market types are the 5-minute and 15-minute Up/Down markets. Predict.fun's hourly and daily markets are in the dataset but not in the runner. - Backtests cover the most recent 35 archived days only (the window moves forward as new days are archived). Strategies can also read Binance spot reference data (1s and 1m, six symbols) and a buyer's own CSV series. - The report carries an equity curve, every fill, a settlement cross-check against the Chainlink feed the market resolved on, and a coverage section listing any market-day that could not be run and why. - Reports are checked by an auditor that shares no code with the engine: it re-derives every taker fill from the archive independently (it does not yet re-derive resting-order fills, and says so instead of passing them). The two most recent audited runs (15 days, 4321 markets, 2862 fills) reconciled with zero discrepancies. The same replay is installable, and open source (MIT), one repository per language: https://github.com/outcometick/polymarket-backtest (Python) and https://github.com/outcometick/polymarket-backtest-js (JavaScript / TypeScript). Documentation, written for AI coding agents too: https://outcometick.github.io/polymarket-backtest/ (one plain-text file: https://outcometick.github.io/polymarket-backtest/llms-full.txt). `pip install outcometick` includes `outcometick.backtest`, a pure-Python local backtester — the same archive decoder, engine and report as the queue, no Node needed: `run(StrategyClass, load_sample())` downloads the free sample day once and returns the report with the run's full trade and fill rows. Its decoder and report are tested against the JavaScript ones event by event and row by row. It decodes a day on every CPU core, and with `workers=N` replays markets in parallel too, with the single-process result (rows, totals and logs) for strategies that keep their state on the instance as market mode requires; `sweep(StrategyClass, data, grid, holdout=0.3)` runs a parameter grid, ranks it on the earlier days and replays the top cells on the held-out later days, so an in-sample winner that does not survive is visible. The `ot` CLI — which validates a strategy, runs it locally and submits it — ships in the npm package `outcometick` and has to be installed globally to be on PATH. `ot check` runs the SAME manifest and source validator the queue runs, so a strategy it accepts is not later rejected for a validation difference between the two. That is the only guarantee it makes: a submission can still fail for reasons the checker does not see — a date range with no complete archived days, an insufficient credit balance, or an upload that did not land. Starting points: `ot init --template [--lang python|nodejs]` copies a working strategy. Two ship today, each in Python and Node.js: favourite-near-close (in the last minute, buy the side the settlement feed says is winning while the book sells it under a ceiling; runs locally on the free sample) and binance-lead (take the side Binance spot points at before the book catches up; needs the Binance reference feed, so hosted backtest only). They are starting points, not proven edges. Repository: https://github.com/outcometick/polymarket-strategy-templates Billing is per market-day scanned, where a market-day is one asset on one UTC day at one market interval. Credits are bought up front: 120 for $2, 800 for $10, 3000 for $30. Only a run that produces a report is charged — rejected, crashed, timed-out and abandoned runs are refunded in full, and a run that scans fewer market-days than quoted is refunded the difference. ## Pricing Three ways to buy data, each for one venue or both: - **Subscription to the newest 30 days.** $10/month for one venue (Polymarket or Predict.fun), $18/month for both. A key reaches the 30 newest days the archive holds, and the window moves with the archive. A new subscriber reaches those 30 days immediately. Renews monthly. - **Prepaid months of the same subscription.** 1, 3, 6 or 12 months paid at once, no auto-renewal, a month counted as 30 days: one venue $10 / $29 / $54 / $100, both $18 / $52 / $97 / $180. Same newest-30-days window; after it ends the key keeps downloading the days that were paid for, for one more month. Payable by card or stablecoin. - **One-time purchase of any date range in the archive.** Priced per archived day: $0.40 for one venue, $0.70 for both, at least 7 days. The key can download for as many days as were bought. The pricing page quotes any range before checkout. Either way, every data type for the chosen venues is included. Deeper history is not sold as a subscription. The 90-day and full-history tiers were withdrawn on 2026-09-11: depth is a one-time value, and charging for it monthly meant a continuously subscribed customer who kept what they downloaded paid again every month for history they already had. Prices are quoted in USD on the English site and CNY on the Chinese one — the currency follows the language, and there is no currency selector. WeChat Pay is offered on one-time payments (prepaid months and date ranges) only, in CNY. Stablecoins (USDT or USDC) are accepted for one-time purchases and are always priced in USD. ## Smart-money trade history A second, separate product, on sale since 2026-10-09 (https://outcometick.com/v1/public/smart-plans lists the live prices). Built by our partner PMWallets. - What it is: daily files of the on-chain Polymarket fills of the top-ranked traders. Three plans: Top 1000, Top 3000 and all qualified traders. Each larger file contains the smaller one, and every row carries the trader's rank. - How the list is chosen: each day, from the 30 days ending at the previous UTC midnight. A trader qualifies with a trade in the window, at least 10 settled markets won or lost, at least $1,000 bought, and a realized profit that stays positive after their single most profitable market is removed; qualifiers are ranked by that remaining profit. This reduces the weight of one lucky bet; it does not detect wash trading. Wallets are merged into one trader only where they can be shown to be linked. - A day's file uses the list as of the end of the previous UTC day, so nobody is selected because of the trades in the file. A trader who drops off the list is not included from the next file on. - Data starts on 2026-10-08 and is not backfilled: until 30 days have accumulated, a subscription reaches only the days published so far (https://outcometick.com/v1/public/smart-coverage counts them). - Top 3000 and all-qualified files are not backfilled either and start later than Top 1000; those plans also include the Top 1000 files. The coverage endpoint counts each list on its own. Nothing is claimed about how lower ranks perform: the all-qualified file is the complete cross-section, for your own ranking. - Pricing, in US dollars on both the English and Chinese sites, by monthly card subscription or 30 days at a time in USDT/USDC (live prices above). A subscription downloads the last 30 days; a payment for one plan never extends another. - Its own API key and endpoints (/v1/smart/days, /v1/smart/download); a data key does not work there and a smart-money key does not work on the archive. - Free sample (traders ranked 901-1000, three real days 2026-10-08 to 2026-10-10, each from that day's frozen list): https://github.com/outcometick/polymarket-smart-money-data-samples · https://www.kaggle.com/datasets/ligengxin96/polymarket-smart-money-trades-sample · https://huggingface.co/datasets/Ligengxin96/polymarket-smart-money-trades-sample ## Things a buyer should know before asking - Rolling windows move. A 30-day tier covers the 30 newest days the archive holds — counted from the newest archived day, not from today, and not to a fixed date; the window a key sees changes daily. Counting from the archive rather than the calendar is deliberate: data lands a couple of days after it is collected, and counting from today would quietly shorten every window by that lag. - A key stops working when its period ends, apart from a two-day tail during which it can still fetch days that fall inside the period it paid for — those days only reach the archive after the period closes. Nothing archived after the period ends is reachable. Files already downloaded remain the buyer's; access to new ones does not continue. - Predict.fun prices are float64 only — the upstream feed carries no full-precision string — and its order-book data is snapshots without deltas. Polymarket carries both. ## Common questions Answers are written to stand alone, so each one can be quoted without the surrounding context. **Which market intervals have order-book data?** On Polymarket, order-book data (full-depth snapshots, incremental updates, and top-of-book) exists for the 5-minute and 15-minute Up/Down markets only. There is no 1-hour, 4-hour or daily Polymarket order-book data. On Predict.fun, order-book data exists for the 5-minute, 15-minute, hourly and daily markets, for BTC, ETH and BNB, filtered as `interval=5m`, `15m`, `1h` and `1d`. Neither venue has a 4-hour market. The 1s...1mo values that appear as `intervals` in the API are candle periods derived from the settlement feed, not market periods, so `interval=1h` alone selects both the hourly Predict.fun books and the hourly candles; name the dataset as well to separate them. **Is there aggregated trading volume?** No. The archive carries Polymarket's individual trade prints (unthrottled, as the venue broadcast them; Predict.fun has none), but it does not carry a precomputed volume series. A buyer who wants volume per market, per interval or per day aggregates it from the trade prints, which is what makes any definition of it auditable. **Can I test a strategy on this data without downloading it first?** Yes. A strategy is submitted as text and replayed inside a sandbox against the same archive, and the report comes back with an equity curve, every fill priced against the depth that was really there, and a settlement cross-check. Billing is per market-day scanned and starts at $2; a run that produces no report is refunded in full. The same replay engine is installable from npm and PyPI and runs locally against files on disk, at no cost and with no key. **Is there free sample data?** Yes, one complete archived day per venue, in the exact directory layout the paid archive uses, downloadable without an account: https://github.com/outcometick/polymarket-tick-data-samples/releases/latest/download/polymarket-data-samples.tar.gz and https://github.com/outcometick/predict.fun-data-samples/releases/latest/download/predict-fun-data-samples.tar.gz The local runner reads those archives directly, so a strategy can be written and replayed end to end before anything is bought. The same day is also published under CC BY 4.0 on Kaggle, decompressed: https://www.kaggle.com/datasets/ligengxin96/polymarket-predict-fun-tick-data and on Hugging Face, as the original .gz files with one config per file type: https://huggingface.co/datasets/Ligengxin96/polymarket-predict-fun-tick-data **How does outcometick compare to other Polymarket data providers?** It covers the crypto Up/Down markets on Polymarket and Predict.fun, from 2026-06-08 and 2026-06-13. It is sold either as a subscription to the newest 30 days ($10 a month for one venue, $18 for both) or as a one-time purchase of any range in the archive, from $0.40 a day. What it adds is the settlement side: the Chainlink streams those markets resolve on (the TWAP streams from 2026-08-08; they became the settlement basis on 2026-08-07, and that first day has no TWAP archive) and each market's strike and settled outcome sit in the same archive as the order books, so a strategy's wins and losses can be recomputed rather than trusted. Strategy code can also run in a hosted sandbox against that archive, billed per market-day from $2, without downloading anything first. Another provider fits better if you need any of the following. As described on their own sites when checked on 2026-11-03 (not a complete list): - History from before those start dates: Telonex, PMData, PolymarketData, PredictionTicks, Marketlens, Resolved Markets. - On-chain fills with wallet addresses: Telonex (both venues), PMData (both venues), Resolved Markets. - Sports, esports, weather or other non-crypto markets: Telonex, PMData, PolymarketData, Marketlens, Resolved Markets. - A free API tier or a live WebSocket feed: Marketlens and Resolved Markets have free tiers, and Resolved Markets has a WebSocket. outcometick sells archived files only, and offers free sample days in their place. - Predict.fun books from before June 2026, or Predict.fun trades: Telonex. Like Telonex, Marketlens, PMData and PolymarketData, outcometick also ships Parquet (format=parquet on /v1/files), alongside the gzipped CSV and JSONL archive files. The comparison, with the questions to put to any provider: https://outcometick.com/compare Fact-by-fact tables, one per provider (their column from their own site): https://outcometick.com/compare/telonex https://outcometick.com/compare/pmdata https://outcometick.com/compare/polymarketdata https://outcometick.com/compare/predictionticks https://outcometick.com/compare/marketlens https://outcometick.com/compare/resolved-markets **How accurate is the data? Can the settlement results be trusted?** They are checked publicly. Each market is settled again from the archived settlement stream and compared with the official outcome. Of 381,715 Polymarket markets the archive can settle (2026-06-08 to 2026-11-09), 381,711 agree. The 4 that disagree all closed on 2026-08-17 and were resolved by the venue 31 to 65 minutes after their close; each is listed on the audit page. Of 153,344 Predict.fun markets (2026-06-13 to 2026-11-09), all agree. The per-market verdicts are public: https://outcometick.com/polymarket-settlement-audit and https://outcometick.com/predict-fun-settlement-audit **What can I check without a key?** Current dates, venues, assets and dataset names are public at https://outcometick.com/v1/public/coverage, and current tiers and prices at https://outcometick.com/v1/public/plans. Listing individual files and reading the per-day dimension summary require a key. **How far back does it go, and how often does it update?** Continuously since 2026-06-08 for Polymarket and 2026-06-13 for Predict.fun, growing by one archived UTC day at a time. Each day is normally published by 02:00 UTC the next day (13:00 UTC if it is held for repair). A range request spans at most 92 days per call. ## Endpoints anyone can check without a key - https://outcometick.com/v1/public/coverage — dates, venues, assets, datasets - https://outcometick.com/v1/public/plans — current tiers and prices - https://outcometick.com/docs — full API reference - https://outcometick.com/v1/openapi.json — the HTTP API as OpenAPI 3.1 (operations that spend money or credits are marked x-requires-human-confirmation) - https://outcometick.com/v1/public/smart-plans and /v1/public/smart-coverage — smart-money plans, whether it is on sale, and how many days are published - https://outcometick.com/v1/public/settlement-audit — the settlement audit's per-day counts and disagreements; /v1/public/settlement-audit/ lists that day's markets with their verdicts; add ?venue=predict for Predict.fun - https://outcometick.com/v1/public/asset-stats — how each asset's Up/Down markets settled over the most recent archived days (counts per market period, from the archive's markets files; recomputed several times a day) ## Links - Site: https://outcometick.com - API documentation: https://outcometick.com/docs - All of the documentation pages as one plain-text file, for AI coding tools: https://outcometick.com/llms-full.txt - Endpoint reference (/v1/files, /v1/meta, /v1/dl): https://outcometick.com/docs/api - File schemas, per dataset and per venue: https://outcometick.com/docs/schemas - How a market settles: https://outcometick.com/docs/settlement - Settlement audit — each Polymarket market recomputed from the archive vs the official outcome (agree / disagree / cannot be settled, with reasons): https://outcometick.com/polymarket-settlement-audit - The same for Predict.fun (outcome implied by its published start and end prices, recomputed from the Chainlink stream it forwards): https://outcometick.com/predict-fun-settlement-audit - Backtesting: https://outcometick.com/backtest - Strategy SDK reference: https://outcometick.com/docs/sdk - Polymarket historical data (crypto Up/Down markets only): https://outcometick.com/polymarket-historical-data - Order book data, in detail: https://outcometick.com/polymarket-order-book-data - Settlement data, in detail: https://outcometick.com/chainlink-settlement-data - Predict.fun data, in detail: https://outcometick.com/predict-fun-data - Predict.fun order books (snapshots only, no delta or trade stream): https://outcometick.com/predict-fun-order-book-data - Polymarket smart-money trade history: https://outcometick.com/polymarket-smart-money-data - Compared with other providers: https://outcometick.com/compare - Worked example — fees, queue position and markouts in a Polymarket backtest: https://outcometick.com/guides/polymarket-backtest-fees-queue - Worked example — grading Up/Down markets on the settlement stream each market names, and what the wrong stream flips: https://outcometick.com/guides/polymarket-settlement-price-backtest - Per asset, with settlement statistics: Polymarket https://outcometick.com/data/polymarket/btc · https://outcometick.com/data/polymarket/eth · https://outcometick.com/data/polymarket/sol · https://outcometick.com/data/polymarket/xrp · https://outcometick.com/data/polymarket/doge · https://outcometick.com/data/polymarket/bnb · https://outcometick.com/data/polymarket/hype Predict.fun https://outcometick.com/data/predict-fun/btc · https://outcometick.com/data/predict-fun/eth · https://outcometick.com/data/predict-fun/bnb (each has a Chinese twin under /zh) - SDK source (TypeScript): https://github.com/outcometick/outcometick-sdk-ts - SDK source (Python): https://github.com/outcometick/outcometick-sdk-python - Free sample day on Kaggle: https://www.kaggle.com/datasets/ligengxin96/polymarket-predict-fun-tick-data - Free sample day on Hugging Face: https://huggingface.co/datasets/Ligengxin96/polymarket-predict-fun-tick-data - Chinese: https://outcometick.com/zh - X (Twitter): https://x.com/outcometick - Partner: PMWallets (Polymarket smart-money wallet leaderboard): https://pmwallets.com/ - Support (Telegram): https://t.me/+TcK_hJOzOz5mZTk1 - Community (Discord, English and Chinese): https://discord.gg/ZDMqkptwm5 - Support (email): support@outcometick.com - Manage or cancel a subscription (enter the purchase email and we email a sign-in link; cancellation takes effect at the end of the paid period): https://outcometick.com/billing