Skip to content

Accounting in Rhyza

Last reviewed: Oct 2, 2026

Rhyza uses double-entry accounting to record Interledger packet interactions. Every transaction—whether successful, failed, or rejected—is processed by Rhyza’s internal ledger and converted into financial records with equal and opposite entries between internal accounts.

Accounts within Rhyza are an FSP’s internal peer accounts used to fund payments, not the accounts of the FSP’s customers. This distinction is crucial for understanding how Rhyza handles transactions and settlements.

An asset represents a transferrable item of value. Although the Interledger Protocol (ILP) supports the transfer of any asset deemed to have value, assets are generally denominated in a currency. For example fiat currencies, central bank digital currencies, and branded currencies (such as merchant reward points).

Part of Rhyza’s integration requirements include adding one or more supported assets.

An asset is made up of the following properties.

PropertyTypeDescriptionExample
valueBigIntA numerical amount10000
assetCodeStringA code representing the asset. An ISO 4217 currency code should be used whenever possible."USD"
assetScaleIntegerThe display scale of the asset, used to format human-readable amounts.2

While the assetScale is used for display purposes, Rhyza’s internal ledger operates at a fixed high precision (scale 20). All accounting entries are stored at this scale to ensure consistent precision across all types of assets and transactions.

To convert an asset’s value into an amount that’s easier to interpret, apply the following formula.

= currencyAmount

Using the example data from the preceding table, the formula looks like this:

100.00 USD

Rhyza uses liquidity accounts to track the amounts available to fund transactions. Rhyza doesn’t physically hold funds in each account; instead, it uses double-entry accounting to record the transactions. The actual settlement of amounts owed, in which funds are physically exchanged, occurs outside of both Rhyza and the Interledger Protocol.

In Rhyza, liquidity is tracked exclusively for peering relationships.

Rhyza manages peer liquidity through a set of specialized accounts for each peering relationship in an asset-specific ledger. These accounts work together to track and enforce liquidity limits using a two-phase commit process.

Every peer relationship involves four primary ledger accounts (and their internal system counterparts):

Account typeWhat the account represents
LiquidityTracks pre-funded capital or credit lines. This is where settlement deposits are recorded.
ClearingTracks the net balance of successful Interledger packet exchanges.
SuspenseTemporarily holds funds during the two-phase commit (reservation) process.
FSP accountsInternal “Accounting System Entity” accounts that serve as counterparties to maintain double-entry integrity.

When a transfer is initiated, Rhyza verifies that the peer has sufficient liquidity by summing the balances of their Clearing and Liquidity accounts:

A transfer is only processed if the is greater than or equal to the transfer amount. This allows a peer’s clearing balance to become negative (representing a net obligation) as long as it’s collateralized by a sufficient positive balance in their liquidity account.

Rhyza uses a two-phase commit to ensure ledger consistency:

  1. Reservation: Funds are moved from the sender’s Clearing Account to their Suspense Account.
  2. Commit: If the payment is fulfilled, the reservation is released (moved from Suspense back to Clearing) and the final transfer is recorded from the sender’s Clearing Account to the receiver’s Clearing Account.
  3. Reject: If the payment fails or is rejected, the reserved funds are moved from the Suspense Account back to the sender’s Clearing Account.