agon-cmt-v5 message for its own channel. The payee settles several of those messages together with settle_commitment_bundle.
Why it exists
Without bundling, a provider receiving payments from many clients would submit one settlement transaction per payer. Bundle settlement lets the provider move several channels forward in a single transaction while keeping payer-side signing independent. It is not multilateral netting. Each channel still settles independently — the bundle only compresses transaction count and per-transaction overhead.Bundle requirements
All bundle entries must:- point to the same payee
- use the same token
- reference unique channels
- have a valid current signer for each channel
- have a submitter that is allowed for each message
Account layout
The bundle instruction keeps its fixed accounts small:payee_accountsubmitter
remaining_accounts. For each bundle entry, the transaction passes:
- the payer participant account
- the corresponding
channel-v2account
remaining_accounts:
What the program verifies
For each entry, the program checks:- The Ed25519 signature is present and valid.
- The signed message parses as
agon-cmt-v5. - The token is allowlisted and matches the rest of the bundle.
- The passed channel is the canonical
channel-v2PDA for that payer, payee, and token. - The signer matches the channel’s
authorized_signer. - The cumulative amount moves forward.
- The payer has enough total balance.
CommitmentBundleSettled event summarizing the batch.
Example
settle_commitment_bundle cross-checks each signature against its corresponding channel.
Operator payment inside a bundle
If an operator also needs to be paid, model that payment as its own channel and settle it separately, or include it in a cooperative clearing round. Do not try to embed operator fees inside a bundle entry —agon-cmt-v5 does not carry that field for good reasons. See Operator payment is separate.
When to use this path
Choose bundle settlement when:- One payee is collecting signed commitments from many payers in the same token.
- You want transaction compression without requiring every participant to coordinate.
- The paying side prefers independent, unilateral signing.

