Bootstrap and admin
Creates
GlobalConfig, fixes the deployment chain ID, derives the immutable message domain, and sets the initial config authority.Updates mutable configuration (
fee_recipient, fee_bps, registration_fee_lamports) and can nominate a pending config authority.Completes the two-step config authority handoff. Must be signed by the nominated pending authority.
Creates the singleton
TokenRegistry account after bootstrap.Adds one allowlisted settlement token to the registry and creates its vault token account PDA.
Nominates a pending registry authority.
Completes the two-step registry authority handoff.
Participants
Registers one wallet as one permanent participant. Assigns a monotonically increasing
participant_id and initializes the participant’s inbound channel policy.Sets whether inbound channels are permissionless, consent-based, or disabled for this participant.
Funding and withdrawals
Moves tokens from the caller’s token account into the protocol vault and credits the participant’s available balance for that token.
Lets one funder credit several participants for the same token in a single transaction (up to 16 recipients per call).
Starts a timelocked withdrawal for one token. Records the destination token account and moves the requested amount from
available_balance to withdrawing_balance.Cancels a pending withdrawal and returns the amount to
available_balance.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
Creates one permanent one-way payment channel from payer to payee for one token, respecting the payee’s inbound channel policy.
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.Starts a timelocked request to return some locked channel balance to the payer’s
available_balance.Completes the channel unlock after the timelock has elapsed.
Starts a timelocked rotation of the channel’s
authorized_signer (the key that signs agon-cmt-v5 commitments).Completes the
authorized_signer rotation after the timelock has elapsed.Settlement
Settles one
agon-cmt-v5 message against one channel. The caller must be the payee or the authorized_settler named in the message. See Direct settlement.Settles many
agon-cmt-v5 messages in one transaction for one payee. Each commitment must be for the same token and payee. See Bundle settlement.Settles one
agon-round-v4 message signed by the roster of participants, advancing many channels in one transaction and applying only the net residual balance changes. See Clearing rounds.Minimum useful subset
If you are building a provider, gateway, or agent client, the smallest useful subset is usually:initialize_participantdepositcreate_channel- optionally
lock_channel_funds settle_individualorsettle_commitment_bundle
settle_clearing_round.

