Skip to main content

How retries work

Failed webhook deliveries retry up to five times (1 min → 5 min → 30 min → 2 h → 24 h). Most of the time, retries run inline: whenever Payoes dispatches a new payment event, it processes any due retries first. That covers busy deployments without extra infrastructure. On quiet deployments, the web app also runs a background retry pass every five minutes. It starts automatically with the Next.js server via instrumentation.ts — no cron jobs or external schedulers required.

Self-hosted requirements

  • Run exactly one web replica so background workers are not duplicated.
  • Restart the app after changing environment variables.

Health check

GET /api/health returns worker status, including the Horizon settlement stream when enabled.

Troubleshooting