Description
Implement a Vercel Cron worker (decision D3) that claims PENDING/FAILED_RETRYABLE events and (re)submits via anchorProof, with: exponential backoff, an attempt cap -> FAILED_FINAL, retryable-vs-final classification (network/nonce/underpriced = retryable; revert/unauthorized = final), and idempotency (never double-submit one event).
Affected areas
backend/src/services/onchain.service.ts, a new cron route under backend/api/, backend/vercel.json (cron schedule).
Dependencies / order
Depends on #7.
Acceptance criteria
Definition of done
Description
Implement a Vercel Cron worker (decision D3) that claims
PENDING/FAILED_RETRYABLEevents and (re)submits viaanchorProof, with: exponential backoff, an attempt cap ->FAILED_FINAL, retryable-vs-final classification (network/nonce/underpriced = retryable; revert/unauthorized = final), and idempotency (never double-submit one event).Affected areas
backend/src/services/onchain.service.ts, a new cron route underbackend/api/,backend/vercel.json(cron schedule).Dependencies / order
Depends on #7.
Acceptance criteria
ANCHORED.FAILED_FINALwithanchorErrorpopulated.ProofAnchoredrecords.vercel.jsonand documented.Definition of done
staging(nevermain).stagingpreview stack.