бот для polymarket
🏗️ Часть 1: Стек (Что вам нужно)
Вам не нужно быть разработчиком, но нужны правильные инструменты.
Установите VS Code. Это ваш командный центр.
- Скачайте Python 3.10+ с
python.org - ⚠️ КРИТИЧЕСКИ ВАЖНО: Во время установки поставьте галочку "Add Python to PATH". Если пропустите это, ничего не заработает.
Откройте терминал (Командная строка или Терминал) и выполните эту единственную команду, чтобы установить инструменты, используемые профи Polymarket:
Bash
pip install asyncio aiohttp websockets python-dotenv py-clob-client
🔑 Часть 2: Доступ (Ключи)
Боту нужно разрешение на торговлю.
- Получите API-ключи: Перейдите в Polymarket → Настройки → API. Создайте ключ. Сохраните Key, Secret и Passphrase. Также нужен приватный ключ вашего кошелька (Экспорт из Metamask/Phantom). ИСПОЛЬЗУЙТЕ НОВЫЙ КОШЕЛЕК!
- Создайте безопасный файл: Откройте VS Code. Создайте новый файл с именем .env. Вставьте свои ключи в этом точном формате:
Код
PRIVATE_KEY=0x... (приватный ключ вашего кошелька)
POLYGON_CHAIN_ID=137
CLOB_API_KEY=...
CLOB_SECRET=...
CLOB_PASSPHRASE=...
🤖 Часть 3: "No-Code" Промпты
Мы не пишем код. Мы просим ИИ (ChatGPT o1, Claude 3.5 или Gemini) написать его за нас. Копируйте эти точно.
Шаг A: Скрипт одобрения (Обязательно)
Вы должны авторизовать биржу тратить ваш USDC, иначе бот провалится.
Промпт для генерации
approve.py
:
"Write a Python script using py-clob-client to approve USDC for trading on Polymarket. Load PRIVATE_KEY from a .env file. Initialize the ClobClient on Polygon Mainnet (Chain ID 137). Call client.set_allowance to authorize the exchange to spend my USDC. Print 'Success' or the specific error message."
Этот скрипт находит активное 15-минутное окно, чтобы вам не пришлось искать вручную.
Промпт для генерации
scanner.py
:
"Write a Python script using aiohttp to query the Polymarket Gamma API. Goal: Find the currently active 15-minute Bitcoin or Ethereum market. Logic: Get current time in ET. Calculate the current 15-minute window (e.g., 10:00–10:15). Search
https://gamma-api.polymarket.com/public-search
for 'Bitcoin Up or Down' matching this window. Return the condition_id, token_id for YES/NO, and the end_time. Filter for markets ending in less than 20 minutes."
Шаг C: "Снайпер в последнюю секунду"
Промпт для генерации
sniper.py
:
"Write a high-frequency trading script using websockets and py-clob-client. Context: I have a target Condition ID and Token IDs. The Logic: Setup: Connect to wss://ws-subscriptions-clob.polymarket.com/ws/market to stream Level 1 (bids/asks). Monitor: Keep a local variable of the 'Best Ask' for the winning side. The Trigger: STRICTLY when Time Remaining <= 1 second (but > 0): Check if the winning side (Price > 0.50) is available below $0.99. Safety: Add a DRY_RUN boolean flag. If True, just print 'WOULD BUY'. If False, execute. Action: Send a 'Fill or Kill' (FOK) order for $0.99 using client.create_and_post_order. Speed: Use asyncio loop. Do not use time.sleep."
🧪 Часть 4: Как тестировать безопасно
Не запускайте это сразу на полную сумму.
- Режим сухого запуска: В сгенерированном
sniper.py
убедись, что DRY_RUN = True. Запусти python
sniper.py
. Следи за терминалом. Если видишь "WOULD BUY YES at 0.98 [Time 10:14:59]", логика валидна. - Тест на $1: Установи DRY_RUN = False. Жёстко закодируй SIZE = 1 (1 share = ~$1). Это ограничивает ваш риск ровно $1.00, пока вы тестируете задержку интернета.
🚀 Часть 5: Запуск
- Открой терминал в VS Code.
- Одобри: python
approve.py
(Нужно только один раз). - Сканируй: python
scanner.py
(Получи ID). - Снайпь: Скопируй ID в
sniper.py
и запусти python
sniper.py
Это был перевод https://x.com/thejayden/status/1995878076681535731 от https://t.me/maycrypto