A real-time console trading assistant for Polymarket "Bitcoin Up or Down" 15-minute markets.
It combines:
- Polymarket market selection + UP/DOWN prices + liquidity
- Polymarket live WS Chainlink BTC/USD CURRENT PRICE (same feed shown on the Polymarket UI)
- Fallback to on-chain Chainlink (Polygon) via HTTP/WSS RPC
- Binance spot price for reference
- Short-term TA snapshot (Heiken Ashi, RSI, MACD, VWAP, Delta 1/3m)
- A simple live Predict (LONG/SHORT %) derived from the assistant’s current TA scoring
- Node.js 18+ (https://nodejs.org/en)
- npm (comes with Node)
git clone https://github.com/FrondEnt/PolymarketBTC15mAssistant.gitAlternative (no git):
- Click the green
<> Codebutton on GitHub - Choose
Download ZIP - Extract the ZIP
- Open a terminal in the extracted project folder
Then open a terminal in the project folder.
npm installYou can run without extra config (defaults are included), but for more stable Chainlink fallback it’s recommended to set at least one Polygon RPC.
$env:POLYGON_RPC_URL = "https://polygon-rpc.com"
$env:POLYGON_RPC_URLS = "https://polygon-rpc.com,https://rpc.ankr.com/polygon"
$env:POLYGON_WSS_URLS = "wss://polygon-bor-rpc.publicnode.com"Optional Polymarket settings:
$env:POLYMARKET_AUTO_SELECT_LATEST = "true"
# $env:POLYMARKET_SLUG = "btc-updown-15m-..." # pin a specific marketset POLYGON_RPC_URL=https://polygon-rpc.com
set POLYGON_RPC_URLS=https://polygon-rpc.com,https://rpc.ankr.com/polygon
set POLYGON_WSS_URLS=wss://polygon-bor-rpc.publicnode.comOptional Polymarket settings:
set POLYMARKET_AUTO_SELECT_LATEST=true
REM set POLYMARKET_SLUG=btc-updown-15m-...Notes:
- These environment variables apply only to the current terminal window.
- If you want permanent env vars, set them via Windows System Environment Variables or use a
.envloader of your choice.
This project reads configuration from environment variables.
You can set them in your shell, or create a .env file and load it using your preferred method.
POLYMARKET_AUTO_SELECT_LATEST(default:true)- When
true, automatically picks the latest 15m market.
- When
POLYMARKET_SERIES_ID(default:10192)POLYMARKET_SERIES_SLUG(default:btc-up-or-down-15m)POLYMARKET_SLUG(optional)- If set, the assistant will target a specific market slug.
POLYMARKET_LIVE_WS_URL(default:wss://ws-live-data.polymarket.com)
CHAINLINK_BTC_USD_AGGREGATOR- Default:
0xc907E116054Ad103354f2D350FD2514433D57F6f
- Default:
HTTP RPC:
POLYGON_RPC_URL(default:https://polygon-rpc.com)POLYGON_RPC_URLS(optional, comma-separated)- Example:
https://polygon-rpc.com,https://rpc.ankr.com/polygon
- Example:
WSS RPC (optional but recommended for more real-time fallback):
POLYGON_WSS_URL(optional)POLYGON_WSS_URLS(optional, comma-separated)
The bot supports HTTP(S) proxies for both HTTP requests (fetch) and WebSocket connections.
Supported env vars (standard):
HTTPS_PROXY/https_proxyHTTP_PROXY/http_proxyALL_PROXY/all_proxy
Examples:
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8080"
# or
$env:ALL_PROXY = "socks5://127.0.0.1:1080"CMD:
set HTTPS_PROXY=http://127.0.0.1:8080
REM or
set ALL_PROXY=socks5://127.0.0.1:1080-
Take your proxy host and port (example:
1.2.3.4:8080). -
Add your login and password in the URL:
- HTTP/HTTPS proxy:
http://USERNAME:PASSWORD@HOST:PORT
- SOCKS5 proxy:
socks5://USERNAME:PASSWORD@HOST:PORT
- Set it in the terminal and run the bot.
PowerShell:
$env:HTTPS_PROXY = "http://USERNAME:PASSWORD@HOST:PORT"
npm startCMD:
set HTTPS_PROXY=http://USERNAME:PASSWORD@HOST:PORT
npm startImportant: if your password contains special characters like @ or : you must URL-encode it.
Example:
- password:
p@ss:word - encoded:
p%40ss%3Aword - proxy URL:
http://user:p%40ss%3Aword@1.2.3.4:8080
npm startPress Ctrl + C in the terminal.
git pull
npm install
npm start- If you see no Chainlink updates:
- Polymarket WS might be temporarily unavailable. The bot falls back to Chainlink on-chain price via Polygon RPC.
- Ensure at least one working Polygon RPC URL is configured.
- If the console looks like it “spams” lines:
- The renderer uses
readline.cursorTo+clearScreenDownfor a stable, static screen, but some terminals may still behave differently.
- The renderer uses
This is not financial advice. Use at your own risk.
created by @krajekis