Journal

Notes on building payment systems.

Engineering decisions, explained in the open — including the trade-offs.

  1. Webhooks that survive retriesAt-least-once delivery, HMAC signatures over the raw body, replay windows and idempotency on event IDs — the parts that make webhooks safe to act on.
  2. Designing a payment state machine you can explain to supportFourteen states, each with a reason to exist. How we kept the GRYPHEM PAY lifecycle precise without making it unreadable.
  3. Confirmations are evidence, not a timerWhy GRYPHEM PAY counts confirmations per network and treats chain reorganisations as first-class events instead of edge cases.