The Webhooks Rewrite
Reliable webhooks are the backbone of any payments platform. We rebuilt our delivery pipeline from the ground up — at-least-once guarantees, idempotency keys, and per-endpoint backoff. Here's what changed and why it matters for your team.
Webhooks are deceptively hard. They look like "send an HTTP POST when something happens," but in practice they need to handle retries, ordering, idempotency, partial outages, and slow consumers — all while never silently dropping events.
Our previous pipeline was good enough for our launch volume, but we started seeing edge cases at scale: brief endpoint outages causing event backlogs, retry storms when consumers came back online, and the occasional duplicate that customers had to defend against in their own code.
The rewrite introduces three core changes. First, every event has a stable idempotency key that survives retries, so consumers can safely deduplicate. Second, retries use per-endpoint exponential backoff with jitter, isolating slow consumers from healthy ones. Third, the entire pipeline is observable end-to-end, with per-event traces in the dashboard.
For most customers, the change is invisible — events keep arriving, just more reliably. For customers operating at scale, the new system removes a class of incidents we used to apologize for. We're proud of how it turned out, and we'll keep iterating.