<?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: Polytrage</title>
    <description>The latest articles on DEV Community by Polytrage (@polytrage).</description>
    <link>https://dev.to/polytrage</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3847527%2F6461f7b0-de86-45f8-8085-cb1a2d3153dd.png</url>
      <title>DEV Community: Polytrage</title>
      <link>https://dev.to/polytrage</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/polytrage"/>
    <language>en</language>
    <item>
      <title>Why the Same Market Trades at Different Prices on Polymarket and Kalshi</title>
      <dc:creator>Polytrage</dc:creator>
      <pubDate>Sun, 12 Apr 2026 19:40:53 +0000</pubDate>
      <link>https://dev.to/polytrage/why-the-same-market-trades-at-different-prices-on-polymarket-and-kalshi-4l84</link>
      <guid>https://dev.to/polytrage/why-the-same-market-trades-at-different-prices-on-polymarket-and-kalshi-4l84</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3csgtr0me3wjm3s5px4m.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3csgtr0me3wjm3s5px4m.PNG" alt="Why the Same Market Trades at Different Prices on Polymarket and Kalshi" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Polymarket and Kalshi both run binary markets on the same real-world events. When the Federal Reserve meets, both platforms carry "Will the Fed cut rates?" contracts. When election season runs, both price the same candidates against the same timeline. In theory, identical questions with identical $1.00 settlements should carry identical prices everywhere.&lt;/p&gt;

&lt;p&gt;In practice, they don't. The same market can trade at 55¢ on one platform and 64¢ on another simultaneously - not briefly, as a transient glitch that self-corrects in seconds, but persistently, across hundreds of markets, every day both platforms are live. That 9-cent gap isn't a data error. It's structural. And understanding why it exists - and why it won't disappear on its own - is the foundational question behind cross-exchange arbitrage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Order books don't synchronize themselves
&lt;/h2&gt;

&lt;p&gt;Every prediction market platform runs its own independent order book. Polymarket's order book and Kalshi's order book are completely separate systems with no shared data feed, no automatic pricing relay, and no connection between them. When someone buys YES on Polymarket, that trade updates Polymarket's price and nothing else. Kalshi's price is determined entirely by Kalshi's traders responding to Kalshi's own order flow.&lt;/p&gt;

&lt;p&gt;For two platforms to carry identical prices, they'd need identical participant behavior: the same people, with the same information, making the same decisions at the same time in both books. That never happens. The platforms have different users, different fee structures, different liquidity depths, and different information flows. Divergence isn't the anomaly - convergence would be.&lt;/p&gt;

&lt;p&gt;Price synchronization has to be done by external capital that deliberately straddles both books: buying on the cheaper platform, selling NO (implicitly) on the more expensive one, and collecting the gap at resolution. That's exactly what arbitrage is. The size and speed of that correction depends entirely on how much capital is actively doing it - and in practice, that pool is small enough that meaningful spreads persist for hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two communities forming independent prices
&lt;/h2&gt;

&lt;p&gt;Kalshi operates as a federally regulated derivatives exchange under direct CFTC oversight. Its user base is predominantly US-based, has passed full KYC verification, and skews toward financially-oriented traders - people more comfortable with traditional derivatives, interest rate markets, and structured products than with wallets and on-chain settlement.&lt;/p&gt;

&lt;p&gt;Polymarket is crypto-native. Its users transact in USDC, interact via Polygon wallets, and span jurisdictions worldwide. The platform grew organically out of the DeFi trading community - participants who are fluent in crypto infrastructure and accustomed to peer-to-peer financial markets that move fast and settle on-chain.&lt;/p&gt;

&lt;p&gt;These two communities don't necessarily form the same view of the same event. On a Federal Reserve rate decision, Kalshi's traders may be running macro models and reading the Fed's dot plot closely. Polymarket's global, crypto-native audience brings different reference frames, different baseline priors about central bank behavior, and different reaction functions to the same underlying data.&lt;/p&gt;

&lt;p&gt;Persistent soft disagreement between two distinct communities produces persistent price divergence. Neither side has to be wrong for a spread to exist - they just have to weigh the same evidence differently. This isn't random noise; it's a systematic, repeatable difference in who is forming prices on each platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Regulatory access limits the arbitrage pool
&lt;/h2&gt;

&lt;p&gt;For a spread to close, capital has to flow through both books simultaneously. That requires a trader who can access both platforms - and the barriers to doing that are real.&lt;/p&gt;

