Top 10 Polymarket Trading Bots: Inside the Algorithms Behind Their PnL
Using Claude, I analyzed more than 10 million executions from 10 of the top-performing trading bots across short-term crypto Up/Down markets to understand how they build positions, manage inventory,
Article
Job breakdowns

Using Claude, I analyzed more than 10 million executions from 10 of the top-performing trading bots across short-term crypto Up/Down markets to understand how they build positions, manage inventory, and repeatedly capture edge on Polymarket
At first glance, a market like BTC Up or Down 5m looks almost trivial. There are only two outcomes: Up and Down. Five minutes later, one settles at $1 and the other at $0
But that is not the problem a trading bot is actually solving.
Every few seconds, the system has to answer three different questions:
What should Up and Down be worth right now?
How much size can I actually fill before the edge disappears?
How should I reshape the position if Bitcoin moves again after the first orders fill?
That is why the activity of profitable bots often looks chaotic:
Up → Down → Up → Down
When you inspect each execution separately, it can look like the algorithm keeps changing its mind. In reality, dozens of fills may belong to only a few larger decisions as the bot continuously rebuilds the same inventory.
- Account : Bonereaper

Here is how the system works 👇
- The bot calculates its own price before it trades
The current Polymarket price is not treated as fair value. It is only one input. Inside a BTC Up or Down 5m market, the bot can simultaneously monitor:
distance between BTC and the opening price speed of the latest Bitcoin move short-term volatility seconds remaining bid/ask liquidity depth on both Up and Down existing inventory resting limit orders related short-term markets in BTC, ETH, and SOL
Suppose Up is trading at 43¢. Then BTC accelerates above the opening level. A basic directional trader may simply conclude that Bitcoin looks bullish. The bot needs something more precise.
It recalculates how much the latest information should change the probability of Up.
Imagine the model moves its internal estimate from 43% to 53%, while Up can still be bought around 43–45¢. Now there may be a pricing gap.
But the bot still does not know whether it is tradable.
2. The best ask is not the real entry price
This is one of the biggest differences between a theoretical edge and a live one. Suppose the model values Up at 53¢ and the best ask is 44¢.
On the screen, that looks like a 9¢ advantage. But perhaps only 60 contracts are available at 44¢.
The next 180 cost 46¢. Another 350 are offered at 48¢. And after that, the book is already close to 50¢.
If the bot wants meaningful size, its entry is not 44¢. The relevant number is the average price required to execute the full planned position.
Before trading, the system has to account for:
worse fills deeper in the book spread fees slippage partial execution uncertainty in the model itself
This is where many strategies that look incredible in historical data fail in production. A mispricing might exist for the first 50 contracts and disappear completely by the time the bot tries to buy 2,000.
So the real question is not:
Is this contract mispriced?
It is:
How much of this mispricing can I actually capture before my own execution removes the edge?
- Account: 0xAAAAA

3. Up and Down are not necessarily two separate bets
This is one of the most important things to understand when analyzing profitable Polymarket wallets.
Imagine a bot finishes with: 320 Up + 250 Down;
That does not necessarily mean it made two unrelated predictions. 250 contracts from each side can be matched into the paired portion of the inventory.
The remaining 70 Up represent the directional remainder. So economically, the position looks more like:
250 paired contracts + 70 directional Up
Now imagine the signal weakens. The bot can start accumulating additional Down, reducing its net directional exposure. If Bitcoin strengthens again, it can return to Up.
The algorithm does not always need to liquidate the old side before changing direction. It can modify the balance of the position on top of inventory it already owns.
This is also why raw execution counts can be misleading.
One large limit order may be filled through 5, 10, or 20 separate executions.

So 20 trades in the transaction history do not necessarily represent 20 independent trading decisions.
4. The bot can build arbitrage from prices that never existed together
The simplest binary arbitrage is:
Up + Down < $1
Buy equal quantities of both sides below $1 combined, and one of them eventually settles at $1. But short-duration markets allow another approach.
The bot can assemble the two sides at different moments. Suppose Bitcoin suddenly moves higher.
Down falls to 28¢. The bot buys 200 Down. A minute later, BTC retraces toward the opening price. Now Up becomes available around 47¢. The bot buys 200 Up.
Its final pair cost becomes:
28¢ Down + 47¢ Up = 75¢
The important detail is that 28¢ Down and 47¢ Up may never have been available at the same time. The bot used two different points in the five-minute price path to create the paired position.
That is why the sequence of executions can matter much more than one snapshot of the order book.
But this structure also contains risk.
After buying the first side, the market may simply continue moving in the same direction. If cheap Up never appears, the bot is left holding an unpaired Down position. Until the second leg is filled, the supposed arbitrage is still directional exposure.
- Account: Bosona

