In Ryvo, a payment channel is one directional payment relationship from a payer to a payee for a specific token. In V5, channel state is stored in channel buckets. Each participant pair and token maps to a canonical lane inside a deterministic bucket.Documentation Index
Fetch the complete documentation index at: https://docs.ryvo.network/llms.txt
Use this file to discover all available pages before exploring further.
Why one-way
Ryvo channels are intentionally unidirectional because the common case is unidirectional:- one buyer paying one API
- one agent paying one tool
- one service paying one provider
What a lane stores
| Field | Meaning |
|---|---|
settled_cumulative | Highest cumulative amount already settled |
locked_balance | Funds reserved for this channel |
authorized_signer | Key allowed to sign unilateral payment updates |
pending_unlock_amount + unlock_requested_at | Timelocked unlock request |
pending_authorized_signer + authorized_signer_update_requested_at | Timelocked signer rotation request |
Creating a channel
The payer creates the channel and pays the account rent. The payee may also need to sign, depending on its inbound channel policy.null for authorized_signer, the protocol uses the payer wallet as the signing key by default.
Locked funds
Locked funds are optional. Use them when the payee wants guaranteed payment capacity on the channel. If funds are locked, settlement spends locked balance first and shared participant balance second. Unlocking is intentionally delayed:- The payer requests an unlock (
request_unlock_channel_funds). - The protocol waits through the configured timelock.
- The payer executes the unlock (
execute_unlock_channel_funds) and receives the remaining locked amount back intoavailable_balance.
Channel signing key
Each channel has one signing key for unilateral commitments. By default that is the payer wallet, but the payer can choose a different key at creation time or rotate it later.authorized_signer signs new cumulative payment amounts. It is the only signing key role on unilateral commitments.request_update_channel_authorized_signer- Wait through the timelock.
execute_update_channel_authorized_signer
Why channels are permanent
Older designs allowed channels to close and reopen. The current protocol removed that behavior. Permanent channels make the protocol easier to work with:- There is no close-and-reopen replay boundary.
- Payment channels stay stable for off-chain services.
- The protocol has fewer lifecycle rules to handle.
See also
- Commitments - the signed messages that flow over channels
- Balances and withdrawals
- Trust and collateral
- Direct settlement
- Account layouts
