> ## Documentation Index
> Fetch the complete documentation index at: https://docs.solvapay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# April 2026 release

> Abstract credits, sandbox-first onboarding, Go-Live, usage-based plans, 2FA, cookie consent, and Console improvements.

## Abstract credits model

Credits are now stored as **abstract integers** rather than currency-denominated amounts. This decouples billing logic from specific currencies and simplifies multi-currency support.

**What changed:**

* Customer balances are a single `{ balance, currency }` object instead of a per-currency array
* A new `creditsPerMinorUnit` field defines how credits map to the provider's currency (e.g. 100 credits = 1 USD cent)
* `displayExchangeRate` lets the frontend show USD-equivalent values regardless of the provider's settlement currency
* Provider currency is locked after the first transaction to prevent inconsistencies
* Credit topup webhook processing is now idempotent

<Info>
  Plans that previously used `pricePerUnit` now use `creditsPerUnit`. See [Plans overview](/plans/overview) for the updated schema.
</Info>

## Sandbox-first onboarding

New providers now start directly in a **sandbox environment** instead of being routed through Stripe setup on first sign-up. This removes friction from the onboarding flow and lets providers explore the platform before connecting a payment processor.

* Sandbox is the default environment for new accounts
* Stripe provisioning is non-blocking — providers can set up payments later
* Sandbox comes with sample data for faster testing
* Dev tools include a new **Clear all data** option alongside the existing reset

## Go-Live flow

A new **Go Live** modal guides providers through the transition from sandbox to production.

* **Stripe OAuth popup**: connects a Stripe account without leaving the SolvaPay Console
* **Copy products toggle**: optionally migrates sandbox products and plans to the live environment
* **Validate-only OAuth linking**: verifies the Stripe connection before committing
* **Environment switcher intercept**: prompts providers who try to switch environments manually
* **Checklist gating**: blocks the "Next" button while validation is in progress
* Improved security on the OAuth connection flow

## Unified plans array

Products now store all plans in a single `plans[]` array instead of separate `freePlan` and `paidPlans` fields.

**What changed:**

* `freePlan` and `paidPlans` merged into `plans[]`
* `requiresPayment` is now **derived on the backend** from plan `price`, `creditsPerUnit`, and `type` — clients no longer send it
* A `pricingMode` field is used on the frontend for UI display logic
* Default plan, name, and description fields added to product plans

<Warning>
  If you previously sent `requiresPayment` in plan creation requests, remove it. The backend now determines this automatically.
</Warning>

## Usage-based plans

Full support for usage-based plans across the platform:

* Usage plans in product onboarding with sub-cent configuration
* Plan selection in checkout and customer account pages
* Usage paywall enforcement in the SDK and MCP server
* `trackUsage` helper and Usage Simulator added to the SDK checkout demo
* USD equivalent display in usage-based plan previews

## Two-factor authentication

Two-factor authentication is now available for all provider accounts and **required to go live**.

* Set up and manage 2FA from the **Account** page in the SolvaPay Console
* 2FA is a required step in the Go Live checklist — it can be configured inline without leaving the wizard
* Backup codes are generated during setup for account recovery

## Cookie consent

GDPR-compliant cookie consent is now shared across `solvapay.com` and `app.solvapay.com`.

* Accept or decline cookies once — your preference carries across all SolvaPay subdomains
* Manage preferences (Necessary / Analytics) at any time from the cookie banner
* All analytics scripts are gated behind consent

## SolvaPay Console

* New **ProductQuickStart** card on the home page with ready-to-paste integration snippets for CLI, Agent Skill, and environment variables
* **Product selector** dropdown for providers with multiple products
* **Manage account** link shown after plan activation in checkout
* Faster manage account page loading with parallel data fetching

## SDK updates

* Types regenerated from the backend schema
* Multi-currency balances replaced with abstract credits
* `creditsPerMinorUnit` propagated from server through all SDK layers
* Usage paywall enforcement in the SDK and MCP server
* `trackUsage` helper and Usage Simulator added to the checkout demo
* Checkout demo: exchange rate applied to credit estimates, dynamic currency symbol padding