5. The biggest execution problem often starts after the first fill
Suppose the target structure is:
500 Up + 500 Down
The Up order fills completely. Only 140 Down contracts fill.
Then BTC moves sharply and the remaining Down liquidity becomes much more expensive. The original opportunity is gone.
The bot now holds:
500 Up + 140 Down
At this point, the initial signal is no longer the main problem. Inventory is. The execution engine has to choose between several imperfect options:
wait longer for Down move the limit order closer to the market cross the spread reduce some of the Up inventory accept a more expensive hedge abandon the original structure
A production system can make its working price dependent on the current imbalance.
A simplified model is:
Working Quote = Fair Value − Inventory Adjustment
Where the adjustment grows with:
position imbalance × risk sensitivity × volatility² × remaining time
If the bot already owns too much Up, another Up contract should require a much better price to justify adding even more exposure.
Meanwhile, buying Down becomes more valuable because it reduces the existing imbalance. This is why execution is not something that happens after the strategy.
Execution is part of the strategy itself.
- Account: mo-money

6. The same BTC move can create edge across several markets
A sharp move in Bitcoin does not affect only one BTC Up or Down 5m contract.
The bot can simultaneously monitor:
the active BTC Up or Down 5m market the next five-minute window longer-duration BTC markets short-term ETH markets short-term SOL markets
But simply comparing raw prices is not enough.
If Up trades at 69¢ in one market and 55¢ in another, the second contract is not automatically cheaper.
The markets may have different:
opening levels time remaining distance from the settlement boundary volatility liquidity probability distributions
So the bot estimates fair value for each contract independently.
- For example:
-
Market A Up price: 69¢ Model value: 67¢
-
Market B Up price: 55¢ Model value: 62¢
Now the difference becomes useful. Market A has already repriced and may even be slightly expensive. Market B still trades seven points below the bot's estimate.
A human may see two separate markets. The bot sees a connected system and searches for the part that has reacted less efficiently.
7. Position size changes the strategy itself
Sizing is not only a risk-control tool.
It also determines how quickly the bot can change the relationship between Up and Down.
One algorithm may work with almost fixed 100–120 contract blocks. Another may divide the same exposure into dozens of small limit orders. A third may continuously change order size based on liquidity and current inventory.
Smaller blocks allow smoother rotation between Up and Down.
Larger blocks can capture more edge when liquidity is available, but one bad execution can instantly create a much larger directional imbalance.
The system can therefore calculate an initial allocation mathematically and then place additional hard limits above it.
A production bot may also enforce:
maximum capital per market maximum unhedged inventory total exposure to BTC, ETH, and SOL correlated-position limits daily loss limits automatic shutdown if market data or APIs become unreliable
Because a good pricing model is useless if one execution failure can destroy the entire system.
- Account: almach

What does the full algorithm look like?
Once all the complexity is removed, the loop is fairly simple:
new data → fair value → executable edge → position structure → orders → inventory check → position adjustment
Then it repeats. The bot does not make one five-minute prediction and wait for settlement.
Inside a single BTC Up or Down 5m market, it may change the structure of the same position several times.
That is also why one BUY execution tells you almost nothing about the underlying strategy.
To understand the bot, you need to reconstruct the complete cycle:
which side it started buying first how large the real order blocks were how many executions belonged to one limit order when the opposite side appeared how the average entry changed how much inventory became paired how much directional exposure remained how position size changed after each market move
Only then does the algorithm become visible.
Conclusion
The top trading bots on Polymarket are not winning simply because they predict Bitcoin better than everyone else.
The forecast is only the first layer.
The real system has to calculate what Up and Down should be worth, determine how much size can be executed while the edge remains positive, manage partial fills, control inventory imbalance, and continuously rebuild the position as BTC moves.
That is why the edge rarely comes from one perfect entry.
It comes from repeatedly pricing the market, executing efficiently, and reshaping inventory faster than the opportunity disappears.
Published on grokbot.sh. Cite the public log, not a prompt pack.