A cross-platform arbitrage is two orders on two venues, and the order type you pick for each decides what happens when the market moves between them. This article lists the order types Polymarket and Kalshi document, the delays that can sit in the middle, and how each choice changes the two-leg execution risk. It is a reading of the official documentation, not a trading recommendation; check the current docs before building on any detail here.
Polymarket: every order is a limit order
Polymarket's documentation says all orders are limit orders, and that a "market order" is a limit order priced to execute immediately against the best resting orders. It lists these types:
- GTC (Good Till Cancelled): rests on the book until it fills or you cancel it.
- GTD (Good Till Date): expires at a time you set. The docs add that GTD orders expire one minute before the stated time and that the expiration must be at least 3 minutes in the future.
- FOK (Fill Or Kill): fill entirely or cancel immediately.
- FAK (Fill And Kill): fill what is available and cancel the rest.
Post-only orders only rest on the book: if one would match immediately, it is rejected instead of executed, so you are always the maker.
Kalshi: three time-in-force values
The Kalshi API reference for Create Order (V2) accepts fill_or_kill, good_till_canceled and immediate_or_cancel as time_in_force, plus a post_only flag. An expiration_time can be added to a good-till-canceled order to make it expire, but the reference says it cannot be combined with immediate_or_cancel. For how the two APIs differ more broadly, see the Kalshi API guide and the Polymarket API guide.
Delays and limits in the middle
- Sports and game delay (Polymarket). On configured sports markets, a marketable order waits for the market's delay window before matching, and cannot be cancelled while it is pending. If the balance, allowance or risk checks fail when the delay ends, the order is rejected. The order status in that window is
delayed. This matters for sports arbitrage. - Taker delay (Polymarket). Selected crypto and finance up/down markets hold the order for 250 ms and then validate again.
- Partial fills. Polymarket's docs say a partial fill cannot be cancelled, only the unfilled part of the order.
- Balance. Polymarket limits order size to your balance minus what is reserved by open orders, so a resting order on one market reduces what you can place on another.
- Matching is not settlement. A Polymarket trade goes through
MATCHED,MINEDandCONFIRMEDstatuses, and the docs listRETRYINGandFAILEDas possible states.
How the choice changes the risk
An illustrative example, not a live trade. Say you want 100 contracts on each side. If you send an all-or-nothing order on the thinner leg first, you either get all 100 or none, and you only send the second leg after the first is confirmed. That removes a partial fill on the first leg, but the second leg can still move before you place it. If you send a limit order that rests, it can sit unfilled while the other platform's price moves away. Using fill-and-kill or immediate-or-cancel accepts a partial fill in exchange for not leaving an order behind, and then you size the other leg to what actually filled.
None of these removes the risk described in Is Prediction Market Arbitrage Really Risk-Free?. They change which of the two bad outcomes you prefer: a missed trade, or an exposed leg. Depth decides how large that exposure can be, as covered in the liquidity guide.
A checklist before placing both legs
- Which leg is thinner? Place the leg most likely to partially fill first, with an order type that tells you the fill clearly.
- Is there a delay on that market? Sports markets on Polymarket can hold an order and block cancellation.
- Do you have balance on both sides for the full size, including what open orders reserve?
- What is your plan if the second leg is rejected? Decide it before you place the first.
Where Arbitrage Agent fits
Arbitrage Agent uses AI matching with every pair validated, applies fees and depth, and shows the result in a live feed with a step-by-step guide for both legs; you choose the order types and place the orders yourself. See the plans or start with the Starter plan.
To try your own numbers, use the free arbitrage calculator: it takes the two prices, your stake and the days to resolution, and shows the fees, net edge and annualised return.
Related articles
- Why Execution Speed Decides Prediction Market Arbitrage Profit
- How to Arbitrage Polymarket vs Kalshi
- How Kalshi Fees Are Calculated: Formula, Maker Fees and Rounding
- Polymarket UMA Disputes and Resolution Mismatch
- Polymarket Maker Rebates and Liquidity Rewards
Key terms: Two-Leg Execution · Partial Fill · Orderbook