Original Title: How to build a Polymarket bot (after new rules edition)
Original Author: @_dominatos
Translation: Peggy, BlockBeats
Editor's Note: Polymarket removed the 500ms delay and introduced dynamic fees without prior notice, rendering many older bots obsolete overnight. This article systematically outlines the correct way to build trading bots under the new rules, covering fee mechanisms, order signatures, market-making logic, and low-latency architecture, providing a clear and executable path.
The article garnered 1.1M views after publication, sparking widespread discussion. Under the new Polymarket rules, the advantage is shifting from taker arbitrage to a long-term structure centered on market making and liquidity provision.
The following is the original text:
Polymarket quietly removed the 500 millisecond delay.
Let's clarify: under the new rules, how to build a bot that can actually run and make money.
Two days ago, Polymarket removed the 500 millisecond taker quote delay in the cryptocurrency market. There was no announcement, no reminder. Overnight, half of the bots on the platform became non-functional. But at the same time, this also created the largest opportunity window for new bots since Polymarket launched.
Today, I will explain in detail: how to build a bot that is still effective under the new rules.
Because all the solutions you saw before February 18 are now outdated.
If you were to ask an AI model to help you write Polymarket bot code now, what it would give you would definitely still be the old rule solutions: REST polling, not handling fees, completely unaware that the 500ms buffer no longer exists.
Such a bot will lose money from the first trade.
Now I will explain: what exactly has changed, and how to redesign bots around these changes.
What has changed?
In the past two months, three key changes have occurred:
1. The 500-millisecond taker delay has been removed (February 18, 2026)
In the past, all taker orders waited for 500 milliseconds before execution. Market makers relied on this buffering time to cancel "expired" quotes, which was almost a free insurance mechanism.
That is no longer the case. Taker orders will be executed immediately with no cancellation window.
2. Dynamic taker fees introduced in the cryptocurrency market (January 2026)
The 15-minute and 5-minute cryptocurrency markets now charge takers, with the formula: fee = C × 0.25 × (p × (1 - p))²
Fee peaks: around 1.56% near a 50% probability
In extreme probability ranges (close to 0 or 1), fees approach 0
Remember that bot that made $515,000 in a month by arbitraging between Binance and Polymarket price delays with a 99% win rate?
That strategy is now completely dead. Because just the fees alone are already higher than the arbitrageable spread.
What is the new meta?
In short: be a maker, not a taker.
The reason is simple:
· Makers do not need to pay any fees
· Makers can earn USDC rebates daily (subsidized by taker fees)
· After the 500ms delay cancellation, maker order execution speeds are actually faster
Now, the top bots can already be profitable just from rebates without needing to leverage spreads. If you are still doing taker bots, you are facing an ever-increasing fee curve. Near a 50% probability, you need at least over a 1.56% edge to barely break even.
Good luck.
So, how can a viable bot be built for 2026?
Here is a bot architecture design idea that remains effective in 2026:

Core components:
1. Use WebSocket instead of REST
REST polling is completely ineffective now. By the time your HTTP request completes a round trip, the opportunity is already gone. What you need is a real-time order book data stream based on WebSocket, not intermittent pulls.
2. Fee-aware order signing
This is a new requirement that previously did not exist. Now, your signed order payload must include the feeRateBps field. If you omit this field, the order will be directly rejected in a fee-enabled market.
3. Fast cancel/replace loop
With the 500ms buffer removed: if your cancel-replace process takes longer than 200ms, you will be subject to adverse selection. Others can consume your expired orders before you update your quotes.
How to set up
1. Get your private key
Use the same private key you use to log into Polymarket (EOA / MetaMask / hardware wallet)
export POLYMARKET_PRIVATE_KEY="0xyour_private_key_here"
2. Set authorization (one-time operation)
Before Polymarket can execute your trades, you need to authorize the following contracts: USDC, conditional tokens.
Each wallet only needs to do this once.
3. Connect to CLOB (Central Limit Order Book)
The official Python client can be used directly: pip install py-clob-client
However, there are now faster options in the Rust ecosystem:
· polyfill-rs (zero allocation on the hot path, SIMD JSON parsing, performance improvement of about 21%)
· polymarket-client-sdk (Polymarket official Rust SDK)
· polymarket-hft (complete HFT framework, integrating CLOB + WebSocket)
Which one to choose doesn't matter, the key is to choose one that you can launch and get running the fastest.
4. Query the fee rate before placing each order
GET /fee-rate?tokenID={token_id}
Never hardcode fees.
Fees vary with market changes, and Polymarket can adjust them at any time.
5. Include fee field in order signing
When signing orders, you must include the fee field in the payload. Missing this item will result in the order not being accepted in a fee-enabled market.
{
"salt": "...",
"maker": "0x...",
"signer": "0x...",
"taker": "0x...",
"tokenId": "...",
"makerAmount": "50000000",
"takerAmount": "100000000",
"feeRateBps": "150"
}
CLOB will validate your order signature based on feeRateBps. As long as the fee rate included in the signature does not match the current actual rate, the order will be directly rejected.
If you are using the official SDK (Python or Rust), this logic will be handled automatically; but if you are implementing the signing logic yourself, this must be managed manually, otherwise the order will not be sent out.
6. Place maker orders on both buy and sell sides simultaneously
Provide liquidity to the market by placing limit orders: on both YES and NO tokens; placing BUY and SELL simultaneously. This is your core method of obtaining rebates.
7. Run the cancel/replace loop
You need to monitor: external price sources (such as Binance's WebSocket); your current orders on Polymarket.
Once the price changes: immediately cancel expired quotes; re-post at the new price. The goal is to keep the entire loop under 100ms.
Special Note on the 5-Minute Market
The BTC rising and falling market with a 5-minute cycle is deterministic.
You can directly calculate the corresponding specific market through the timestamp:

There are a total of 288 markets every day. Each one is a brand new opportunity.
Currently verified effective strategy: approximately 85% of BTC's rising and falling direction is determined T–10 seconds before the window ends, but Polymarket's odds have not fully reflected this information.
The way to operate is: place maker orders on the side with the higher win rate at prices of $0.90–0.95.
If executed: profit of $0.05–0.10 per contract at settlement; zero fees; plus you can also get rebates.
The real advantage comes from: you can judge BTC's direction faster than other market makers and put your orders up earlier.
Common Mistakes That Will Get You "Knocked Out"
· Still using REST instead of WebSocket
· Omitting feeRateBps in order signing
· Running bots on home Wi-Fi (150ms or more latency compared to 5ms on VPS in data centers)
· Market making in a range close to 50% probability without considering adverse selection risk
· Hardcoding the fee rate
· Not merging YES/NO positions (leading to capital being locked)
· Still using the 2025 taker arbitrage mindset
Correct Use of AI
The technical part ends here. Now you have mastered: architecture design for fees, calculation methods, new market rules.
Next, you can open Claude or any reliable AI model, giving it a sufficiently clear and specific task description, such as: "This is Polymarket's SDK. Please help me write a maker bot for the 5-minute BTC market: listen to Binance WebSocket for prices, place maker orders on both YES and NO sides, include feeRateBps in order signatures, use WebSocket to get order book data, and control the cancel/replace loop within 100ms."
The correct workflow is: you define the tech stack, infrastructure, and constraints, and AI generates the specific strategies and implementation logic based on that.
Of course, even if you describe the bot's logic perfectly, you must test it before going live. Especially at this stage, where fees have already begun to significantly erode profit margins, backtesting under real fee curves has become a prerequisite before going live.
The bots that can truly win in 2026 are not the fastest takers, but the best liquidity providers.
Please build your system in this direction.
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。