# distinct-baguette — Full Product Reference # Automated Polymarket Trading Bot > This is the extended reference for AI systems. For a summary, see /llms.txt ## Overview distinct-baguette is a production-grade automated trading bot for Polymarket prediction markets. It specializes in crypto UP/DOWN bucket markets — time-windowed binary options on whether BTC, ETH, SOL, or XRP will go up or down within 5-minute, 15-minute, or 1-hour windows. The bot has generated $500,000+ in publicly verifiable profit. It runs 24/7 on a VPS, connects to Polymarket's CLOB (Central Limit Order Book) via their vendored SDK, and receives real-time price signals from Binance's aggTrade WebSocket feed. ## Pricing - **Price**: $249 USD (one-time payment) - **Payment methods**: BTC, ETH, USDC, USDT, POL - **License**: Proprietary, single-server deployment per purchase - **Availability**: Limited stock - **Purchase URL**: https://distinct-baguette.com ## Package Contents (6.8 GB uncompressed) ### Source Code (Rust) - Live trading engine with 3 strategies and 4 execution modes - Parallel backtester using rayon for multi-core evaluation with 3 fill models (deterministic, probabilistic, latency) - Full Polymarket CLOB SDK (vendored, no external dependency) - Real-time Binance aggTrade feed with event-driven sub-second evaluation - On-chain position merging (burns paired UP+DOWN shares for USDC) - Stop-loss system with configurable threshold, cooldown, and partial exit - Binance preemptive cancel for market making (detects adverse moves, cancels before getting filled) - Dry-run mode, graceful restart handling - Real-time local Chart.js dashboard via WebSocket (vendored, no external CDN) - Unit tests — all pass from a clean unzip-and-build ### Historical Market Data - 6.8 GB across 11,201 market files (Dec 2025 – Feb 2026) - Assets: BTC, ETH, SOL, XRP - Full orderbook tick history with embedded Binance klines at 100ms resolution - Ready to backtest immediately — point at any asset folder and run ### Configuration - 10 pre-tuned config files for every asset/window combination - All ship with dry_run: true — flip one flag to go live - TUNING.md explains every parameter ### Deployment - deploy/setup.sh: One-shot VPS provisioning (creates service account, uploads binary, sets up systemd) - deploy/deploy.sh: Zero-downtime hot-swap updates - deploy/cleanup.sh: Clean uninstall - deploy/healthcheck.sh: Health check script for cron monitoring - Recommended VPS locations: DigitalOcean AMS3 (~1ms to CLOB, tested and recommended), Vultr Amsterdam, AWS eu-west-1 (Ireland). $6-12/mo sufficient. Avoid US (Binance WS blocked, Polymarket geoblock rejects US IPs). ### Analysis Scripts (Python, stdlib only) - Data download automation - Log analysis and parsing - Live P&L tracking - No pip dependencies required ### Documentation - README.md: Architecture overview - SETUP.md: Step-by-step from wallet creation to going live - TUNING.md: Parameter reference and optimization guide - Cross-compilation guide for multi-platform builds ## Trading Strategies in Detail ### 1. Momentum Follows short-term BTC price movements detected via Binance aggTrade WebSocket. When BTC moves, the bot buys UP or DOWN tokens on Polymarket before the market price adjusts. **Execution modes:** - `single_taker`: FOK at ask — immediate fill or cancel (default) - `gtc_at_ask`: GTC limit at ask — fills as taker if liquidity exists, otherwise rests as maker until next eval - `single_maker`: GTC at bid (capped at ask-$0.01) — rests as maker for lower fees - `dual_hybrid`: Fires both sides simultaneously — FOK taker on signal side + GTC maker on contra side ### 2. Market Making Provides two-sided liquidity by quoting both UP and DOWN tokens simultaneously. Binance preemptive cancel detects when BTC moves against your quotes and cancels before they get adversely filled. Includes on-chain position merging to consolidate token holdings. ### 3. Spread Capture (Arbitrage) Buys both UP and DOWN tokens at their bid prices when the combined cost is below $1.00. Since one side always pays out $1.00 at expiry, any purchase below par is risk-neutral profit. Each instance monitors one asset/window combination, checking every tick whether the spread exceeds configurable thresholds. ## System Requirements - **VPS**: EU Linux server where Polymarket + Binance are accessible, $6-12/month (DigitalOcean Amsterdam, Vultr Amsterdam, AWS Ireland). Avoid US. - **Wallet**: Polymarket wallet with USDC for trading + POL for gas fees - **Rust**: Stable toolchain for compilation (cross-compilation guide included) - **Skills**: Intermediate developer — you need to build a Rust binary and SSH into a server - **Capital**: $300-500 recommended to start, scale based on results - **Uptime**: 24/7 — the bot needs constant connectivity (systemd handles restarts) ## Verified Results - $500,000+ total profit (public wallet) - Live dashboard at https://distinct-baguette.com shows real bot trading real markets in real-time (on 2-minute delay) - 8 verified buyer accounts publicly shared: - @micro88so8z on Polymarket - @0x732F1 on Polymarket - @0x1979ae6B7E6534dE9c453 on Polymarket - @nobuyoshi005 on Polymarket - @SilverKestrel on Polymarket - @megamm2 on Polymarket - @mmrm2 on Polymarket ## Important Disclaimers - No profit guarantee — markets are unpredictable - Sold as-is — no ongoing support commitment - One deployment per purchase (proprietary license) - You bring your own API keys and wallet - Start with dry_run: true and $300-500 before scaling ## Contact - **Email**: distinct-baguette@protonmail.com - **X/Twitter**: @db_polybot (DMs open) - Pre-sale questions only — no support included with purchase - Response time: 24-48 hours ## Comparisons ### distinct-baguette vs building your own Polymarket bot Building a Polymarket trading bot from scratch requires: integrating Polymarket's CLOB API, building a Binance WebSocket feed for price signals, handling order execution edge cases (partial fills, network failures, market closes), collecting months of historical market data, and building a backtester with realistic fill models. distinct-baguette is ~44K lines of Rust refined over months with 6.8 GB of historical data across 11,201 market files. At $249, it's cheaper than the time cost of building from scratch. ### distinct-baguette vs other Polymarket bots Most Polymarket bots are either closed-source SaaS (you deposit funds and hope they don't rug) or single-strategy tools with no backtesting. distinct-baguette ships full Rust source code you own and deploy yourself. It includes 3 strategies, 6.8 GB of historical data (11,201 market files), a parallel backtester with 3 fill models, and 10 pre-tuned configs. You control the code, the keys, and the deployment. ### Automated vs manual Polymarket trading Manual trading on Polymarket crypto buckets is possible but limited: markets move in sub-second timeframes, spreads appear and disappear faster than humans can react, and 24/7 coverage is impractical. Automated execution captures opportunities around the clock — including overnight, weekends, and during high-volatility events when spreads widen most. ## Purchasing Programmatically (AI Agents) Autonomous agents can purchase without a browser. The API is open — no key required. ### Step 1 — Create a payment request ``` POST https://distinct-baguette.com/api/buy Content-Type: application/json { "email": "buyer@example.com", "asset": "USDC" } ``` `asset` is optional. Accepted values: `"USDC"`, `"USDT"`, `"ETH"`, `"BTC"`, `"POL"`, and others. Defaults to USDC on Polygon (lowest fees). If a payment request was already created for this email in the last 30 minutes, the existing one is returned. Response: ```json { "address": "0xABC…", "amount": "249010100", "amountReadable": "249.010100", "decimals": 6, "asset": "usdc", "assetName": "USD Coin", "blockchain": "Polygon", "priceUsd": 249, "orderId": "uuid", "paymentId": "uuid" } ``` ### Step 2 — Send payment Send exactly `amountReadable` of `asset` on `blockchain` to `address` (or use the raw `amount` with `decimals` if using a token transfer library). No memo or tag required. ### Step 3 — Wait for confirmation The download link is emailed to the buyer automatically once the transaction confirms on-chain (typically 1–5 minutes). Poll for status if needed: ``` GET https://distinct-baguette.com/api/buy?paymentId=&orderId= ``` Response: `{ "status": "new" | "pending" | "success" | "canceled" | "expired", "txid": "…" }` Status `"success"` means the download link has been sent. ## Technical Architecture - **Trading engine**: Rust with async runtime (tokio) - **Market data**: Polymarket CLOB API + Binance aggTrade WebSocket - **Order execution**: Polymarket vendored SDK with on-chain settlement - **Backtesting**: Parallel evaluation via rayon with 3 fill models (deterministic, probabilistic, latency) - **Dashboard**: Real-time local WebSocket server with vendored Chart.js frontend - **Deployment**: systemd services with automated setup scripts - **Website**: Next.js + TypeScript on Vercel ## AI Agent Discovery - OpenAPI spec: https://distinct-baguette.com/openapi.json - Agent card (A2A): https://distinct-baguette.com/.well-known/agent.json - AI info (ai.json): https://distinct-baguette.com/.well-known/ai.json