Files
winning-wallet-finder_github/fly.live.toml
T
jaxperro df3c750efe live app goes push-mode: own Alchemy webhook + health check + watchdog
60s poll's ~39s avg detection lag is slippage the copy edge pays; push is
~3s (paper-measured). fly.live.toml gains http_service + /health check
(self-heal); start.sh live role switches on ALCHEMY_SIGNING_KEY like paper
(poll fallback intact; push mode keeps the 60s heartbeat + 5min backstop
poll). sync_webhook.py syncs BOTH webhooks (alchemy_webhook_id_live).
watchdog.yml probes both apps; a disarmed live app paging is expected.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 01:32:22 -04:00

43 lines
1.3 KiB
TOML

# Fly.io config for the REAL MONEY copybot worker — a SEPARATE app from the
# paper worker (wwf-copybot) so the two books never share a process, state
# file, or failure mode (LIVE_ROLLOUT Phase 3.3). Region rules: see fly.toml.
#
# The unarmed machine idles in geocheck --idle until the USER sets
# LIVE_PRIVATE_KEY + LIVE_FUNDER_ADDRESS + LIVE_CONFIRM (the typed
# confirmation phrase) via flyctl secrets set.
app = "wwf-copybot-live"
primary_region = "arn"
[build]
dockerfile = "fly.Dockerfile"
[env]
COPYBOT_ROLE = "live"
# public HTTPS endpoint for the live app's OWN Alchemy push webhook
# (POST /alchemy — added 2026-07-10; the 60s poll's ~39s avg detection lag
# is slippage the copy edge pays, push is ~3s). Its webhook + signing key
# are SEPARATE from the paper app's; the two books still share nothing.
[http_service]
internal_port = 8080
force_https = true
auto_stop_machines = "off"
auto_start_machines = true
min_machines_running = 1
# self-heal half of the watchdog (notify half: watchdog.yml → Discord).
# NB: an UNARMED live app idles in geocheck --idle (no HTTP server) — a
# failing health check while disarmed is expected, not a fault.
[checks]
[checks.health]
type = "http"
port = 8080
path = "/health"
interval = "30s"
timeout = "5s"
grace_period = "60s"
[[vm]]
size = "shared-cpu-1x"
memory = "512mb"