Market Making on Polymarket

Overview

Market making on prediction markets means placing both a buy limit order and a sell limit order for the same outcome to help keep the market liquid and active. In return, Polymarket pays daily rewards to market makers whose orders meet certain quality thresholds.

How it works on Polymarket

On Polymarket, each market has two outcomes (e.g., "Yes" and "No"). Each outcome has its own order book where you can place buy or sell orders. That means there are four possible order types:

  1. Buy Yes - spend USDC to acquire Yes shares

  2. Sell Yes - sell Yes shares you hold for USDC

  3. Buy No - spend USDC to acquire No shares

  4. Sell No - sell No shares you hold for USDC

What Tread's MM bot does

When you start a market-making bot on tread, you pick one outcome (e.g., Yes) and the bot simultaneously places:

  • A buy limit order for that outcome (bidding to acquire shares)

  • A sell limit order for that outcome (offering to sell shares)

This is classic market making - you're quoting both sides of a single outcome's order book, earning the spread between your buy and sell prices. The bot continuously manages these two orders, adjusting their prices to stay competitive around the midpoint.

This is why the collateral requirement is a 50/50 split: you need USDC to fund the buy side and outcome shares to fund the sell side.

Note: Tread currently supports market making on one outcome at a time. If you want to provide liquidity on both Yes and No, you would start two separate bots - one for each outcome.

Market making is only enabled for markets where Polymarket is rewarding liquidity provision.

Why use Tread instead of Polymarket directly?

Traditionally, you would need to go to Polymarket's website and manually place and manage these orders yourself - constantly monitoring prices, adjusting order sizes, and rebalancing. With Tread, the bot automates all of this: order placement, spread management, rebalancing, participation rate targeting, and risk controls (stop loss/take profit).


How Polymarket Liquidity Rewards Work

Polymarket runs a Liquidity Rewards Program that pays traders for providing liquidity. Here's how it generally works:

  • You earn rewards by keeping active limit orders close to the market's midpoint price

  • The closer your orders are to the midpoint, the more you earn relative to other market makers

  • Rewards are paid daily at approximately midnight UTC

  • Minimum payout: Rewards must reach $1 before they're distributed

  • Competitiveness matters: Your earnings depend on how your orders compare to other market makers in terms of size and pricing

Each eligible market defines two key requirements:

Requirement
What it means

Max Spread

The farthest your limit orders can be from the midpoint and still qualify for rewards

Min Shares

The minimum order size (in shares) needed to qualify

If the market's midpoint price drops below $0.10, you must have orders on both sides (Yes and No) to qualify.

These are subject to change and are managed by Polymarket. For up to date information please refer to their official documentationarrow-up-right on the rewards program


Getting Started

Step 1: Find a Rewards Market

  1. Navigate to Predict in the top navigation bar

  2. Click the Rewards tab

  3. You'll see a table of all markets currently offering liquidity rewards

The Rewards table shows:

Column
What it means

Markets

The prediction market question

Max Spread

Maximum distance from midpoint your orders can be (in cents)

Min Shares

Minimum order size required to qualify for rewards

Reward

Daily reward rate for the market

Comp

Competitiveness - a visual indicator of how crowded the market is (higher = more competition)

Price

Current prices for both outcomes

Click on any market row to open the event page where you can start market making.

Step 2: Prepare Your Collateral

Because the bot places both buy and sell orders for the same outcome, you need two types of collateral:

  • 50% in USDC - to fund the buy side (acquiring shares when someone sells to you)

  • 50% in outcome shares - to fund the sell side (selling shares when someone buys from you)

For example, if you want to market make on "Yes" with $1,000 margin:

  • You need $500 in USDC in your Tread Polymarket wallet

  • You need Yes shares worth $500 (valued at the current outcome price)

How to get outcome shares: Use the Split button at the top of the order form. Splitting converts USDC into equal amounts of Yes and No outcome shares. For example, splitting $500 USDC gives you $500 worth of Yes shares and $500 worth of No shares. You would then use the Yes shares as collateral for your MM bot (the No shares remain in your wallet).

How to convert shares back: Use the Merge button to convert equal amounts of Yes and No shares back into USDC. This requires matching quantities of both outcomes.

Step 3: Open the MM Form

  1. On the event page, select the specific market/outcome you want to make on (e.g., "April 30")

  2. Choose which side to market make on (Yes or No)

  3. Click the MM tab in the order form (next to Market, Limit, and Algo)


The MM Form - Field by Field

Margin

The dollar amount of capital you're committing to market making. This is split 50/50 between USDC and outcome shares.

  • Minimum: $1

Below the margin input you'll see two balance indicators:

  • Wallet icon + dollar amount: Your available USDC balance

  • Chart icon + share count: Your available outcome shares

If either balance turns red, you don't have enough collateral. Hover over the red indicator to see exactly how much more you need.

Estimated Volume: Your margin is multiplied by 20x to determine the total share volume the bot will try to execute. So $100 margin = ~$2,000 estimated volume.

Reference Price

This controls the pricing strategy your bot uses. There are three modes:

