Skip to content

Version 1.38 is a short-term support (STS) SaaS release that brings two features to general availability and introduces the following changes:

  • Omnibus general availability.
  • Gas Station general availability, with simplified onboarding.
  • Ledger accounting refactor, with support for negative balances.

Omnibus general availability

Following its beta release in version 1.36, Omnibus has been hardened and has now reached general availability.

Omnibus lets an organization hold pooled on-chain funds in an omnibus wallet while tracking each tenant's position off-chain with virtual accounts. Deposit wallets identify incoming funds, automated sweeps consolidate them into the omnibus wallet, and internal transfers between virtual accounts settle off-chain without blockchain fees.

Omnibus depends on the ledger accounting refactor, phase 1, delivered in Ripple Custody 1.34; Omnibus is not available without it. To adopt it on an on-premise deployment, follow the Ledger accounting phase 1 migration guide.

As part of the hardening, version 1.38 modifies the Omnibus API.

Version 1.38 also adds omnibus account creation to the Accounts page of the console. The console displays the omnibus pages only when the HMZ_FEATURE_OMNIBUS deployment flag is enabled.

For more information, see:

Gas Station general availability

Following its beta release in version 1.32, Gas Station has been hardened and has now reached general availability.

Gas Station funds transaction fees for sponsored accounts with just-in-time native-token funding. The hardening includes a simplified onboarding process that replaces the bot user with system-signed intents: instead of provisioning and protecting a bot-user signing key, you register the Gas Station service caller in your identity provider and create a policy with intentOrigin: "SystemSigned" that admits its funding intents.

As part of the hardening, version 1.38 modifies the Gas Station API.

Version 1.38 also adds gas station creation to the Accounts page of the console. The console displays the Gas station pages only when the HMZ_FEATURE_GAS_STATION deployment flag is enabled.

For more information, see:

Ledger accounting refactor

Version 1.38 continues the ledger accounting refactor that version 1.34 introduced. For the behavioral changes, the migration procedure, and known issues, see the Ledger accounting phase 1 migration guide.

Support for negative balances

The totalAmount and availableAmount attributes of the Balance object can now hold values below zero. The schema no longer restricts these fields to non-negative integers.

This change affects GET /domains/{domainId}/accounts/{accountId}/balances and every API response that returns the Balance data structure.

FieldBeforeAfter
totalAmounttype: string, minimum: 0, positive or zerotype: string, no minimum; negative, zero, or positive
availableAmounttype: string, minimum: 0, positive or zerotype: string, no minimum; negative, zero, or positive

The wire format remains string-encoded integers; the value can now carry a leading -. The reservedAmount and quarantinedAmount fields still accept only non-negative values.

A negative totalAmount or availableAmount represents an on-chain state of outstanding debt or liability. The primary example is XRPL Multi-Purpose Token (MPT) issuance: the platform records an issuer's balance for its own asset as negative relative to the circulating supply. With the Unified Indexer Service (UIS) v2, the balance shifts back toward zero as tokens burn or come back through clawback. On UIS v1, MPT clawbacks and burns don't credit the issuer; see XRPL MPT clawback and burn transfers.

Check your integration

If your integration parses these fields as unsigned values, or validates that balances are non-negative, update it to accept negative values before you upgrade.

Distribution and deployment

Ripple progressively deploys Version 1.38 across SaaS environments starting July 27, 2026.

Activation and support

Ripple takes great care in testing its applications and ensuring that there are no regressions or breaking changes. Should you experience unexpected behavior, reach out to the Support team by creating a ticket on our Support Portal or contact your Customer Partner Engineer (CPE).