&lt;p&gt;Kalshi requires US residency and full KYC verification. Polymarket carries USDC and Polygon wallet requirements that many traditional traders won't navigate. State-level restrictions add another layer of exclusion for certain US residents. Non-US traders, depending on jurisdiction, may not be able to access one or both platforms at all. And even for traders who can technically access both, the operational overhead of managing positions across two completely different platforms - two different account infrastructures, two different settlement mechanics, two different APIs - creates meaningful friction.&lt;/p&gt;

&lt;p&gt;The practical result is that the pool of capital capable of simultaneously deploying on both Polymarket and Kalshi is significantly smaller than the total capital active on either platform alone. A smaller arbitrage pool means spreads close more slowly and can be larger at equilibrium. In a fully open market with unlimited capital mobility, a 9-cent gap would be competed to the fee floor within minutes. With real-world friction, the same spread can sit for hours.&lt;/p&gt;

&lt;p&gt;The right panel of the chart below models this relationship directly: as active arbitrage capital increases, equilibrium spreads compress toward the fee floor but never reach zero. The fee floor itself - roughly 2.75¢ at a 50¢ midpoint for the Polymarket Politics plus Kalshi taker combination - is a hard structural minimum. No matter how much capital is in the arbitrage pool, unprofitable spreads won't attract capital.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd051n5n12kw390b2mkr6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd051n5n12kw390b2mkr6.png" alt="Why the Same Market Trades at Different Prices on Polymarket and Kalshi" width="800" height="401"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Cross-exchange price divergence - spread lifecycle and persistence&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The left panel shows the typical lifecycle of a spread around a news event: one platform reprices fast, the other catches up slowly, and the gap between them is the tradeable window.&lt;/p&gt;

&lt;h2&gt;
  
  
  News hits different books at different speeds
&lt;/h2&gt;

&lt;p&gt;When market-moving information arrives, both platforms reprice - but not simultaneously and not at the same rate.&lt;/p&gt;

&lt;p&gt;Polymarket's crypto-native, continuously-active audience tends to react quickly to high-profile announcements. A Fed press release, an election night result, a surprise jobs report - these move Polymarket's order book within minutes as active traders flood in with new orders. Kalshi's more traditional trading community may include participants who process the same information more slowly, aren't watching a terminal continuously, or are positioned in ways that make them slower to act.&lt;/p&gt;

&lt;p&gt;The platform that reprices first creates the spread. The platform that lags follows at its own pace. In the interval between those two repricing events - which can run from a few minutes to several hours depending on the event type and the liquidity depth of the specific market - the spread is real, stable, and profitable to close.&lt;/p&gt;

&lt;p&gt;The timing lag isn't uniform or predictable in advance. It varies by event type, by the composition of who happens to be active in each book at that moment, and by the liquidity depth of the specific market. What's consistent is the direction: spreads open when platforms reprice at different speeds, and close as the lagging book eventually catches up. The arbitrage window is exactly that interval.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this looks like in a real trade
&lt;/h2&gt;

&lt;p&gt;The worked example from &lt;a href="https://blog.polytrage.com/what-is-prediction-market-arbitrage" rel="noopener noreferrer"&gt;the arbitrage mechanics article&lt;/a&gt; captures this precisely. With Polymarket YES at 55¢ and Kalshi YES at 64¢ on the same Federal Reserve rate question:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Buy 100 YES on Polymarket: &lt;strong&gt;$55.00&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Buy 100 NO on Kalshi at 36¢: &lt;strong&gt;$36.00&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Total cost: &lt;strong&gt;$91.00&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Guaranteed resolution payout: &lt;strong&gt;$100.00&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That 9-cent gap reflects genuine price fragmentation between two communities that have reached different equilibria on the same question. After fees - $0.99 on the Polymarket leg, $1.61 on the Kalshi leg - net profit is $6.40 on $91.00 invested: &lt;strong&gt;7.0% net ROI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The spread doesn't exist because one platform got the "right" answer and the other got it wrong. It exists because two separate order books, with different participants, different information processing speeds, and different structural incentives, have temporarily landed in different places. The arbitrage trade closes that gap and locks in the difference.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the gap won't close to zero
&lt;/h2&gt;

&lt;p&gt;Spreads between Polymarket and Kalshi won't be arbitraged to zero. The same structural conditions that create them also limit how far they can narrow.&lt;/p&gt;

