Documentation

What the bot is

The PR&R Up/Down Crypto Bot is an open-source bot that trades Polymarket's short-term crypto markets; the ones that ask “will BTC (or ETH, SOL, XRP, BNB, DOGE) be up or down at the end of this window?” It watches those markets, reads live coin prices, runs a strategy you choose, and places the trades for you through your own wallet.

Each side of a market (Up or Down) is a token priced between $0 and $1: read it as cents and as an implied probability. If your side wins when the window closes, each share pays out $1.

Paper trading is on by default. Every trade is simulated (no real money moves) until you deliberately switch the bot to live. Run it in paper mode first until its decisions look right.
Documentation

How the bot works

The bot is a small team of background programs (called engines) plus a dashboard you run in your browser. You don't need to understand the internals: some engines gather data, and others place the trades.

The flow is simple:

  • It watches the markets: live prices and time remaining for every coin and timeframe.
  • It reads real coin prices and measures how far each coin has moved since the round opened.
  • Your strategy decides whether the conditions are right to buy.
  • It places the order through your own wallet, and logs every trade locally.

You stay in control the whole time: you pick the coins and timeframes, choose the strategy, set the risk, and flip between paper and live.

Documentation

The dashboard

Everything runs from one screen with three parts:

  • Left: engine controls. Start and stop the engines, see which are running, switch between paper and live, and open settings.
  • Middle: markets, two ways. A Cards / Charts switch decides what you see. Cards are live tiles showing the time left and the current Up/Down prices; click Up or Down to place a trade yourself. Charts are live graphs.
  • Right: your money. Your live Polymarket profit/loss, your open positions, and a full history of every trade (paper and live).

Live charts

Switching the middle column to Charts replaces the tiles with a grid of live graphs. Each one plots a market's Up and Down odds in cents against the actual coin price that decides the outcome, so you can watch the odds react as the coin moves. You can split the grid into as many panes as you want to follow several markets at once, and drag the chart's edges to zoom.

Charts are read-only. There are deliberately no trade buttons in a chart, so you can leave them open without any risk of a mis-click becoming an order. To trade, switch back to Cards.

You can also watch each engine's live log to see what it's doing and why, and export or import your whole setup as a single file.

Documentation

The two strategies

A strategy is how the bot decides to buy. There are two; pick one (or run both).

Expiry Sniper

Waits until a market is almost over and one side is nearly certain, then buys that side and holds it to the $1 payout. Because there are only seconds left, there's little room for the price to reverse, so it books small, frequent wins. You set how close to the end it acts and how certain the price has to be.

Scalper

Buys a token the moment its price drops into a range you set, then sells as soon as the price rises by the amount of profit you want. It's the simplest way to work short-term moves; you choose the buy range and the profit target, and the bot handles the rest.

Documentation

The engines that support the strategies

Behind the two strategies, a few engines gather the data they need. You rarely touch these directly; here's what each one is and how the bot uses it.

Polymarket Feed

The price backbone. It streams the live Up/Down prices from Polymarket to the rest of the bot. Every strategy reads from it: if this engine isn't running, the bot sees no prices and won't trade.

Coin Delta

Reads the real dollar price of each coin (from Chainlink or Coinbase) and measures how far it has moved since the round opened. It uses that to suggest a bet size and a direction, so the strategies can size their trades and avoid buying against a strong move.

TWAP Feed

Streams the price Polymarket actually settles these markets on, which is not the same as the price you see ticking. It's the coin's average price over the last 60 seconds. This engine never trades, but the bot uses its number to work out whether a finished position won or lost, so leave it running.

Price History

Records prices as they arrive so a chart opens already drawn instead of building up from the moment you opened it. It also keeps the record the bot reads to settle finished trades. It works unattended and doesn't appear in the engine list.

Wallet Feed

Tracks your Polymarket wallet in real time (every fill, position, and balance change), so the profit/loss on your dashboard is always accurate. It's read-only: it never places or signs a trade.

Documentation

Stop loss & safety

Stop Loss

A safety feature, not a strategy. It watches the positions your strategies open and, if one is heading for a loss before the market ends, it exits early, recovering some of your money instead of losing the whole stake. It's off by default; turn it on if your strategy needs it.

