cron

Register unwatched DRE wallets on the Alchemy webhook (cron)

Expected schedule: every 5 minutes.

Selects up to 500 user_wallets rows with status = ACTIVE and webhook_registered_at IS NULL, registers them on every configured Alchemy Address Activity webhook in a single request each, and stamps the ones every webhook accepted.

Registration at signup is best-effort, so this is what heals wallets whose call failed — without it they are never watched and their deposits produce no activity row. Deliberately capped at one Alchemy request per run so a large pending backlog drains steadily instead of bursting the API. Returns 200 with { pending, attempted, registered, failed }; pending is the outstanding count before this run and is the metric to alert on. Requires X-CRON-API-KEY matching CRON_API_KEY.

post/cron/webhook-addresses

Headers

X-CRON-API-KEYstring required

Must match CRON_API_KEY

Response

Reconciliation ran; body reports pending/attempted/registered/failed counts.

Changes