<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Prediction Arena</title>
    <description>The latest articles on DEV Community by Prediction Arena (@predictionarena).</description>
    <link>https://dev.to/predictionarena</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4237058%2Fc0142cb8-c4df-456b-925b-ff012cb3a455.png</url>
      <title>DEV Community: Prediction Arena</title>
      <link>https://dev.to/predictionarena</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/predictionarena"/>
    <language>en</language>
    <item>
      <title>What happens when a prediction market has no maker</title>
      <dc:creator>Prediction Arena</dc:creator>
      <pubDate>Tue, 10 Nov 2026 12:28:42 +0000</pubDate>
      <link>https://dev.to/predictionarena/what-happens-when-a-prediction-market-has-no-maker-37dj</link>
      <guid>https://dev.to/predictionarena/what-happens-when-a-prediction-market-has-no-maker-37dj</guid>
      <description>&lt;p&gt;Every prediction market UI shows a number: 63% yes, 37% no. It looks like a fact about the world. It is actually a fact about the people who showed up.&lt;/p&gt;

&lt;p&gt;I have been building one, and the part that surprised me is what happens before anyone shows up.&lt;/p&gt;

&lt;p&gt;AN EMPTY POOL HAS NO PRICE&lt;/p&gt;

&lt;p&gt;When a binary market opens with nothing in the pool, the interface still needs to render something, so it renders 50/50. That number is not a forecast. It is a default. There is no bid, no ask, no counterparty, and no information anywhere in the system except "nobody has said anything yet".&lt;/p&gt;

&lt;p&gt;On a liquid venue, 6% means thousands of people argued and landed on 6%. On an empty book, 6% means one person typed it, or nobody typed anything and the UI made it up. Same pixels, completely different meaning.&lt;/p&gt;

&lt;p&gt;THE DESIGN THAT MAKES THIS VISIBLE&lt;/p&gt;

&lt;p&gt;Each question on our board is its own on-chain pool: two outcomes, no order book, no market maker. Whoever takes the first position sets the price, because the price is just the ratio of the two sides. That is the whole mechanism.&lt;/p&gt;

&lt;p&gt;It has an uncomfortable property: for the first person, the market is not a market. It is a quote they are writing, not one they are reading. Most people, reasonably, want to read a price before they act.&lt;/p&gt;

&lt;p&gt;WHAT THE NUMBERS ACTUALLY LOOKED LIKE&lt;/p&gt;

&lt;p&gt;We run 243 open questions on Base. When I audited them on-chain: 243 open, all with status = 1, totalNetPool = 0 for every single one, and 41 of them had real volume at some point.&lt;/p&gt;

&lt;p&gt;So the honest state of a two-week-old board is "every market is a quote waiting for a taker". Not a failure mode, just the empty state of the mechanism.&lt;/p&gt;

&lt;p&gt;THREE THINGS I GOT WRONG FIRST&lt;/p&gt;

&lt;p&gt;Resolution criteria are the product. "Will X close above Y before date Z" has five ambiguities hiding in six words: which index, which close, which timezone, what happens on a halt. Most mispricing is people disagreeing about the rule, not the world.&lt;/p&gt;

&lt;p&gt;Liquidity is not a phase you skip. I assumed markets fill because the question is interesting. They fill because somebody with a balance sheet decided to sit there. With no maker, the first taker is doing that job for free.&lt;/p&gt;

&lt;p&gt;A price with no volume is not cheap. My first instinct on seeing 6% on a thin market was "that is mispriced". It is not priced at all. Those are different things and only one of them is tradeable.&lt;/p&gt;

&lt;p&gt;WHY I AM WRITING THIS&lt;/p&gt;

&lt;p&gt;Because "the odds say 6%" is the most repeated sentence in this industry and it hides all of the above. If you are building in this space, the empty-book case is where the real design decisions live: how do you bootstrap a maker, do you allow limit orders that rest without a counterparty, what do you show when there is genuinely no price.&lt;/p&gt;

&lt;p&gt;The board is at &lt;a href="https://predictionarena.online" rel="noopener noreferrer"&gt;https://predictionarena.online&lt;/a&gt; if you want to poke at the empty state yourself. Happy to hear how other people solved the cold start, it is the part every writeup skips.&lt;/p&gt;

</description>
      <category>web3</category>
      <category>solidity</category>
      <category>defi</category>
    </item>
  </channel>
</rss>