&lt;p&gt;The fee floor sets a hard lower bound. Even with unlimited arbitrage capital and perfect execution, spreads below the combined fee cost for both legs are unprofitable and won't attract capital. That floor sits at roughly 2.75¢ at a 50¢ midpoint on the Polymarket Politics plus Kalshi taker combination - a permanent structural minimum imposed by the fee schedules of both platforms. No trading strategy can profitably close a spread smaller than this; the fee drag absorbs the entire gross return before any net profit is realized.&lt;/p&gt;

&lt;p&gt;Above the fee floor, the limited arbitrage pool creates a soft equilibrium. Spreads compress as capital flows in but stabilize at whatever level the available capital runs out before the gap is fully closed. On high-liquidity, heavily-watched markets - a major election, a Fed meeting - the equilibrium spread is tighter because more capital is actively monitoring and trading both books. On lower-liquidity markets covering niche events, the equilibrium can sit at 5–8¢ or more, simply because there isn't enough active arbitrage capital to push it further down.&lt;/p&gt;

&lt;p&gt;The user base divergence and regulatory barriers are durable. CFTC regulation isn't going away. The crypto onboarding friction on Polymarket isn't disappearing. The two trading communities will continue to bring different priors and different information processing speeds to the same markets. These are structural facts about how prediction markets are organized, not temporary conditions waiting to resolve.&lt;/p&gt;

&lt;p&gt;The result is a market that offers persistent, repeatable opportunities of the type the worked example describes - not because the market is broken, but because it's genuinely fragmented across two structurally different platforms, with a limited pool of capital bridging the gap.&lt;/p&gt;

</description>
      <category>polymarket</category>
      <category>kalshi</category>
      <category>arbitrage</category>
      <category>strategy</category>
    </item>
    <item>
      <title>What Is Prediction Market Arbitrage?</title>
      <dc:creator>Polytrage</dc:creator>
      <pubDate>Thu, 02 Apr 2026 20:02:51 +0000</pubDate>
      <link>https://dev.to/polytrage/what-is-prediction-market-arbitrage-3e6g</link>
      <guid>https://dev.to/polytrage/what-is-prediction-market-arbitrage-3e6g</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnr9p64jmcgaaxnrjr7i4.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnr9p64jmcgaaxnrjr7i4.PNG" alt="What Is Prediction Market Arbitrage?" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Prediction markets pay out at $1.00 on the winning side of a binary event. That's the rule. Every contract resolves either to $1.00 or to zero - no exceptions, no partial outcomes, no ambiguity about the settlement amount.&lt;/p&gt;

&lt;p&gt;That rule creates an opportunity: if you can buy YES on one platform and NO on another at a combined cost below $1.00, you're guaranteed a profit regardless of outcome. The event settles. One of your positions collects $1.00. Your other position expires at zero. You come out ahead on every scenario, because you already locked in the positive gap at entry.&lt;/p&gt;

&lt;p&gt;This is prediction market arbitrage. The profit isn't contingent on predicting what happens next. It's contingent on finding two platforms that disagree on the price of the same outcome.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the math works
&lt;/h2&gt;

&lt;p&gt;Take any binary event. Let &lt;code&gt;p_A&lt;/code&gt; be the YES price on Platform A and &lt;code&gt;p_B&lt;/code&gt; be the YES price on Platform B.&lt;/p&gt;

&lt;p&gt;If &lt;code&gt;p_A &amp;lt; p_B&lt;/code&gt;, the setup is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Buy YES on Platform A at &lt;code&gt;p_A&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Buy NO on Platform B at &lt;code&gt;1 − p_B&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Total cost: &lt;code&gt;p_A + (1 − p_B) = 1 − (p_B − p_A)&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since &lt;code&gt;p_B &amp;gt; p_A&lt;/code&gt;, the combined cost is below $1.00. The spread between the two platforms is your locked-in gross profit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gross_profit = p_B − p_A
gross_ROI = (p_B − p_A) / (p_A + 1 − p_B)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If YES resolves: your YES position pays $1.00, your NO position expires worthless. Net: $1.00 minus total cost.&lt;br&gt;&lt;br&gt;
If NO resolves: your NO position pays $1.00, your YES position expires worthless. Net: $1.00 minus total cost.&lt;/p&gt;

