什么都不会发生:Polymarket 机器人,始终在非体育市场买入“否”。
Nothing Ever Happens: Polymarket bot that always buys No on non-sports markets

原始链接: https://github.com/sterlingcrispin/nothing-ever-happens

这个Python机器人是为Polymarket设计的,专门用于自动购买独立、非体育类“否”期权——**仅供娱乐,风险自负。** 它采用“什么都不会发生”策略,扫描低于设定价格的“否”选项。 该机器人包含一个监控仪表盘,持久化状态以便恢复,并跟踪持仓。它可以运行于模拟交易或实盘交易模式,后者需要API密钥、钱包地址和数据库/RPC URL的环境变量。 配置通过`config.json`(运行时设置)和`.env`(密钥)进行管理。部署针对Heroku,并提供用于管理应用程序、访问日志和检查数据库信息的脚本。关键脚本允许进行数据库导出、钱包历史分析和日志解析。本地配置和部署工件被版本控制有意忽略。

一场 Hacker News 的讨论围绕着 Sterling Crispin 创建的一个 Polymarket 机器人,该机器人会自动购买预测市场中“否”的结果,不包括体育赛事。该机器人利用了大多数 Polymarket 事件最终结果为“否”的观察结果,旨在从这一趋势中获利。 评论者们争论该策略的可行性,指出高赔率、低概率投注的数学挑战以及有影响力的人可能操纵事件结果的潜力。人们对预测市场的非监管性质以及“拉高抛售”计划的可能性表示担忧。 几位用户指出该机器人的局限性,包括需要低买(低于 0.73,理想情况下在 0.5 左右)以及市场可能充斥着不太可能发生的投注的风险。另一些人强调市场本身对心理的影响,可能会夸大感知到的概率。作者报告 Polymarket 上“否”的历史解决率为 73.4%,但评论员指出支付结构会影响盈利能力。在讨论期间,GitHub 出现故障,阻碍了对机器人代码的访问。
相关文章

原文

Focused async Python bot for Polymarket that buys No on standalone non-sports yes/no markets.

FOR ENTERTAINMENT ONLY. PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK. THE AUTHORS ARE NOT LIABLE FOR ANY CLAIMS, LOSSES, OR DAMAGES.

Dashboard screenshot

  • bot/: runtime, exchange clients, dashboard, recovery, and the nothing_happens strategy
  • scripts/: operational helpers for deployed instances and local inspection
  • tests/: focused unit and regression coverage

The bot scans standalone markets, looks for NO entries below a configured price cap, tracks open positions, exposes a dashboard, and persists live recovery state when order transmission is enabled.

The runtime is nothing_happens.

Real order transmission requires all three environment variables:

  • BOT_MODE=live
  • LIVE_TRADING_ENABLED=true
  • DRY_RUN=false

If any of those are missing, the bot uses PaperExchangeClient.

Additional live-mode requirements:

  • PRIVATE_KEY
  • FUNDER_ADDRESS for signature types 1 and 2
  • DATABASE_URL
  • POLYGON_RPC_URL for proxy-wallet approvals and redemption
pip install -r requirements.txt
cp config.example.json config.json
cp .env.example .env

config.json is intentionally local and ignored by git.

The runtime reads:

  • config.json for non-secret runtime settings
  • .env for secrets and runtime flags

The runtime config lives under strategies.nothing_happens. See config.example.json and .env.example.

You can point the runtime at a different config file with CONFIG_PATH=/path/to/config.json.

The dashboard binds $PORT or DASHBOARD_PORT when one is set.

The shell helpers use either an explicit app name argument or HEROKU_APP_NAME.

export HEROKU_APP_NAME=<your-app>
./alive.sh
./logs.sh
./live_enabled.sh
./live_disabled.sh
./kill.sh

Generic deployment flow:

heroku config:set BOT_MODE=live DRY_RUN=false LIVE_TRADING_ENABLED=true -a "$HEROKU_APP_NAME"
heroku config:set PRIVATE_KEY=<key> FUNDER_ADDRESS=<addr> POLYGON_RPC_URL=<url> DATABASE_URL=<url> -a "$HEROKU_APP_NAME"
git push heroku <branch>:main
heroku ps:scale web=1 worker=0 -a "$HEROKU_APP_NAME"

Only run the web dyno. The worker entry exists only to fail fast if it is started accidentally.

Script Purpose
scripts/db_stats.py Inspect live database table counts and recent activity
scripts/export_db.py Export live tables from DATABASE_URL or a Heroku app
scripts/wallet_history.py Pull positions, trades, and balances for the configured wallet
scripts/parse_logs.py Convert Heroku JSON logs into readable terminal or HTML output

Local config, ledgers, exports, reports, and deployment artifacts are ignored by default.

联系我们 contact @ memedata.com