Journal
Notes on building payment systems.
Engineering decisions, explained in the open — including the trade-offs.
- 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.
- 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.
- Confirmations are evidence, not a timerWhy GRYPHEM PAY counts confirmations per network and treats chain reorganisations as first-class events instead of edge cases.