&lt;p&gt;Same result either way. That's the hedge. The outcome doesn't matter.&lt;/p&gt;
&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Event&lt;/strong&gt; : Will the Federal Reserve cut rates before June 2026?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Polymarket YES: 55¢&lt;/li&gt;
&lt;li&gt;Kalshi YES: 64¢&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Position:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Buy 100 YES contracts on Polymarket at 55¢ - &lt;strong&gt;$55.00&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Buy 100 NO contracts on Kalshi at 36¢ - &lt;strong&gt;$36.00&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Total cost: &lt;strong&gt;$91.00&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Guaranteed payout when the market resolves: &lt;strong&gt;$100.00&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gross profit: $9.00. Gross ROI: &lt;strong&gt;9.9%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That 9¢ spread exists because Polymarket's user base and Kalshi's user base have reached different prices for the same question. One community sees a 55% chance the Fed acts. The other sees a 64% chance. You don't need a view on which is right. You're being paid to close the pricing gap between two platforms that can't agree.&lt;/p&gt;
&lt;h2&gt;
  
  
  Fees change the picture
&lt;/h2&gt;

&lt;p&gt;$9.00 gross profit has to clear both fee legs before you're in the black.&lt;/p&gt;

&lt;p&gt;Polymarket's Politics fee formula:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fee = contracts × feeRate × price × (1 − price)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At 55¢ on 100 contracts (feeRate = 0.040): &lt;code&gt;100 × 0.040 × 0.55 × 0.45 = $0.99&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Kalshi's taker fee formula:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fee = 0.07 × contracts × price × (1 − price)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At 36¢ on 100 contracts: &lt;code&gt;0.07 × 100 × 0.36 × 0.64 = $1.61&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Total fees: &lt;strong&gt;$2.60&lt;/strong&gt;. Net profit: &lt;strong&gt;$6.40&lt;/strong&gt;. Net ROI: &lt;strong&gt;7.0%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The chart below shows how the guaranteed $100 payout decomposes across the two position costs, fee drag, and net profit - and how net ROI scales with spread size at different price midpoints.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frkea2fizmhgbmkv72zdb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frkea2fizmhgbmkv72zdb.png" alt="What Is Prediction Market Arbitrage?" width="800" height="370"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Prediction market arbitrage - trade breakdown and net ROI curve&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;At a 50¢ midpoint on the Polymarket Politics + Kalshi Taker combination, the break-even spread is roughly 2.75¢. Any spread below that produces negative net ROI after fees - it looks like profit on the surface but isn't once the fee legs are deducted. A system with a defined minimum ROI threshold - Polytrage filters at 0.5% net - avoids entering positions where the gross spread is real but the net return isn't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the same event prices differently
&lt;/h2&gt;

&lt;p&gt;If markets were fully efficient and capital moved freely between platforms, spreads would close immediately. They don't, for four reasons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Liquidity fragmentation.&lt;/strong&gt; Polymarket and Kalshi run separate order books with no direct connection. A wave of buying on Polymarket pushes YES up without any automatic pressure on Kalshi's price. The gap can persist until external capital comes in to close it - which only happens when someone actively decides to place the trades.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Different user bases.&lt;/strong&gt; Kalshi attracts financially-oriented, primarily US-based traders operating in a regulated exchange environment. Polymarket's audience is broader, global, and crypto-native. A Fed rate decision is the kind of event both platforms cover in depth - and the two communities may weight different economic data differently, or carry different structural biases about what central banks are likely to do. Persistent soft disagreement is the result.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Regulatory access.&lt;/strong&gt; Not everyone who could arbitrage these platforms is able to. State-level restrictions, KYC requirements, and crypto onboarding friction limit the pool of capital that can freely deploy on both platforms simultaneously. A smaller active arbitrage pool means windows close more slowly than they would in a fully open market - spreads that should last seconds can sit for minutes or longer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Information flow timing.&lt;/strong&gt; News hits Polymarket first on some events, Kalshi first on others. The platform that reprices first creates the spread. The other follows on a lag. In fast-moving markets - when a Fed statement drops, or an unexpected jobs report lands - that lag is measurable and tradeable before both order books catch up to each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is this actually risk-free?
&lt;/h2&gt;