How the bot keeps you safe

  • Paper trading is on by default: nothing real happens until you choose to go live, which takes a deliberate confirmation.
  • It's self-hosted. The bot runs on your machine and signs trades with your own wallet; nothing is held by anyone else.
  • It's open source. Every strategy and setting is readable; no black box.
Documentation

The settings that matter

You don't need to touch most settings. These are the ones that shape how each strategy trades, all editable in the dashboard, and saved changes take effect right away.

Expiry Sniper

SettingWhat it does
Probability bandThe price range it will buy in (e.g. 94–99¢). Higher = only the safest markets; lower = more trades but more risk.
Time thresholdHow close to the end it acts. Later = safer, since there's less time to reverse.
Bet sizeHow much to put on each trade.

Scalper

SettingWhat it does
Buy rangeThe price range a token must fall into before it buys.
Exit gainHow much profit to wait for before selling.
Bet sizeHow much to put on each trade.
CoinsWhich coins it's allowed to trade.
Documentation

Where coin prices come from

The bot needs live coin prices to measure movement. You choose the source in the dashboard; you can switch at any time.

SourceNotes
CoinbaseBuilt in, no setup needed. The default.
ChainlinkThe same oracle family Polymarket settles from, so it tracks settlement most closely: recommended if you have access.
BinanceBuilt in, but blocked in some regions.
PR&RA hosted feed of Chainlink prices; needs a PR&R API key.
If a source shows no prices, it usually means that feed isn't reachable from your location; not a bug. The bot automatically falls back to whichever feed is live, and Chainlink is the most reliable.

The price that decides the market

All four sources above are spot prices: what the coin costs right now. Polymarket does not settle on spot. It settles on the coin's average price over the last 60 seconds (a TWAP), which the bot receives separately and shows as its own row in the price panel and as the third line on every chart.

This catches people out: a market can end with the coin's live price above where the round started and still settle Down, because the 60-second average came in lower. Nothing is broken when that happens; you were watching spot, and the market resolved on the average. Every timeframe the bot trades (5m, 15m and 1h) settles on the 60-second average, and the bot picks it for you: there's no setting to get wrong.
Documentation

Set your values from real data

The most important settings (how big a move should trigger a trade, and where to set your stop loss) shouldn't be guessed. Instead, look at what actually happened in past markets and let the data decide.

  • Download PR&R's historical records of past Polymarket cycles.
  • Measure how often each coin moved a given amount and then reversed.
  • Use those numbers to set your trigger and stop-loss values.
The bot ships with ready-made example data (about 6,600 cycles each for BTC, ETH, SOL, and XRP) so you can see the whole workflow before running it on fresh data.
Documentation

Setup & going live

What you need before you start:

You needWhat it's for
Polymarket account + USDCThe place you trade, and your funds.
A dedicated walletSigns your trades: use a brand-new wallet, not one holding assets you care about.
An EU VPN or AWS relayPolymarket blocks non-EU connections, so you need one of these to reach it.
Chainlink key (optional)For the most accurate price feed; Coinbase works without it.

The four steps

  • Create your account and connect your Discord to unlock the download.
  • Install and run in paper mode: paper trading is already on, so nothing is at risk.
  • Configure it: add your details, pick coins and timeframes, and set your strategy.
  • Go live carefully: when the decisions look right, switch to live and start small.
Documentation

Extending the bot with plugins

The bot is built to be extended. You can import a plugin (a small feature pack) straight from the dashboard, with no rebuilding. A plugin can add a new engine, a new setting, or a rule that vetoes a trade (for example, “don't buy while the market is too volatile”).

A plugin runs with full access to your machine and wallet. Only import plugins you wrote or completely trust.
Documentation

Common issues

  • On Windows? Run the bot under WSL (the Linux layer); that's the supported setup.
  • Can't download or trade? Downloads and live trading need your Discord connected to your account.
  • Engines won't start trading? The trading engines need your Polymarket wallet details before they'll run.
  • Prices are blank? The chosen price feed isn't reaching you; switch to Chainlink, which is the most reliable.
Join DiscordPR&R Up/Down Crypto Bot Documentation | PR&R