Skip to content

Changelog & versioning

  • The API version is a date. The current version is 2026-10-01, reported in every webhook as api_version.
  • Paths carry a stable major prefix (/v1). Within /v1:
    • Additive changes may ship at any time: new endpoints, new optional request fields, new response fields, new event types, new error code values. Write clients that ignore unknown fields and treat unknown codes by their type.
    • Breaking changes (removing or renaming fields, changing types or semantics) ship only in a new dated version, announced in this changelog in advance, with the previous version kept available for a documented period.
  • Webhook payloads follow the same rules. Pin your handling to event_type and api_version.
  • SDKs follow semantic versioning and state the API version they were generated against.

2026-10-21 — live-only platform and custodial live payments

Section titled “2026-10-21 — live-only platform and custodial live payments”

The platform is now live-only: every API key is a live key and every payment is real. Test API keys, test networks, the chain simulator and the public demo checkout were removed. Sign-up, organizations, stores, team invitations, business verification and support tickets are available to every account; live API keys, payment intents, checkout sessions and payouts are available once your account is activated, and are refused with feature_unavailable_error before that.

  • GET /v1/health gains test_mode_enabled (always false on this platform) and an additional environment value.
  • New error code test_mode_disabled for keys and payments that are not live.

Live payments are custodial: they are processed through the platform’s Bitcart account, GRYPHEM PAY holds the funds as your balance until you withdraw them through approved payouts. Accounts are activated for live payments only once every release gate is approved, including a new legal gate for custody and transfer authorisation. Additive API changes:

  • Balances and payouts: GET /v1/balances, GET /v1/payout-assets, GET /v1/payout-destinations, GET and POST /v1/payouts, GET /v1/payouts/{payout_id} and POST /v1/payouts/{payout_id}/cancel. Approving payouts and managing payout addresses are dashboard actions.
  • POST /v1/public/checkout-sessions/{id}/processor-invoice for live checkouts processed through Bitcart, and a nullable processor object on payment intents and public checkout sessions.
  • Webhooks payout.requested, payout.approved, payout.rejected, payout.canceled, payout.sent, payout.completed and payout.failed.
  • API key scopes balances:read, payouts:read and payouts:write; discrepancy kinds custody_uncredited and payout_attention.
  • Error codes live_processing_unavailable, allowed_networks_unsupported (live payments offer every asset the platform accepts), payouts_live_only and payouts_unavailable.
  • Payment intents, hosted checkout sessions, invoices and payment links.
  • Immutable quotes with the ceil_to_asset_base_unit rounding policy.
  • Watch-only (xpub) wallets with per-intent address derivation and ownership proofs.
  • Central state machine with underpaid, overpaid, late_payment, reorged and manual_review handling.
  • Signed webhooks (HMAC-SHA256, rotation with dual signatures), retries with backoff, dead letters and manual retry.
  • Reconciliation discrepancies, payment reports (CSV/JSON), billing usage and audit log.
  • SDKs: TypeScript, React helpers, webhook verifier, Python and Go.