&lt;p&gt;The math is airtight. Execution introduces caveats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Execution risk.&lt;/strong&gt; Placing the YES order and then failing to fill the NO order at the expected price leaves you with a naked directional position you didn't intend. Manual execution is unreliable for this reason. Automated simultaneous order placement reduces the exposure, but slippage on the second leg can still shrink or eliminate the spread if prices moved between the two fills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resolution disputes.&lt;/strong&gt; Both platforms resolve markets consistently in the vast majority of cases. But if one platform resolves YES and the other resolves NO on the same event - due to ambiguous market wording, contested data, or platform-specific interpretation rules - both legs lose. This is rare. It isn't impossible, and any serious model of the strategy accounts for it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Partial fills.&lt;/strong&gt; Order books have depth limits. If you can't buy the full quantity at the listed price, the executed spread may be narrower than the displayed one. Execution at your target size assumes enough resting liquidity to fill against - on thinner markets, that assumption can fail mid-order.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capital lock-up.&lt;/strong&gt; Your money is committed from entry to resolution. Markets can run for weeks or months. 7.0% looks good until you annualize it against how long the capital is tied up - a three-month lock-up at 7.0% nominal is roughly 28% annualized if you can source consistent flow, but zero if the market sits dormant with no new qualifying opportunities.&lt;/p&gt;

&lt;p&gt;None of these break the strategy. They're the reason that disciplined execution - simultaneous order placement, minimum ROI thresholds, position size limits, resolution monitoring - separates the theoretical return from the realized one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this doesn't scale manually
&lt;/h2&gt;

&lt;p&gt;Finding the opportunity is one problem. Acting on it before it closes is another.&lt;/p&gt;

&lt;p&gt;Spreads large enough to clear the fee threshold don't usually sit around. When a 9¢ gap appears on a liquid Fed rate market, other participants see the same order books. The window between identification and closure can be minutes in active markets - and the spread doesn't pause while you're running the fee calculation.&lt;/p&gt;

&lt;p&gt;Manual execution against that timeline means monitoring dozens of markets across two platforms continuously, calculating combined costs in real time, and placing two orders fast enough that neither fills at a stale price. The math is simple. The operational execution is not.&lt;/p&gt;

&lt;p&gt;Beyond speed, there's the volume problem. Any single arbitrage opportunity at retail scale - $91 in capital, $6.40 in profit - is not meaningful on its own. The strategy only produces real returns by running many positions simultaneously across many matching markets. That requires watching every qualifying market on every platform at all times, which is the definition of a full-time job dedicated to individual positions with marginal per-trade returns.&lt;/p&gt;

&lt;p&gt;Automated systems solve both bottlenecks: WebSocket feeds monitoring both platforms in real time, a scanner that identifies qualifying spreads the moment they appear and rejects those below the minimum ROI threshold, and an execution layer that places both orders simultaneously before the spread can close.&lt;/p&gt;




&lt;p&gt;The underlying logic of prediction market arbitrage is clean. A guaranteed profit embedded in a price discrepancy, captured by holding both sides. The distance from that logic to a consistently profitable operation is where the real work lives - in fee modeling, execution speed, position sizing, and market matching across dozens of events at once.&lt;/p&gt;

</description>
      <category>arbitrage</category>
      <category>predictionmarkets</category>
      <category>kalshi</category>
      <category>polymarket</category>
    </item>
    <item>
      <title>Kalshi's fee structure, explained</title>
      <dc:creator>Polytrage</dc:creator>
      <pubDate>Sun, 29 Mar 2026 17:40:19 +0000</pubDate>
      <link>https://dev.to/polytrage/kalshis-fee-structure-explained-55lg</link>
      <guid>https://dev.to/polytrage/kalshis-fee-structure-explained-55lg</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92py1wjb8kr747ezxyrc.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92py1wjb8kr747ezxyrc.PNG" alt="Kalshi's fee structure, explained" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kalshi launched as America's first federally regulated prediction market. The CFTC approval process took years, multiple legal battles, and ultimately reshaped how regulators think about event contracts in the United States. That regulatory legitimacy is real - and so is the cost structure that comes with operating a licensed derivatives exchange.&lt;/p&gt;

&lt;p&gt;Their taker fee is 7%. Here's what that actually means when you place a trade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two rates, not one
&lt;/h2&gt;

&lt;p&gt;Kalshi has a two-tier fee structure: 7% for takers, 1.75% for makers.&lt;/p&gt;

&lt;p&gt;Takers are orders that match immediately - you cross the spread and take what's already sitting in the book. Makers are orders that rest and wait - you post a limit price and let someone else come to you. The 4:1 ratio between the two rates is Kalshi's mechanism for incentivizing liquidity provision: if you're consistently posting orders that get filled rather than crossing the spread, you pay significantly less.&lt;/p&gt;

