Changelog
Shipped in the open.
Every release of orvacon, with what changed and why. The API is 0.x and may move before 1.0 — anything not shipped yet is labeled as such.
Releases
v0.1.0first releaseJune 1, 2026
The first release you can take a real payment with: install orvacon, generate your schema, run a sandbox 3-D Secure payment end to end, then capture, refund, and verify a signed webhook.
Payments
- Iyzico 3-D Secure — the full two-step flow,
authorize → 3DS → capture → refund. The orchestrator persistsrequires_actionbetween the two 3DS requests and trusts the signed finalize response, never the raw callback POST. - Compile-time state machine —
created → authorized → captured → refunded, plusrequires_action,failed, andvoided, enforced through discriminated unions so an illegal transition won't type-check. - Money as integer minor units — a branded
Moneytype; floats never reach the core.
Security
- Ed25519-signed webhooks — orvacon signs outbound events with an asymmetric key, so a leaked verification key can't forge events. The gateway's own inbound signature is verified separately.
- Timing-safe by default — every signature and token comparison runs in constant time, never
===. - Hash-chained ledger — append-only and tamper-evident by construction, written in the same transaction as the state transition.
Database & tooling
- Default-deny RLS — the Supabase adapter generates a Postgres schema with row-level security locked down out of the box.
- Idempotency by constraint — enforced by a database unique constraint, not a cache.
npx orvaconand the Next.js adapter — scaffold schema and config from the CLI, then wire the callback and webhook routes withtoNextJsHandler.
v0.0.0initialApril 1, 2026
- Project scaffolding — the Bun + Turborepo monorepo, the package taxonomy (
paykit, connectors, adapters, cryptokit, CLI), and the@orvacon/*names reserved on npm. - The shape — a state machine wrapped around connectors, money typed as integer minor units, and payment state as a discriminated union.
- Placeholder CLI — the unscoped
orvaconpackage publishes sonpx orvaconruns, ahead of the real commands.
The raw release notes live on GitHub.
Built in the open
Watch it ship.
Every release is cut in public with changesets. Star the repo to follow along, or open an issue to shape what's next.