polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot | polymarket trading bot
Polymarket BTC 5-Minute Up/Down Bot
Automated trading for Polymarket's BTC / ETH / SOL / XRP 5-minute Up/Down markets.
Status check, up front: this repo is an in-progress port of a strategy that live results. Full breakdown below in Where This Stands.
Contents
Quick Start · Where This Stands · How It Works · Configuration · Risks · Roadmap · Contributing
Quick Start
git clone https://github.com/LuanSantana0/Polymarket-Trading-Bot-BTC-5-Minute-Up-Down-Dual-Leg.git
cd polymarket-trading-bot-btc-5m
npm install
cp .env.example .env
npm start
.env setup
POLYMARKETPRIVATEKEY=0x... # Your 64-character private key
PROXYWALLETADDRESS=0x... # Optional
Use a dedicated, minimally-funded wallet. Never use your main wallet's key, never commit .env. Default sizing is a $10 test bet - start there.
Requires Node.js ≥ 20.6. Ctrl+C stops the bot and prints a final balance summary. Logs go to logs.txt.
Where This Stands
The strategy this repo is built toward runs live under @powerwinner - fully on-chain, wallet 0xf3531b23b504cf0aed4ff21325232b2a2d496685, verifiable at the profile and activity feed.
That live account is hand-executed, not run from this codebase. Here's the honest gap between the two:
| Feature | Live @powerwinner strategy | This repo, today |
|---|---|---|
| Markets | BTC 5m only | Multi-market (BTC/ETH/SOL/XRP) |
| Logic | Dual-leg mid-window accumulation | Late-window snipe |
| Position size | ~1,680 shares/side | $10 test size |
| Execution | Live orders, Platinum tier | Small test sizing by default |
Closing that gap - porting the real sizing, timing, and dual-leg logic - is the active focus. Track it in Roadmap. Contributions welcome.
How It Works
Target design (from the live strategy):
- Buys both Up and Down legs every 5-minute window - no directional bet
- Heaviest fills land 60–180 seconds after the window opens
- Targets ~1,680 shares per side, built up across ~42 fills
- Edge comes from keeping the combined pair cost at or below $1.00 - execution quality, not prediction
Configuration
Defaults today (src/index.ts):
const MARKETS = ["btc", "eth", "sol", "xrp"];
const BET_USD = 10;
const ENTRYTIMEMIN = 250; // seconds into window
const ENTRYTIMEMAX = 290;
const ENTRYPRICEMIN = 0.97;
const ENTRYPRICEMAX = 0.99;
Where it's headed:
// BTC 5m only
const TARGETSHARESPER_SIDE = 1680;
const FILLWINDOWSTART = 0;
const FILLWINDOWEND = 250;
// + dynamic scaling on both legs
APIs used: Gamma (gamma-api.polymarket.com/markets/slug/{slug}) · CLOB Prices (clob.polymarket.com/prices) · @polymarket/clob-client · slug format btc-updown-5m-{windowstartunix}
Risks
| | | |---|---| | Pair cost > $1.00 | Negative EV on a perfectly hedged set - execution quality matters more than direction | | Bigger size, bigger drawdown | Larger positions mean larger potential losses | | Fees & spread | Apply on every single fill | | Sharp last-second moves | Can wipe out the cheaper leg entirely | | Live ≠ this code | The track record above is hand-executed, not a preview of what this codebase does out of the box | | Unaudited code | Actively changing - bugs can and will cost money |
Not financial advice. Use at your own risk. Never share your private key.
Roadmap
- [ ] Port dual-leg accumulation logic (sizing, timing, dynamic scaling)
- [ ] Narrow default scope to BTC 5m only
- [ ] Live CLOB order execution (past small test-size defaults)
- [ ] Configurable position sizing presets
- [ ] Docker deployment
Contributing
Issues and PRs welcome - especially toward porting the dual-leg logic above. Include a clear description and, where relevant, test results.
Live Profile · Activity Feed · Repo
License: ISC