&lt;p&gt;The concept is similar to Polymarket's maker rebate program, which launched in January 2026 for 15-minute crypto markets and expanded with the broader fee rollout on March 30, 2026. The mechanics differ - Polymarket refunds a portion of taker fees to makers daily in USDC, Kalshi simply charges makers less upfront - but the underlying incentive is identical: reward people who add depth to the order book rather than drain it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the fee actually works
&lt;/h2&gt;

&lt;p&gt;The formula:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fee = round_up(feeRate × contracts × price × (1 − price))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;price × (1 − price)&lt;/code&gt; term is doing most of the work. It's the mathematical expression for the variance of a binary event: highest when the outcome is most uncertain, falling toward zero as a contract approaches near-certainty in either direction. A contract at 5¢ or 95¢ - essentially already resolved - carries almost no fee. A contract at 50¢ - maximum uncertainty - carries the maximum fee.&lt;/p&gt;

&lt;p&gt;This makes Kalshi's curve perfectly symmetric around 50¢. The fee is identical at 30¢ and 70¢, identical at 20¢ and 80¢, identical at 10¢ and 90¢. There's no skew toward higher-priced contracts, no category-specific exponents - just one clean curve that peaks at the midpoint and mirrors itself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faf5pty0ko74vfx3kw9io.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faf5pty0ko74vfx3kw9io.png" alt="Kalshi's fee structure, explained" width="800" height="364"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Kalshi vs. Polymarket Fee Visualization&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In numbers: 100 contracts at 50¢ costs $1.75 in taker fees. Move to 30¢ or 70¢ and you pay $1.47. Drift toward the extremes - 10¢ or 90¢ - and fees drop to $0.63. Maker fees at the same checkpoints: $0.44 at 50¢, $0.37 at 30¢ or 70¢, $0.16 at 10¢ or 90¢.&lt;/p&gt;
&lt;h2&gt;
  
  
  The rounding mechanic
&lt;/h2&gt;

&lt;p&gt;Fees are always rounded up to the nearest cent. This matters at the margins.&lt;/p&gt;

&lt;p&gt;On a 100-contract trade at 50¢, the raw fee is exactly $1.75 - no rounding occurs. But at other quantities or price points, sub-cent remainders get pushed up. Ten contracts at 50¢ produces a raw fee of $0.175, which rounds up to $0.18 - an effective rate of 7.2%, not 7%. The smaller the trade, the more pronounced this effect; the larger the trade, the more it fades into the noise.&lt;/p&gt;

&lt;p&gt;For a trading system modeling costs precisely, this means the formula is a floor, not an exact output. The actual fee is always at or above the raw calculation, never below it.&lt;/p&gt;
&lt;h2&gt;
  
  
  How this compares to Polymarket
&lt;/h2&gt;

&lt;p&gt;Polymarket's fee structure went live on March 30, 2026, with a meaningfully different formula:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fee = contracts × price × feeRate × (price × (1 − price))^exponent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The extra leading price multiplier makes their curve asymmetric. Polymarket doesn't peak at 50¢ - it peaks at around 67¢ for most categories, skewing toward higher-priced contracts where the crowd has already tilted toward a likely outcome. The exponent shifts this peak further depending on the category and controls how sharply the curve rises and falls.&lt;/p&gt;

&lt;p&gt;At their respective peaks, every Polymarket category is cheaper than Kalshi's taker rate. Crypto is Polymarket's priciest at $0.27 peak; Politics, Finance, and Tech land at $0.15; Sports comes in at $0.11.&lt;/p&gt;

&lt;p&gt;But comparing peaks at different prices obscures a bigger gap. If you're trading contracts priced near 50¢ - the zone where genuine uncertainty is highest - Kalshi's $1.75 taker fee sits against Polymarket Politics' $0.12 at the same price. That's a 14× difference at an identical contract price, which is the more relevant comparison for most real trading decisions.&lt;/p&gt;

&lt;p&gt;The crossing point matters for cross-platform positions. On any matched trade where one leg sits on Kalshi and the other on Polymarket, your combined fee burden depends directly on where in the price range that market is trading. Near-50¢ markets - the ones with the most genuine uncertainty and historically the widest cross-exchange spreads - are where Kalshi's premium over Polymarket is most pronounced.&lt;/p&gt;

&lt;h2&gt;
  
  
  The deposit fee
&lt;/h2&gt;

