DEV Community

Benjamin-Cup
Benjamin-Cup

Posted on

Building a BTC Liquidity Momentum Bot for Polymarket with Python

A Step-by-Step Guide to Trading the BTC 5-Minute Up/Down Markets Using Order Book Liquidity

Polymarket has created a new category of prediction markets where every trade is backed by transparent order books instead of traditional market makers. While many trading bots focus on entering positions during the final few seconds before market settlement, another opportunity exists throughout the lifetime of the market by analyzing changes in liquidity and order flow.

In this tutorial, we'll build a BTC Liquidity Momentum Bot in Python that monitors the BTC 5-minute Up/Down markets and places trades when liquidity suddenly shifts in favor of one side.

Polymarket trading bot

If you're completely new to Polymarket bot development, I highly recommend starting with this beginner guide before reading this article:

Beginner Tutorial

https://medium.com/@benjamin.bigdev/how-to-build-a-polymarket-trading-bot-in-python-2026-deep-dive-guide-a1fa00059246

GitHub Repository

https://github.com/Benjam1nCup/Polymarket-trading-bot-python-V22

Once you're comfortable connecting to Polymarket and placing basic orders, this tutorial will show how to build a more advanced strategy based on market microstructure.


What You'll Build

Our bot continuously watches the BTC 5-minute Up/Down markets and:

  • Downloads the live order book
  • Measures buy and sell liquidity
  • Detects momentum shifts
  • Confirms signals using Bitcoin spot price
  • Places the first trade
  • Immediately attempts a complementary hedge
  • Repeats for every new 5-minute market

Unlike last-second arbitrage bots, this strategy works during most of the market's lifetime.


Why Order Book Liquidity Matters

Most retail bots only monitor prices.

Professional traders monitor liquidity.

A sudden increase in bid liquidity often means buyers are becoming more aggressive.

Likewise, disappearing bids or increasing asks often indicate weakening demand.

Instead of reacting after price moves, we try to detect the pressure before significant movement occurs.

Order Book

YES Side

0.61   4,000
0.60   8,500
0.59  15,000

NO Side

0.39   1,200
0.40   2,100
0.41   2,500
Enter fullscreen mode Exit fullscreen mode

In this example the YES side contains significantly more liquidity than the NO side.

That imbalance is the first signal.


Strategy Overview

             BTC Spot Price
                    │
                    ▼
      +----------------------------+
      | Get Current Market         |
      +----------------------------+
                    │
                    ▼
      +----------------------------+
      | Download Order Book        |
      +----------------------------+
                    │
                    ▼
      +----------------------------+
      | Calculate Liquidity Score  |
      +----------------------------+
                    │
                    ▼
      +----------------------------+
      | Compare BTC vs Strike      |
      +----------------------------+
                    │
             Signal Exists?
                    │
          Yes ──────┘
                    ▼
            Execute Buy1
                    │
                    ▼
       Calculate Buy2 Price
                    │
                    ▼
            Submit Buy2
                    │
                    ▼
        Wait For Settlement
Enter fullscreen mode Exit fullscreen mode

Step 1 — Monitor the Current Market

Every five minutes Polymarket creates a new market.

For example:

btc-updown-5m-1753125300
Enter fullscreen mode Exit fullscreen mode

The bot continuously discovers the newest active market.

market = get_current_btc_market()
Enter fullscreen mode Exit fullscreen mode

This becomes the trading target.


Step 2 — Download the Order Book

Next we retrieve both sides of the order book.

book = client.get_orderbook(token)

bids = book.bids
asks = book.asks
Enter fullscreen mode Exit fullscreen mode

Each level contains

  • price
  • quantity

Example

0.62 -> 1200 shares

0.61 -> 800 shares

0.60 -> 6500 shares
Enter fullscreen mode Exit fullscreen mode

Step 3 — Calculate Liquidity Momentum

Instead of simply summing liquidity, we compute an order-book influence metric.

Higher price levels receive more weight because they are closer to execution.

Example

def influence(levels):

    score = 0

    for level in levels:

        score += level.price * level.size

    return score
Enter fullscreen mode Exit fullscreen mode

Then

buy_score = influence(bids)

sell_score = influence(asks)
Enter fullscreen mode Exit fullscreen mode

Finally

Momentum

=

Buy Score

-

Sell Score
Enter fullscreen mode Exit fullscreen mode

Positive values indicate stronger buying pressure.

Negative values indicate stronger selling pressure.


Step 4 — Confirm Using BTC Spot Price

Liquidity alone isn't enough.

The bot also checks whether Bitcoin's live market price is positioned appropriately relative to the prediction market's strike.

Example

BTC Spot

109,420

Strike

109,300
Enter fullscreen mode Exit fullscreen mode

If BTC is already trading above the strike while buyers dominate the order book, confidence increases.

This confirmation filters out many false positives.


Step 5 — Execute Buy1

When both conditions agree:

  • Liquidity momentum
  • BTC confirmation

the first order is submitted.

client.buy(

    token,

    price,

    size

)
Enter fullscreen mode Exit fullscreen mode

This establishes the initial position.


Step 6 — Immediately Submit Buy2

This is one of the most interesting parts of the strategy.

Instead of waiting for settlement, the bot immediately attempts to buy the opposite side.

Example

Buy YES

0.63

↓

Target NO

0.27
Enter fullscreen mode Exit fullscreen mode

Combined cost

0.63

+

0.27

=

0.90
Enter fullscreen mode Exit fullscreen mode

Since one outcome always settles at $1.00, the objective is to own both sides for approximately $0.90, leaving room for a positive payoff if both orders fill at the desired prices.

