[{"data":1,"prerenderedAt":526},["ShallowReactive",2],{"search-sections":3,"legal-terms":70},[4,12,18,23,28,33,38,45,50,55,60,65],{"category":5,"date":6,"id":7,"title":8,"titles":9,"content":10,"level":11},"research","2026-04-06","/blog/market-diversity-lockin","When Do Polymarket Markets Decide? Half Wait Until the Last 15 Minutes",[],"Across Polymarket markets, the number of market makers barely affects when a market reaches certainty. What matters is whether it's a sports bet or a crypto price target. TL;DR: 50% of Polymarket markets lock in within 15 minutes of resolution. The number of different liquidity providers explains ~1% of when markets decide. The type of market (sports, crypto, politics) explains 10x more. Half of all Polymarket binary markets reach certainty within 15 minutes of resolution. Out of 397,000 resolved markets since January 2025, the median time between the last uncertain trade and the final result is 14.6 minutes. We set out to test whether having more different liquidity providers — the people placing resting orders on each side — affects how quickly a market reaches its verdict. The hypothesis: too few providers means thin price discovery, too many means sustained disagreement, and somewhere in the middle should be optimal. The data has a different story. The number of liquidity providers barely matters. What does matter — 10x more — is what the market is about.",1,{"category":5,"date":6,"id":13,"title":14,"titles":15,"content":16,"level":17},"/blog/market-diversity-lockin#the-data","The Data",[8],"397,498 resolved Polymarket binary markets, each with at least 10 trades and at least one trade on the winning outcome below 90 cents. For each market, we measure lock-in timing: how long before resolution did the winning outcome's price last dip below 90 cents? A market that locked in 5 days before resolution \"decided\" early. One that locked in 2 minutes before resolution was uncertain until the end. Half of all markets lock in within the final 15 minutes. Another 20% take 1–6 hours — a second cluster of markets that \"know\" a few hours early. The remaining 30% spread across days to weeks, with 10% locking in more than 5 days before resolution.",2,{"category":5,"date":6,"id":19,"title":20,"titles":21,"content":22,"level":17},"/blog/market-diversity-lockin#more-providers-slightly-later-lock-in","More Providers, Slightly Later Lock-in",[8],"At first glance, markets with more liquidity providers lock in faster. But that's misleading — those markets also have more trades overall (correlation: 0.96), and more trades is the real driver. To separate the two, I held trading volume constant and asked: among markets with the same amount of trading, does having more different providers change anything? Yes, but barely. Markets with 8 unique providers lock in about 4 minutes before resolution. Markets with 500 unique providers lock in about 1.7 hours before resolution. The curve rises, but across the full range of provider diversity, the difference is small in absolute terms — and it explains only about 1% of the total variation.",{"category":5,"date":6,"id":24,"title":25,"titles":26,"content":27,"level":17},"/blog/market-diversity-lockin#what-actually-matters-the-type-of-market","What Actually Matters: The Type of Market",[8],"The type of market explains 10x more than the number of liquidity providers. Sports markets lock in at the final whistle. Crypto price targets lock in when the price hits. Political markets wait for official results. Adding market-type categories to the model explains 6.8% of additional variation beyond trade count alone. Provider diversity adds just 0.6%. The chart shows signed ΔR² — the additional variance explained by provider diversity, with the sign indicating direction. Positive means more providers predicts later lock-in; negative means faster. (Raw ΔR² is always positive; we sign it to show whether diversity delays or accelerates convergence.) In sports and crypto (87% of markets), more providers weakly predicts later lock-in — consistent with more disagreement. In politics, weather, tech, and entertainment, more providers weakly predicts faster lock-in. The pooled result is positive only because sports and crypto dominate the sample.",{"category":5,"date":6,"id":29,"title":30,"titles":31,"content":32,"level":17},"/blog/market-diversity-lockin#a-single-character-bug-that-changed-the-finding","A Single-Character Bug That Changed the Finding",[8],"The most useful discovery was not about liquidity at all. To classify markets by topic, I built a keyword matcher over market titles. The first version used  (space after \"vs\") to catch sports markets. Polymarket titles mostly use \"vs.\" (period). One character. This silently misclassified ~100,000 sports markets into the \"other\" bucket, inflating it from 5% to 35% of the sample and creating a fake signal — the misclassified sports markets mixed with genuinely unclassifiable markets produced an apparent provider-diversity effect of 2.7% within \"other\" that did not exist. If you do prediction market research that uses title-based topic classification — and most empirical PM work does — this is a reminder to check your classifier against sample titles. A one-character difference in a LIKE pattern changed the headline finding of a 400K-market analysis.",{"category":5,"date":6,"id":34,"title":35,"titles":36,"content":37,"level":17},"/blog/market-diversity-lockin#what-this-means","What This Means",[8],"For traders: counting liquidity providers won't help you predict when a market converges. Watch the market type and the event schedule instead. For researchers: when a market decides is a different question from whether it's right — and the answer depends almost entirely on the domain, not the market structure. For market designers: a sports market and a political market have fundamentally different convergence dynamics. One-size-fits-all parameters may be leaving efficiency on the table.",{"category":39,"date":40,"id":41,"title":42,"titles":43,"content":44,"level":11},"market-analysis","2026-04-09","/blog/what-trades-dont-tell-you-orderbook","What Trades Don't Tell You But the Orderbook Will",[],"Polymarket fills are on-chain and complete. The orderbook isn't. If you're modeling slippage, market impact, or execution quality, you need the book — and there's no historical record of it unless someone captured it. TL;DR: Polymarket fills are on-chain and complete. The orderbook isn't — it lives on Polymarket's matching engine and there's no historical record of it anywhere unless someone captured it. If you're modeling execution quality, slippage, or market impact, you need the book, not just the fills. If you've done any serious work with Polymarket data, you've probably used the fills. They're on-chain, permanent, and complete — every matched trade is recorded on Polygon via the CTF and NegRisk exchange contracts. You can reconstruct the full trade history of any market going back to inception. What you can't reconstruct is what the book looked like between trades.",{"category":39,"date":40,"id":46,"title":47,"titles":48,"content":49,"level":17},"/blog/what-trades-dont-tell-you-orderbook#what-fills-dont-tell-you","What fills don't tell you",[42],"A fill tells you that at time T, X shares of outcome Y traded at price P. That's useful for a lot of things: price series, volume analysis, market convergence (we wrote about this here). It doesn't tell you what was sitting in the order book at T-1ms. It doesn't tell you what the best bid was before that fill came in, how deep the book was at each price level, or what the spread looked like. If the fill moved the price by 3 cents, you have no idea whether that was a 100-share book or a 10,000-share book. For researchers studying price discovery, this probably doesn't matter much. For anyone modeling execution — slippage, market impact, realistic fill simulation — it matters a lot.",{"category":39,"date":40,"id":51,"title":52,"titles":53,"content":54,"level":17},"/blog/what-trades-dont-tell-you-orderbook#why-theres-no-historical-orderbook","Why there's no historical orderbook",[42],"Polymarket's matching engine runs off-chain. The orderbook state at any moment exists on Polymarket's servers, not on the blockchain. Only the result of a match — the fill — gets settled on-chain. This means there is no canonical historical record of the orderbook. Not on Polymarket's API (no historical endpoint exists). Not on the blockchain. If no one captured it at the time, it's gone. We've been capturing continuously since November 2025. Full-resolution data is available from March 2026.",{"category":39,"date":40,"id":56,"title":57,"titles":58,"content":59,"level":17},"/blog/what-trades-dont-tell-you-orderbook#what-continuous-capture-gives-you","What continuous capture gives you",[42],"We snapshot the full orderbook across active Polymarket markets continuously and store every state. For any market, at any moment in its lifetime, you can reconstruct the full bid/ask book — every price level, every size. We interpolate to 1ms resolution using last-observation-carried-forward. On high-volume markets, the raw feed can hit 1,000 orderbook updates per second — storing and querying that at scale is non-trivial. The data ships as Parquet: , , , , each level as .",{"category":39,"date":40,"id":61,"title":62,"titles":63,"content":64,"level":17},"/blog/what-trades-dont-tell-you-orderbook#what-this-is-actually-useful-for","What this is actually useful for",[42],"Slippage modeling: Given a position size, what would your actual fill price have been? The mid-price from fills gives you a number. The orderbook gives you the right number. Market impact estimation: How much does a trade of size S move the book at different probability levels? This is only answerable if you know the book depth at the moment of entry — not after. Execution strategy research: Does it matter whether you're a maker or taker in the final hour of a contested market? With orderbook history, you can test it. Without it, you're guessing. These questions are answerable with orderbook history. They're not answerable from fills alone.",{"category":39,"date":40,"id":66,"title":67,"titles":68,"content":69,"level":17},"/blog/what-trades-dont-tell-you-orderbook#get-the-data","Get the data",[42],"Orderbook history is available on the Orderbook plan. If you're working on execution research or building a model that needs realistic fill simulation, reach out at arsenii@probalytics.io.",{"id":71,"title":72,"body":73,"date":517,"description":518,"extension":519,"meta":520,"navigation":521,"path":522,"seo":523,"stem":524,"__hash__":525},"legal/legal/terms.md","Terms of Service",{"type":74,"value":75,"toc":492},"minimark",[76,83,86,89,92,97,100,113,116,118,122,125,128,130,134,137,146,148,152,155,169,171,175,182,208,214,220,222,226,231,234,238,241,245,248,250,254,257,309,312,315,318,321,323,327,330,332,336,342,345,348,350,354,357,360,363,365,369,372,375,377,381,384,395,398,400,404,415,417,421,424,435,438,441,443,447,450,452,456,459,461,465,468,476,487,489],[77,78,79],"p",{},[80,81,82],"strong",{},"Last updated: April 11, 2026",[77,84,85],{},"These Terms of Service (\"Terms\") govern your access to and use of the Probalytics API, ClickHouse SQL endpoint, data exports, and related services (collectively, the \"Service\") provided by Probalytics (\"we\", \"us\", or \"our\").",[77,87,88],{},"By creating an account or accessing the Service, you agree to these Terms. If you do not agree, do not use the Service.",[90,91],"hr",{},[93,94,96],"h2",{"id":95},"_1-the-service","1. The Service",[77,98,99],{},"Probalytics provides data infrastructure covering prediction market data from Polymarket (Polygon blockchain) and Kalshi (public API). Access is provided via:",[101,102,103,107,110],"ul",{},[104,105,106],"li",{},"REST API",[104,108,109],{},"ClickHouse SQL endpoint",[104,111,112],{},"Bulk Parquet / S3 exports",[77,114,115],{},"Service access levels and features vary by plan (Starter, Pro, Orderbook, Custom).",[90,117],{},[93,119,121],{"id":120},"_2-eligibility","2. Eligibility",[77,123,124],{},"You must be at least 18 years old and capable of forming a binding contract to use the Service. By accepting these Terms, you represent that you meet this requirement.",[77,126,127],{},"If you are using the Service on behalf of a company or organization, you represent that you have authority to bind that entity to these Terms.",[90,129],{},[93,131,133],{"id":132},"_3-account-registration","3. Account Registration",[77,135,136],{},"You must provide accurate information when creating an account. You are responsible for maintaining the confidentiality of your API key(s) and for all activity that occurs under your account.",[77,138,139,140,145],{},"Notify us immediately at ",[141,142,144],"a",{"href":143},"mailto:arsenii@probalytics.io","arsenii@probalytics.io"," if you suspect unauthorized use of your account or API key.",[90,147],{},[93,149,151],{"id":150},"_4-permitted-use","4. Permitted Use",[77,153,154],{},"You may use the Service to:",[101,156,157,160,163,166],{},[104,158,159],{},"Build and operate algorithmic trading systems",[104,161,162],{},"Conduct quantitative and academic research",[104,164,165],{},"Power data pipelines, analytics dashboards, and AI/ML models",[104,167,168],{},"Develop applications that consume or present prediction market data",[90,170],{},[93,172,174],{"id":173},"_5-prohibited-use","5. Prohibited Use",[77,176,177,178,181],{},"You may ",[80,179,180],{},"not"," use the Service to:",[101,183,184,187,190,193,196,199,202,205],{},[104,185,186],{},"Resell, sublicense, redistribute, or otherwise make available data obtained from the Service to any third party as a standalone data product or feed, in whole or in part, whether raw, reformatted, aggregated, or enriched — without prior written authorization from Probalytics",[104,188,189],{},"Build, operate, or contribute to any product or service that competes with Probalytics by redistributing prediction market data sourced from the Service",[104,191,192],{},"Cache, store, or mirror Service data for the purpose of serving it to third parties outside the normal operation of your own internal application",[104,194,195],{},"Circumvent rate limits, quotas, or access controls by any means, including using multiple accounts or API keys",[104,197,198],{},"Scrape or bulk-extract data beyond what your plan explicitly permits",[104,200,201],{},"Use the Service in violation of applicable laws, including financial regulations in your jurisdiction",[104,203,204],{},"Reverse-engineer the Service infrastructure or attempt unauthorized access to systems",[104,206,207],{},"Use data in a manner that violates Polymarket's or Kalshi's own terms of service",[77,209,210,213],{},[80,211,212],{},"Consequences of breach",": Any violation of the data redistribution restrictions above is a material breach of these Terms. We reserve the right to immediately suspend or terminate your account without notice or refund, and to seek injunctive relief and damages to the fullest extent permitted by applicable law. You acknowledge that monetary damages alone may be insufficient to remedy such a breach.",[77,215,216,217,219],{},"If you are unsure whether your intended use is permitted, contact us at ",[141,218,144],{"href":143}," before proceeding.",[90,221],{},[93,223,225],{"id":224},"_6-data-and-intellectual-property","6. Data and Intellectual Property",[227,228,230],"h3",{"id":229},"_61-market-data","6.1 Market Data",[77,232,233],{},"Polymarket data is derived from the public Polygon blockchain. Kalshi data is accessed via their public API. Probalytics does not claim ownership of underlying market data.",[227,235,237],{"id":236},"_62-probalytics-infrastructure","6.2 Probalytics Infrastructure",[77,239,240],{},"The API schema, normalization layer, ClickHouse database structure, query interfaces, documentation, and software powering the Service are proprietary to Probalytics. Nothing in these Terms grants you any rights to that intellectual property.",[227,242,244],{"id":243},"_63-your-data","6.3 Your Data",[77,246,247],{},"You retain ownership of any data, models, or outputs you create using the Service.",[90,249],{},[93,251,253],{"id":252},"_7-pricing-and-payment","7. Pricing and Payment",[77,255,256],{},"Plans and pricing:",[258,259,260,273],"table",{},[261,262,263],"thead",{},[264,265,266,270],"tr",{},[267,268,269],"th",{},"Plan",[267,271,272],{},"Price",[274,275,276,285,293,301],"tbody",{},[264,277,278,282],{},[279,280,281],"td",{},"Starter",[279,283,284],{},"$39/month",[264,286,287,290],{},[279,288,289],{},"Pro",[279,291,292],{},"$129/month",[264,294,295,298],{},[279,296,297],{},"Orderbook",[279,299,300],{},"$249/month",[264,302,303,306],{},[279,304,305],{},"Custom",[279,307,308],{},"Contact sales",[77,310,311],{},"All prices are in USD. Probalytics is not currently registered as a VAT payer; no VAT is charged. Annual billing is available at a 20% discount. Payment is processed via Stripe. Subscriptions are billed monthly (or annually) in advance. You authorize us to charge your payment method on a recurring basis.",[77,313,314],{},"Failure to pay may result in suspension of API access after a grace period of at most 7 days past the billing date.",[77,316,317],{},"We offer a money-back guarantee. If you are not satisfied with the Service, contact us within a reasonable period of first use for a full refund.",[77,319,320],{},"For annual subscriptions, you may request a prorated refund for unused months if you cancel within 30 days of your renewal date.",[90,322],{},[93,324,326],{"id":325},"_8-free-trials-and-trial-access","8. Free Trials and Trial Access",[77,328,329],{},"We may at our discretion grant trial access (including to specific data tiers) on a time-limited basis. Trial access may be revoked at any time. Trial users are still subject to these Terms.",[90,331],{},[93,333,335],{"id":334},"_9-cancellation-and-refunds","9. Cancellation and Refunds",[77,337,338,339,341],{},"You may cancel your subscription at any time from your account settings or by emailing ",[141,340,144],{"href":143},". Cancellation takes effect at the end of the current billing period.",[77,343,344],{},"We offer a money-back guarantee on monthly plans. For annual plans, unused months may be refunded if you cancel within 30 days of your renewal date. Prorated refunds for mid-period cancellations on monthly plans are not standard but may be granted at our discretion in cases of documented service failure.",[77,346,347],{},"Plan upgrades and downgrades take effect immediately. We will prorate any differences.",[90,349],{},[93,351,353],{"id":352},"_10-service-availability-and-sla","10. Service Availability and SLA",[77,355,356],{},"We aim for high availability but do not guarantee uninterrupted access. Scheduled maintenance, third-party infrastructure issues (blockchain node outages, Kalshi feed interruptions), or force majeure events may result in downtime.",[77,358,359],{},"We will communicate planned maintenance in advance where possible.",[77,361,362],{},"No SLA is implied unless explicitly agreed in a Custom plan contract.",[90,364],{},[93,366,368],{"id":367},"_11-data-accuracy","11. Data Accuracy",[77,370,371],{},"Polymarket data is sourced from the Polygon blockchain and is provided as-is. Kalshi data is sourced from their public API. Probalytics processes, normalizes, and stores this data in good faith, but we make no warranty regarding completeness, accuracy, or fitness for a particular purpose — including for use in live trading.",[77,373,374],{},"You are solely responsible for any trading or financial decisions made using data from the Service.",[90,376],{},[93,378,380],{"id":379},"_12-limitation-of-liability","12. Limitation of Liability",[77,382,383],{},"To the maximum extent permitted by applicable law:",[101,385,386,389,392],{},[104,387,388],{},"We are not liable for any indirect, incidental, consequential, or punitive damages arising from your use of the Service",[104,390,391],{},"Our total liability to you in any calendar month shall not exceed the fees you paid to us in that month",[104,393,394],{},"We are not liable for losses arising from trading decisions made using Service data",[77,396,397],{},"Nothing in these Terms limits liability for death, personal injury, or fraud caused by our negligence.",[90,399],{},[93,401,403],{"id":402},"_13-disclaimer-of-warranties","13. Disclaimer of Warranties",[77,405,406,407,410,411,414],{},"The Service is provided ",[80,408,409],{},"\"as is\""," and ",[80,412,413],{},"\"as available\""," without warranties of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, or non-infringement.",[90,416],{},[93,418,420],{"id":419},"_14-termination","14. Termination",[77,422,423],{},"We may suspend or terminate your account:",[101,425,426,429,432],{},[104,427,428],{},"For breach of these Terms",[104,430,431],{},"For non-payment",[104,433,434],{},"If required to do so by law or regulation",[77,436,437],{},"You may terminate your account at any time by cancelling your subscription and emailing us.",[77,439,440],{},"On termination, your API access will cease. We may retain data as required by law or legitimate business purposes per our Privacy Policy.",[90,442],{},[93,444,446],{"id":445},"_15-governing-law-and-disputes","15. Governing Law and Disputes",[77,448,449],{},"These Terms are governed by Finnish law. Any disputes arising from or related to these Terms shall be subject to the exclusive jurisdiction of the District Court of Espoo (Espoon käräjäoikeus), unless mandatory consumer protection law in your country of residence provides otherwise.",[90,451],{},[93,453,455],{"id":454},"_16-changes-to-these-terms","16. Changes to These Terms",[77,457,458],{},"We may update these Terms from time to time. We will notify registered users of material changes by email at least 14 days before they take effect. Continued use of the Service after changes take effect constitutes acceptance of the updated Terms.",[90,460],{},[93,462,464],{"id":463},"_17-contact","17. Contact",[77,466,467],{},"For questions about these Terms:",[77,469,470,473,474],{},[80,471,472],{},"Email",": ",[141,475,144],{"href":143},[77,477,478,473,481],{},[80,479,480],{},"Website",[141,482,486],{"href":483,"rel":484},"http://probalytics.io",[485],"nofollow","probalytics.io",[90,488],{},[77,490,491],{},"Probalytics is a service operated by Workki Oy, Kokinniitty 7 B, 02250 Espoo, Finland.",{"title":493,"searchDepth":494,"depth":494,"links":495},"",3,[496,497,498,499,500,501,506,507,508,509,510,511,512,513,514,515,516],{"id":95,"depth":17,"text":96},{"id":120,"depth":17,"text":121},{"id":132,"depth":17,"text":133},{"id":150,"depth":17,"text":151},{"id":173,"depth":17,"text":174},{"id":224,"depth":17,"text":225,"children":502},[503,504,505],{"id":229,"depth":494,"text":230},{"id":236,"depth":494,"text":237},{"id":243,"depth":494,"text":244},{"id":252,"depth":17,"text":253},{"id":325,"depth":17,"text":326},{"id":334,"depth":17,"text":335},{"id":352,"depth":17,"text":353},{"id":367,"depth":17,"text":368},{"id":379,"depth":17,"text":380},{"id":402,"depth":17,"text":403},{"id":419,"depth":17,"text":420},{"id":445,"depth":17,"text":446},{"id":454,"depth":17,"text":455},{"id":463,"depth":17,"text":464},"2026-04-11","The terms governing your use of Probalytics.","md",{},true,"/legal/terms",{"title":72,"description":518},"legal/terms","pdetkNPw2hIKiCz57SXIyW-PDYWsKEDF5eUJDLjyQx8",1775926730317]