&lt;p&gt;Kalshi charges a 2% processing fee on debit card deposits. Debit card withdrawals carry no fee - funds typically arrive back to your card within 30 minutes. ACH transfers and wire transfers carry no withdrawal fee on Kalshi's end, though banks may add their own charges on wires. For traders cycling capital in via debit, the 2% deposit fee is the relevant cost: on a $200 deposit it's $4, on a $2,000 deposit it's $40. Worth including in ROI calculations whenever the trading strategy involves regular capital movement via debit card.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for different traders
&lt;/h2&gt;

&lt;p&gt;For directional traders, 7% on near-50¢ markets is real friction. A 100-contract position at 50¢ runs $1.75 in taker fees entering the position, another $1.75 exiting if you take liquidity again - $3.50 round-trip on a $50 position. That's 7% in fees before any consideration of spread. Short-duration directional trades on uncertain markets are expensive on Kalshi.&lt;/p&gt;

&lt;p&gt;For market makers, 1.75% is more workable. In liquid markets where you're consistently earning the spread and the reduced fee applies, the economics are favorable. In thin markets, the risk of sitting in the book longer than intended - and having the market move against you while your order rests - may outweigh the fee advantage.&lt;/p&gt;

&lt;p&gt;For cross-platform arbitrage, Kalshi is almost always the dominant fee leg. Polymarket's new fee structure changed the combined cost model, but didn't close the gap - Kalshi remains the expensive side on any matched trade involving both platforms. The minimum viable spread on a Kalshi-involved position needs to clear both legs: up to $1.75 on the Kalshi side at peak, plus the applicable Polymarket category fee on the other. Fee modeling that uses Polymarket's old zero-fee assumption will systematically overstate profitability; the Kalshi leg was always the one doing the heavy lifting on the cost side.&lt;/p&gt;

&lt;p&gt;The predictability is worth noting in Kalshi's favor. One formula, one symmetric curve, no category variants, no exponent adjustments. At any given price and contract count, you can calculate the exact fee with no surprises beyond the rounding behavior.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Kalshi's maker rate (1.75%) applies to limit orders that rest in the book and are eventually filled. The taker rate (7%) applies to all orders that match immediately. A 2% processing fee applies to debit card deposits. Debit card withdrawals carry no fee. ACH and wire withdrawals carry no Kalshi fee.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>news</category>
      <category>product</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Polymarket Is Introducing Fees. Here's What Actually Changes.</title>
      <dc:creator>Polytrage</dc:creator>
      <pubDate>Tue, 24 Mar 2026 22:49:55 +0000</pubDate>
      <link>https://dev.to/polytrage/polymarket-is-introducing-fees-heres-what-actually-changes-4ai0</link>
      <guid>https://dev.to/polytrage/polymarket-is-introducing-fees-heres-what-actually-changes-4ai0</guid>
      <description>&lt;p&gt;For most of its existence, Polymarket's pitch was simple: no trading fees. Zero. You paid the spread, nothing else. That was a real advantage over Kalshi, which charges a taker fee on every transaction, and it attracted a lot of volume from traders who were tired of being nickel-and-dimed by fee structures on other platforms.&lt;/p&gt;

&lt;p&gt;That changes on March 30, 2026.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's happening
&lt;/h2&gt;

&lt;p&gt;Polymarket is rolling out fees across all major market categories - Politics, Finance, Economics, Tech, Culture, Weather, Mentions, and more. Crypto and Sports already had fees; now essentially everything does.&lt;/p&gt;

&lt;p&gt;The headline numbers look small. Peak fees land between $0.44 and $1.07 per 100 contracts depending on the category, with Crypto being the most expensive and Sports the cheapest at peak. But the way these fees are structured is worth understanding before you write them off as noise.&lt;/p&gt;




&lt;h2&gt;
  
  
  How the fee actually works
&lt;/h2&gt;

&lt;p&gt;Fees aren't a flat percentage of your trade. They're a function of where the contract is priced.&lt;/p&gt;

&lt;p&gt;The formula:&lt;br&gt;&lt;br&gt;
&lt;code&gt;fee = contracts × price × feeRate × (price × (1 − price))^exponent&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;That &lt;code&gt;price × (1 − price)&lt;/code&gt; term shapes the curve - it's highest near the middle of the range and falls toward zero at both extremes. A contract priced at 5 cents or 95 cents carries almost no fee. But there's also a leading × price multiplier, which means the curve isn't symmetric: it peaks not at 50¢ but at around 67¢ for most categories, and skews toward higher prices.&lt;/p&gt;