The complementary order isn't guaranteed to execute, but placing it immediately can capture temporary pricing inefficiencies.


Why This Isn't a Sniper Bot

Many Polymarket bots:

  • wait until the last second
  • submit aggressive market orders
  • depend on settlement timing

This strategy behaves differently.

Instead it:

  • watches liquidity
  • measures momentum
  • reacts throughout the market
  • uses order-flow information
  • seeks temporary pricing inefficiencies

It's fundamentally a market microstructure strategy rather than a timing strategy.


Example Trading Session

Market Opens

↓

Liquidity begins favoring YES

↓

BTC moves above strike

↓

Momentum score rises

↓

Buy YES

↓

Submit complementary NO order

↓

Market settles

↓

Redeem winning shares
Enter fullscreen mode Exit fullscreen mode

Complete Trading Loop

while True:

    market = get_current_market()

    orderbook = load_orderbook(market)

    score = calculate_momentum(orderbook)

    btc = get_spot_price()

    strike = market.strike

    if score > threshold and btc > strike:

        execute_buy1()

        execute_buy2()
Enter fullscreen mode Exit fullscreen mode

The actual production bot would include retries, risk limits, position tracking, order management, logging, and error handling.


Risk Management

No strategy is risk-free, and several practical risks should be considered:

  • Sudden liquidity changes before your order fills
  • Partial fills on one side but not the other
  • Network latency
  • API rate limits
  • Bitcoin price moving rapidly
  • Low-liquidity markets
  • Slippage
  • Temporary API outages

Robust production bots monitor all open orders, enforce position limits, and cancel or adjust stale orders when market conditions change.


Possible Improvements

Once the core strategy is working, consider adding:

  • Adaptive liquidity thresholds based on recent market activity
  • Multi-level order book weighting
  • Dynamic position sizing
  • Volatility filters
  • Trade cooldown periods
  • Machine learning for momentum prediction
  • Real-time dashboards
  • Historical backtesting
  • Performance analytics
  • Automatic order cancellation and replacement

Final Thoughts

The BTC Liquidity Momentum Bot demonstrates that profitable trading opportunities on Polymarket are not limited to last-second execution. By combining order-book liquidity analysis, real-time Bitcoin price confirmation, and complementary order placement, the strategy aims to exploit temporary market inefficiencies throughout the five-minute trading window.

Whether you're exploring prediction market automation or learning about market microstructure, building a bot like this is an excellent way to deepen your understanding of order books, execution logic, and algorithmic trading.


FAQ

Is this strategy guaranteed to make money?

No. Market conditions change constantly, and no trading strategy can guarantee profits.

Why use order book liquidity instead of price alone?

Liquidity often reflects buying or selling pressure before it becomes visible in price movements, providing additional context for trade decisions.

Why place a second complementary order?

The complementary order seeks to reduce the total acquisition cost by capturing temporary pricing inefficiencies between the YES and NO markets.

Can this strategy be backtested?

Yes. Recording historical order book snapshots and trade outcomes allows you to evaluate thresholds, weighting methods, and execution logic before deploying with real funds.

Is this suitable for beginners?

If you're new to Polymarket development, start with the beginner tutorial and repository linked above. Once you understand authentication, market discovery, and order placement, you can implement the liquidity momentum logic described in this guide.

🤝 Collaboration & Contact
If you’re interested in building trading bots, buy trading bots, collaborating, exploring strategy improvements, or discussing about this system, feel free to reach out.

I’m especially open to connecting with:

Quant traders
Engineers building trading infrastructure
Researchers in prediction markets
Investors interested in market inefficiencies

📌 GitHub Repository
This repo has some Polymarket several bots in this system.
You can explore the full implementation, strategy logic, and ongoing updates about 5 min crypto market here:

GitHub logo Benjam1nCup / Polymarket-trading-bot-python-V2

polymarket arbitrage bot polymarket trading bot polymarket arbitrage bot polymarket trading bot polymarket arbitrage bot polymarket trading bot polymarket arbitrage bot polymarket trading bot polymarket arbitrage bot polymarket trading bot polymarket arbitrage bot polymarket trading bot polymarket arbitrage bot polymarket trading bot polymarket

Polymarket Trading Bot | Polymarket Arbitrage Bot

An open-source and Strong Strategy collection of Polymarket trading bot and Polymarket arbitrage bot in Python for high-performance automated trading on polymarket crypto 5min markets.

Polymarket benjamincup bot dashboard

Features

  • Explosive growth of Polymarket with surging trading volume and new short-term markets

  • Increasing dominance of automated bots and AI in 5-minute crypto prediction markets

  • Higher profitability potential through advanced arbitrage and market-making strategies

  • Stronger edge for Python-based bots with real-time orderbook intelligence and low-latency execution

  • Continuous evolution of sniper, ladder, stair, momentum, and copy trading strategies

  • Scalable daily profits as prediction markets move toward hundreds of billions in annual volume

  • Full future-proof architecture for new features, contracts, and high-frequency trading environments

Included Trading Bots

Designed for arbitrage, directional strategies, and ultra-short-term markets (including 5-minute rounds), this bot framework provides a robust foundation for building and scaling automated trading strategies on Polymarket .

Demo Video

Polymarket Benjamin trading Bot video

Documentation

Throughout this…

💬 Get in Touch

If you have ideas, questions, or would like to collaborate or want these trading bots, don’t hesitate to reach out directly.
Feedback on your repo (based on your description & strategy)

Contact Info

Telegram
https://t.me/BenjaminCup

Tags: #polymarket #trading #bot #crypto #btc #5min

Top comments (0)