b7b1487175
Polymarket geoblocks order placement by IP and Railway ran the worker in a US region — fine for the paper bot (reads only) but a dead end for going live. Fly arn (Sweden, unrestricted, ~25ms from the CLOB's eu-west-2 primaries) passes: geocheck VERDICT TRADABLE, pm geoblock blocked:false. - host/geocheck.py: 3-probe geo-gate verdict (ipinfo, pm /api/geoblock, unauth CLOB order POST); --idle keeps a test machine up - host/start.sh: geocheck at boot (GEOCHECK_ONLY=1 = probe-and-idle test mode, no second book-writer); warns loudly if a region is blocked - fly.toml/fly.Dockerfile: wwf-copybot, single machine, http_service :8080 for the Alchemy push webhook (now wh_blf4qjjvfdbqs9mc -> fly.dev domain) - deploy_bot.sh: railway redeploy -> flyctl apps restart + banner wait Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
26 lines
918 B
TOML
26 lines
918 B
TOML
# Fly.io config for the copybot worker — region must be a country Polymarket
|
|
# does NOT restrict (https://docs.polymarket.com/developers/CLOB/geoblock).
|
|
# Surprises on the restricted list: US, UK, France, Germany, Italy, NL,
|
|
# Poland, Singapore, Australia, Ontario (yyz), and BRAZIL (no gru). Of Fly's
|
|
# 2026 region set that leaves arn (Stockholm), jnb (Johannesburg), bom
|
|
# (Mumbai). arn wins: allowed + ~25ms from the CLOB primaries (eu-west-2
|
|
# London), so copy lag improves vs any LatAm box.
|
|
app = "wwf-copybot"
|
|
primary_region = "arn"
|
|
|
|
[build]
|
|
dockerfile = "fly.Dockerfile"
|
|
|
|
# public HTTPS endpoint for the Alchemy push webhook (POST /alchemy);
|
|
# the bot binds $PORT or 8080. An always-on worker: never auto-stop.
|
|
[http_service]
|
|
internal_port = 8080
|
|
force_https = true
|
|
auto_stop_machines = "off"
|
|
auto_start_machines = true
|
|
min_machines_running = 1
|
|
|
|
[[vm]]
|
|
size = "shared-cpu-1x"
|
|
memory = "512mb"
|