🔮 Automated Market Making on Polymarket
How one trader created a profitable liquidity bot, and why he decided to open source it
Today’s email gets under the hood of the Polymarket order book and explains how market making works on the exchange. If you’re only interested in the news and forecasting side of things feel free to skip this one.
The vast majority of Polymarket users are trying to predict outcomes, like Trump's next move on tariffs or this year’s NBA champions (🔮 78% it’s the Oklahoma City Thunder).
But a smaller group performs a critical role by providing liquidity that ensures trades are executed at tight bid-ask spreads.
One of these users, @defiance_cr, spoke to The Oracle about how he built an automated system that generated $700-800 per day of profit at its peak, and his decision to shut it down and open-source the code.
This interview has been edited for length. All answers are his own.
How would you explain the importance of liquidity on Polymarket to someone who isn’t a trader?
Polymarket is an exchange. It matches buyers and sellers of ‘yes’ and ‘no’ shares in all the different markets. So unlike a casino or sportsbook, there is no “house” that users are trading against. It’s other users who are offering shares at various prices.
For example, when someone wants to buy shares that Trump will win, they need someone willing to sell them those shares. When we talk about liquidity on the exchange, we are referring to how many shares are available to trade at a given price.
What’s the difference between a very liquid and a very Illiquid market?
You can see the liquidity in any market by looking at the Order Book, which is shown below the main market graph. This tells you how many shares are being offered at different prices.
For example In the NBA Championship market, there’s over $300k of orders on the buy side and $27k on the sell side. You can trade tens of thousands of dollars of shares in either direction without moving the price by a penny.
Compare that to an illiquid market like “Will the next James Bond be British” where the spread is 34c. If you buy a few bucks worth and immediately try to sell, you'd lose about 50% just from the spread. These markets are illiquid because they're hard to price, move unpredictably, or don't have enough trader interest.
What do liquidity providers do?
Liquidity providers (LPs) place orders on both sides of the market, buy and sell, hoping to profit by capturing the spread between them.
They earn money from the spread plus Polymarket's liquidity rewards on the market, if any.
How do you identify good markets for liquidity provision?
The key is finding markets with low volatility but high rewards. Most traders do this manually, but I’m a bit more systematic. I built a bot that analyzes historical price movements across different time frames—3 hours, 24 hours, 7 days, and 30 days.
For example in the Canada Prime Minister market, Pierre Poilievre's odds might fluctuate between 22-25% over several weeks—that's low volatility. Meanwhile, a market about which country the US will sign a trade deal with, where a game-changing headline could come at any minute, might have massive spreads and unpredictable swings.
Low volatility means you're less likely to get stuck with a bad position when news hits. You can place orders on both sides and sleep well knowing you won't wake up to massive losses.
How did you automate the process?
I created a system with two main components: data collection and trading execution. The data component pulls historical price data from Polymarket's API, calculates volatility metrics, and estimates expected rewards per $100 invested. It then ranks markets by their risk-adjusted return potential.
The trading component places orders automatically based on predetermined parameters. You can set different strategies for different market types—tighter spreads for liquid markets, wider spreads for volatile ones.
What kind of returns were you generating?
I started with $10,000 in capital and was earning about $200 per day. As I scaled up and refined the system, I reached $700-800 daily at peak. The key was Polymarket's liquidity rewards program, which pays bonuses for providing two-sided liquidity.
The rewards formula favors placing orders on both sides of a market rather than just one side—you get nearly 3x the rewards. And the closer your orders are to the current price, the higher the rewards.
So why did you stop and open-source your strategy?
After the 2024 election, Polymarket's total liquidity rewards decreased significantly, making the strategy less profitable. I'm also primarily a builder, not a full-time trader. I saw an opportunity to help others and make the markets more efficient.
There were only 3-4 serious liquidity providers on the platform, and most were doing it manually. The market was inefficient: some low-risk markets had the same reward rates as high-risk ones. By open-sourcing this, I hoped others would adopt similar strategies and improve market efficiency.
What's the competitive landscape like?
When I was active, there were maybe one or two other bots providing liquidity across most markets. The space is incredibly underdeveloped compared to traditional crypto markets. In DeFi, you have sophisticated market makers with millions in capital. On Polymarket, it's mostly individual traders clicking buttons.
This creates massive opportunities for anyone willing to build proper systems. A well-designed bot will consistently outperform manual traders because it can monitor hundreds of markets simultaneously and react instantly to changes.
What advice would you give someone interested in this strategy?
Start manually to understand the mechanics. Pick a high-reward market and place orders on both sides. Watch your earnings tick up in real-time—it's surprisingly addictive.
If you have programming experience, fork my GitHub repo. The current version pulls market data, calculates volatility, and ranks opportunities by risk-adjusted returns. You can start with the data collection component to understand which markets offer the best opportunities.
The key insight is that Polymarket's reward system isn't perfectly calibrated to risk. Some markets barely move but offer huge rewards relative to their volatility. Finding these gems is where the profit lies.
What should Polymarket do to improve liquidity?
Rather than changing their reward system, they should encourage more automated market making. Professional market makers from traditional finance won't touch new markets—there's too much friction and uncertainty. But individual developers and traders will, if you give them the right tools.
Polymarket should incentivize more open-source market making bots and maybe even create user-friendly interfaces so non-programmers can participate. The platform succeeded by making prediction markets accessible to retail traders. They could do the same for market making.
Where can people find your code and connect with you?
The bot is available on GitHub. I've seen several forks already, with people adapting it to current market conditions. I'm happy to help anyone serious about implementing it.
Follow me on Twitter @defiance_cr where I share insights about market making, DeFi, and crypto market dynamics. I'm building something new in the exchange space, but I still love discussing prediction markets and helping engineers optimize their trading strategies.
Disclaimer
Nothing in The Oracle is financial, investment, legal or any other type of professional advice. Anything provided in any newsletter is for informational purposes only and is not meant to be an endorsement of any type of activity or any particular market or product. Terms of Service on polymarket.com prohibit US persons and persons from certain other jurisdictions from using Polymarket to trade, although data and information is viewable globally.
so, more earnings come from 'daily Rewards' or from the difference from 'buying low, selling higher'? Every price move is bad for market maker?