What’s shipped.
Notable shipments since the first commit on 2026-04-18. Pre-launch — the first user-facing release notes will arrive once external merchants are live.
- v0.4.0-payment-links· 2026-06-10Feature
Reusable payment links — scan-and-pay, “name your price”, and guest checkout
One link that collects many payments. Create a reusable payment link (opensettle.io/pay/<token>) backed by a fixed amount, a saved one-time price, or an OPEN amount the buyer names — a “name your price” / tip-jar / top-up flow with an optional minimum, maximum, and quick-pick presets. Buyers check out as guests: no email or account required, just scan and pay. One-time charges got simpler too — a hosted checkout can now carry an inline ad-hoc amount, so a one-off no longer needs a pre-created invoice or price. The new payment_links resource (create / list / deactivate) is live across the API, all four SDKs (Node, Python, Go, Rust), the OpenAPI spec, and the Postman collection, with a new payment-links guide in the docs. The webhook event catalog is now documented end-to-end and identical across every SDK — 41 events, one source of truth.
Details - infra-notice-github· 2026-06-03Notice
Our GitHub got flagged again — turns out we ship too hard for the robots
Transparency note, with a side of self-roast. GitHub's automated spam filter flagged the OpenSettle org again. The crime? Shipping too fast — multi-hundred-file commits landing at odd hours, day after day, apparently pattern-matches to 'bot' more than 'caffeinated founder.' We'll take it as a compliment. Here's what it is NOT: not a breach, not a security incident, not anything touching your data or your money. It's a visibility flag on our GitHub *profile* — and because OpenSettle is non-custodial, your funds were never anywhere near a repo to begin with. The payments API, dashboard, checkout, SDKs, and webhooks are all running completely normally. While we appeal, we're standing up a backup GitHub mirror and pointing the site's repo links there, and the 'Continue with GitHub' sign-in option flips back on the moment the mirror's OAuth app is live. Google sign-in and passkeys never went anywhere — use those in the meantime. We'll drop the mirror link right here once it's up.
- v0.3.0-buyer-flow· 2026-05-31Feature
Buyer chain+token picker, late-arrival recovery, payment receipt email
Four merchant-visible UX wins from a multi-agent hostile-buyer audit pass. (a) Buyers now pick their preferred (chain, token) at the hosted checkout from the merchant's verified wallets — no more 'merchant chose Base, buyer only has Polygon' deadlock. Brand-color ChainGlyph + gas-cost hint + a slow-settlement disclaimer for Polygon. (b) Late-arrival recovery: when a buyer paying from a CEX has their withdrawal land AFTER the checkout's 30-min expiry, the page now surfaces 'we got your payment, contact the merchant' with the tx hash + explorer link instead of a dead-end 'session expired'. There's also a +30-min CEX-withdrawal grace timer the buyer can self-serve. (c) Buyers get a confirmation email on every paid checkout (any chain) with tx hash + explorer URL — handy if their tab closed before SuccessPanel rendered. (d) 'I broadcast it' button — buyers can paste their tx hash for self-serve confirmation when our chain-reader hasn't caught up to their wallet yet.
Details - v0.2.3-hardening· 2026-05-30Security
Security hardening pass — concurrent-buyer race, reorg guard, response-body cap
Eight defenses shipped across the chain-ingest, webhook-delivery, and subscription-lifecycle paths after a multi-agent audit + live pen-test sweep. Highlights: concurrent prepare-payment requests on the same checkout now serialize cleanly (no more duplicate pending rows), a pre-promotion canonical block-hash check rejects payments whose underlying block was reorged out during the confirmation window, webhook response bodies are stream-read with a 64KB cap (defends the deliverer against malicious-merchant memory exhaustion), restricted-jurisdiction code normalisation strips Cyrillic / Greek / zero-width homoglyphs before matching, and plan-change validates currency-token peg + refuses mutations to cancel-scheduled subscriptions. 1640+ tests pass, zero CVEs. Platform security posture at /docs/security.
Details - v0.2.2-attribution· 2026-05-29Feature
Per-buyer payment matching — concurrent buyers and rounded amounts both attribute correctly
Two reliability fixes that change merchant experience on busy wallets. (a) Per-buyer tokenAmountBase jitter: every pending payment gets a deterministic sub-cent micro-offset (max ~$0.01) so two concurrent buyers paying the same plan price never collide on the on-chain matcher. (b) Close-match auto-promote: a buyer who rounds the displayed amount (e.g. sees 0.501995 USDC, sends 0.50) now has their pending row auto-credited if the received amount is within ±2% of expected and the linked checkout is still active. Across all three rails (EVM, Solana, Tron). Conceptual overview in the docs.
Details - v0.2.2-event-dedup· 2026-05-28Security
Webhook event deduplication for terminal lifecycle events
Terminal-state events (payment.confirmed, checkout.succeeded, subscription.created, invoice.paid, etc) now carry a deterministic dedup_key. A partial unique index on (workspace_id, dedup_key) makes a second emission of the same logical event a no-op via ON CONFLICT — and the webhook fan-out is skipped, so your endpoint never sees a duplicate delivery for the same payment confirmation, no matter how many times an operator-triggered cursor rewind or a chain-reader retry re-processes the underlying tx. Non-terminal events (payment.pending, sub.renewed) emit unbounded as before. Replay button on the dashboard bypasses the dedup so legitimate replays still work.
Details - v0.2.2-volume-pricing· 2026-05-27Feature
Volume pricing restored — 1% / 0.85% / 0.65%
Reverted the 2026-05-18 flat-0.6% experiment back to the cascading volume model: 1% on the first $50k of monthly volume, 0.85% from $50k to $250k, and 0.65% above $250k — charged tax-bracket style so each slice is priced at its own rate. Fees accrue at confirmation; funds always settle directly to your wallet on-chain. Still no setup fee, no monthly minimum, no subscription.
Details - v0.2.1-pricing-simplify· 2026-05-21Feature
Pricing simplified to a single live tier
Removed the Compliance Pack and Enterprise tiers from /pricing. Compliance Pack was a SOC-2-engagement-letter-gated waitlist that conflicted with our updated 'Exploratory' framing on the Trust Center and Security pages; Enterprise targeted licensed-operator segments we're de-emphasising. At the time, Base pricing was 0.6% flat per settlement, non-custodial, no minimums, no monthly fee — that flat rate was itself reverted to the cascading 1% / 0.85% / 0.65% volume model on 2026-05-27 (see the entry above). Higher-volume customers can write to sales@opensettle.io for a scoped contract. Backend tier enums and admin workspace plans are unchanged so existing integrations and bookmarked links still resolve.
Details - v0.2.1-legal-posture· 2026-05-21Security
/legal/non-custodial-architecture page published
Canonical legal-posture page introduced — flow diagram in prose, full 'what OpenSettle is NOT' list (money transmitter, MSB, bank/trust, custodian, fiduciary, broker-dealer, exchange, investment adviser, commodities intermediary) aligned verbatim to clause 10 of the Terms of Service, and a procurement-pasteable summary block. Linked from the footer Legal column.
Details - v0.2.0-tier4· 2026-05-18Feature
Tier 4 pricing rewrite — flat 0.6% + Compliance Pack
Replaced the cascading Starter/Growth/Scale rates with a single 0.6% flat per-settlement rate. A higher tier bundled additional contractual and compliance support (indemnified MSA, dispute SLA) — since removed on 2026-05-21, see the entry above. Enterprise (gated to $5M+/yr volume) was $50K+ platform fee + 0.3% per settlement.
Details - v0.2.0-vps· 2026-05-17Security
Platform moved to single-VPS deployment
Web, API, workers, and Postgres consolidated onto a single Hetzner CPX22 VPS in Nuremberg. Replaces the prior Vercel + Fly + Supabase stack. Sub-processor list updated at /legal/sub-processors; data residency now eu-central.
Details - v0.1.0-pricing· 2026-05-02Feature
Cascading pricing introduced (since superseded)
Starter 1.0% / Growth 0.85% / Scale 0.65% / Custom <0.5%. Superseded on 2026-05-18 by flat 0.6% pricing — see the entry above.
Details - v0.1.0-sdk· 2026-05-01Feature
TypeScript SDK published to npm
@opensettle/sdk@0.1.0 — typed end-to-end against the v1 API. Signed-webhook verifier, idempotent writes, and bounded retries built in.
Details - v0.1.0-audit· 2026-04-25Security
Platform security audit
OWASP-aligned threat modeling completed and remediated. 10 P0/P1 fixes shipped covering webhook-secret encryption, SSRF guards on outbound delivery, refund-recipient pinning, and step-up auth on every high-blast-radius route.
Details - v0.1.0-mainnet· 2026-04-22Launch
Mainnet settlement live
Multi-chain settlement live on Base, Ethereum, Polygon, and Arbitrum (USDC). Solana (USDC) and Tron (USDT) crypto-verified end-to-end (Ed25519, secp256k1, TIP-191) and queued for first mainnet merchant.
- v0.0.0· 2026-04-18Launch
First commit
Repository opened. Build began.