Mid (default)

  • Quotes orders around the market's midpoint price

  • The most straightforward approach

  • When selected, you can also set a Directional Bias (see below)

Grid

  • Places a grid of orders around the midpoint

  • Aims for guaranteed breakeven + spread profit

  • Good for stable markets where you want consistent returns

  • When selected, shows a Grid Reset Threshold option (see below)

RGrid (Reverse Grid)

  • Like Grid but inverted - better for recovering from unfavorable pricing

  • Uses a "TP Reset Threshold" instead of Grid Reset Threshold

  • Shown in red to indicate it's more aggressive

Directional Bias (Mid mode only)

Only appears when Reference Price is set to Mid. Controls whether your orders lean toward one side:

  • Short: Bias toward selling - your quotes lean lower

  • Neutral (default): Balanced quoting on both sides

  • Long: Bias toward buying - your quotes lean higher

Grid Reset Threshold (Grid/RGrid modes only)

Controls how aggressively the bot resets its grid when price moves:

  • Options: 0.05%, 0.125%, 0.25%, 0.50%, 1%

  • Lower values = more frequent resets (tighter management)

  • Higher values = less frequent resets (more relaxed)

  • Default for Grid: 0.25%

  • Default for Reverse Grid: 0.125%

In Grid mode this is labeled "Grid Reset Threshold." In RGrid mode it's labeled "TP Reset Threshold" (take profit reset).

Participation Rate

Controls how aggressively the bot participates in the market's volume. This determines both the speed and duration of your market making:

Mode
Target % of Volume
Duration Range

Aggressive

10%

5 min - 1 hour

Normal (default)

5%

10 min - 3 hours

Passive

1%

30 min - 24 hours

The bot automatically calculates the optimal duration based on your margin, the market's 24-hour volume, and your chosen participation rate.

  • Aggressive (red): Fills faster, higher market impact, shorter duration

  • Normal: Balanced pace

  • Passive (green): Fills slowly, minimal market impact

Spread

The minimum spread buffer (in basis points) between your orders and the reference price.

  • Range: -50 to +50 bps

  • Default: 0 bps

  • A bps is 1/100th of a percent (so 50 bps = 0.50%)

How spread works depends on your Reference Price mode:

  • In Mid mode: Adds a spread buffer around the midpoint when quoting

  • In Grid mode: Aims for breakeven + the specified spread of PnL

Positive values mean wider spread (more conservative, less likely to earn rewards but safer). Negative values mean tighter spread (more aggressive, more competitive for rewards but higher risk).

Stop Loss

The maximum percentage loss before the bot automatically stops.

  • Options: 5%, 10% (default), 25%, 50%, 100%

  • Calculated as a percentage of your margin

  • For example, with $1,000 margin and 10% stop loss, the bot stops if losses reach $100

Take Profit

The profit target at which the bot automatically stops.

  • Options: 10%, 25%, 50%, 100%, Uncapped (default)

  • Uncapped means the bot runs until its duration expires without a profit cap

  • Calculated as a percentage of your margin


Summary Section

Before submitting, the form shows three key metrics:

Metric
What it means

Est. Volume

Total share volume the bot will attempt to execute (margin x 20)

Duration

How long the bot will run, auto-calculated from your settings and market conditions

Participation Rate

The target percentage of market volume your bot will try to capture


Troubleshooting

The button will be disabled (grayed out) if:

  • Your margin is less than $1

  • You don't have enough USDC (need at least half the margin)

  • You don't have enough outcome shares (need at least half the margin in share value)

  • No market/account is selected


Managing Active Bots

Bots Tab

At the bottom of the event page, click the Bots tab to see all your active market making bots. The tab shows a count (e.g., "Bots (2)").

Each bot entry shows:

  • Mode: Visual indicators for your strategy settings

  • Market: Which market the bot is running on

  • Spread: Current spread in bps

  • Filled: Progress bar showing how much of the estimated volume has been filled

  • Status: Active, Paused, etc.

Bot Controls

  • Pause: Temporarily stop a running bot (can be resumed later)

  • Resume: Restart a paused bot

  • Cancel: Permanently stop and cancel a bot

  • View: Navigate to the full order details page


Tips for Effective Market Making

  1. Check the Max Spread requirement before starting. Your spread setting should keep your orders within the market's max spread to qualify for rewards.

  2. Start with Normal participation rate to get a feel for the market before going Aggressive.

  3. Use the Split button to prepare your collateral before starting. You need both USDC and outcome shares.

  4. Monitor competitiveness in the Rewards table. Markets with lower competitiveness have less competition, meaning your orders earn a larger share of rewards.

  5. Set a reasonable stop loss - 10% (default) is a good starting point. Prediction markets can be volatile around news events.

  6. Consider the market's volume - markets with higher 24-hour volume support larger margin amounts and more aggressive participation rates.

  7. Grid mode is great for stable markets where the price isn't moving dramatically, however this could also lead to your order getting stuck and eventually stop-lossed. Mid mode has a higher chance of finishing and generating your desired volume but may come at greater losses.

  8. Check your rewards on Polymarket - rewards are distributed daily at midnight UTC. You can verify your earnings are accumulating.

Last updated

Was this helpful?