Skip to main content
This page lists every instruction the deployed Ryvo program exposes. Most integrations only need a small subset, see Minimum useful subset at the bottom.

Bootstrap and admin

instruction
Creates GlobalConfig, fixes the deployment chain ID, derives the immutable message domain, and sets the initial config authority.
instruction
Updates mutable configuration (fee_recipient, fee_bps, registration_fee_lamports) and can nominate a pending config authority.
instruction
Completes the two-step config authority handoff. Must be signed by the nominated pending authority.
instruction
Creates the singleton TokenRegistry account after bootstrap.
instruction
Adds one allowlisted settlement token to the registry and creates its vault token account PDA.
instruction
Nominates a pending registry authority.
instruction
Completes the two-step registry authority handoff.

Participants

instruction
Registers one wallet as one permanent participant. Assigns a monotonically increasing participant_id and initializes the participant’s inbound channel policy.
instruction
Sets whether inbound channels are permissionless, consent-based, or disabled for this participant.

Funding and withdrawals

instruction
Moves tokens from the caller’s token account into the protocol vault and credits the participant’s available balance for that token.
instruction
Lets one funder credit several participants for the same token in a single transaction (up to 16 recipients per call).
instruction
Starts a timelocked withdrawal for one token. Records the destination token account and moves the requested amount from available_balance to withdrawing_balance.
instruction
Cancels a pending withdrawal and returns the amount to available_balance.
instruction
Executes a pending withdrawal after the timelock has elapsed. Transfers the net amount to the destination and the protocol fee to the fee recipient.

Channels

instruction
Creates one permanent one-way payment channel from payer to payee for one token, respecting the payee’s inbound channel policy.
instruction
Moves part of the payer’s available_balance into this channel’s locked_balance. Locked funds cannot be withdrawn, cannot fund other channels, and can only be consumed by settlement against this channel.
instruction
Starts a timelocked request to return some locked channel balance to the payer’s available_balance.
instruction
Completes the channel unlock after the timelock has elapsed.
instruction
Starts a timelocked rotation of the channel’s authorized_signer (the key that signs ryvo-cmt-v5 commitments).
instruction
Completes the authorized_signer rotation after the timelock has elapsed.

Settlement

instruction
Settles one ryvo-cmt-v5 message against one channel. See Direct settlement.
instruction
Settles many ryvo-cmt-v5 messages in one transaction for one payee. Each commitment must be for the same token and payee. See Bundle settlement.
instruction
Settles one cooperative clearing-round message signed by the roster of participants, advancing many channels in one transaction under BLS aggregate signature verification. See Clearing rounds.

Minimum useful subset

If you are building a provider, gateway, or agent client, the smallest useful subset is usually:
  1. initialize_participant
  2. deposit
  3. create_channel
  4. optionally lock_channel_funds
  5. settle_individual or settle_commitment_bundle
If you are building a cooperative settlement coordinator, add settle_clearing_round.

See also