&lt;p&gt;The chart below shows this for each category across 100 contracts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F213ve1t1442e66xdfowb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F213ve1t1442e66xdfowb.png" alt="Graph displaying the new fee structure of Polymarket" width="800" height="801"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Polymarket new Fee Structure&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The exponent changes the curve's shape. An exponent of 1 gives you the standard skewed curve peaking around 67¢. An exponent of 0.5 (used for Economics and Weather) pushes the peak further right to around 75¢ and keeps fees elevated across a broader range of prices. An exponent of 2 (Other/General, Mentions) does the opposite: the curve spikes sharply near the peak price and drops off steeply on both sides.&lt;/p&gt;

&lt;p&gt;In practice, this means your costs are highest when you're trading contracts priced in the 60–75¢ range - not at the uncertain 50¢ midpoint as you might expect. Markets where the crowd has already tilted toward a likely outcome are actually the most expensive to trade.&lt;/p&gt;




&lt;h2&gt;
  
  
  The maker rebate
&lt;/h2&gt;

&lt;p&gt;The fee revenue doesn't just disappear into Polymarket's pocket - at least not all of it. A portion goes back to market makers through the Maker Rebate Program, distributed in USDC daily.&lt;/p&gt;

&lt;p&gt;The rebate percentage varies by category:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Finance: 50%&lt;/strong&gt;  - the most generous, likely to attract liquidity into a category that's historically thinner&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Crypto: 20%&lt;/strong&gt;  - smallest rebate, but highest fee, so makers still get meaningful compensation&lt;/li&gt;
&lt;li&gt;Everything else sits at  &lt;strong&gt;25%&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a deliberate structural choice. By routing taker fees back to makers, Polymarket is trying to deepen liquidity without eating all the margin themselves. Tighter spreads benefit everyone, especially on markets where the bid-ask gap has historically been wide.&lt;/p&gt;

&lt;p&gt;Whether it works depends on whether the rebates are large enough to shift behavior. On high-volume categories like Crypto and Politics, probably yes. On thin categories like Weather, the jury's still out.&lt;/p&gt;




&lt;h2&gt;
  
  
  How this compares to Kalshi
&lt;/h2&gt;

&lt;p&gt;Kalshi's fee formula charges a percentage on both sides of the market, calculated as &lt;code&gt;feeRate × contracts × price × (1 − price)&lt;/code&gt; . Same general shape - peaks at 50¢, tapers at the extremes. Their taker fee runs around 7%, which peaks at roughly $1.75 per 100 contracts.&lt;/p&gt;

&lt;p&gt;Polymarket's new structure is meaningfully cheaper across all categories. Crypto is their most expensive at $1.07 peak, Politics, Finance, and Tech each land at $0.59, and Sports is just $0.44. Even at its priciest, Polymarket tops out at roughly 60% of Kalshi's peak fee.&lt;/p&gt;

&lt;p&gt;For traders who've been choosing Polymarket over Kalshi partly because of zero fees, the math shifts - but Polymarket remains the cheaper platform by a significant margin. The more interesting question is what happens to markets that trade on both platforms simultaneously. Both are now charging fees with similar curve shapes, but at very different rates. The cost structure of cross-platform positions is now more complex to model.&lt;/p&gt;




&lt;h2&gt;
  
  
  What this actually means
&lt;/h2&gt;

&lt;p&gt;For casual traders, the fees are small enough that they probably won't change behavior much. At the Politics peak price of around 67¢, you're paying $0.59 per 100 contracts. On a $67 position, that's under 1% - noticeable, not catastrophic.&lt;/p&gt;

&lt;p&gt;For high-frequency or high-volume traders, the math is different. Every basis point matters when you're running a lot of size, and Polymarket's zero-fee reputation was a genuine edge for that cohort. Some of that volume will adjust.&lt;/p&gt;

&lt;p&gt;The maker rebate partially offsets this if you're providing liquidity rather than taking it. If you're consistently posting orders that get filled, you're now getting paid for that, which you weren't before.&lt;/p&gt;

&lt;p&gt;The broader context: Polymarket is one of the most-used prediction market platforms in the world by volume, and it's been running fee-free for most of that growth. Introducing fees at scale is a test of whether the liquidity and user base are sticky enough to sustain a business model beyond venture funding. Given the volume numbers from the past two years, there's reasonable evidence they are.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Effective March 30, 2026. Geopolitical and world events markets remain fee-free.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>predictionmarkets</category>
      <category>polymarket</category>
    </item>
  </channel>
</rss>
