Direct settlement is the simplest settlement path. One payer signs oneDocumentation Index
Fetch the complete documentation index at: https://docs.ryvo.network/llms.txt
Use this file to discover all available pages before exploring further.
ryvo-cmt-v5 message for one channel. The payee submits it with settle_individual.
What the message represents
The signed message does not say “charge 25 more.” It says: “this channel is now authorized up to cumulative amountX.”
The program compares that new cumulative amount to the channel’s current settled_cumulative and settles only the difference. That is why the payee only needs to hold the newest valid message, everything older is superseded.
See Commitments for the cumulative model in depth.
What the program verifies
Whensettle_individual runs, the program checks:
- The Ed25519 instruction is present and self-contained.
- The signer matches the channel’s current
authorized_signer. - The signed
message_domainmatches the deployment. - The message’s payer, payee, and token match the passed participant accounts and channel.
- The submitter is the payee owner.
- The new cumulative amount is strictly greater than the existing
settled_cumulative. - The payer has enough total balance, counting channel-specific locked balance first and shared participant balance second.
What changes on-chain
If the checks pass, the program:- Advances
channel.settled_cumulative. - Consumes any needed
locked_balance. - Debits the payer’s shared balance for any remaining amount.
- Credits the payee.
- Emits an
IndividualSettledevent.
Example
When to use this path
Choose direct settlement when:- One payer and one payee interact repeatedly.
- You want the smallest possible protocol surface.
- You do not yet need bundle or cooperative compression.
- You want an always-available fallback regardless of cooperation state.
