MPP Channel Mode
wasit mpp-channel --target <url> [options]| Option | Default | Notes |
|---|---|---|
--target <url> | required | The paid resource |
--commitment-key <hex> | COMMITMENT_SECRET_HEX | Raw ed25519 seed, hex |
--network <id> | MPP_STELLAR_NETWORK | CAIP-2 |
--rpc-url <url> | testnet default | Soroban RPC |
--channel <address> | CHANNEL_CONTRACT | An assertion — see below |
--expect-token <address> | — | MPP-10 |
--expect-from <address> | — | MPP-10 |
--expect-to <address> | — | MPP-10 |
--expect-refund-period <n> | — | MPP-10, in ledgers |
--allow-destructive | off | Enables MPP-13 |
--destructive-channel <addr> | CHANNEL_CONTRACT_DISPOSABLE | Channel MPP-13 may close |
--json | off | Machine-readable output (see below) instead of formatted text |
MPP-10–12 and MPP-14 cost nothing. MPP-13 closes a channel permanently
and is skipped unless both --allow-destructive and a named channel are given.
--channel asserts, it does not select
The channel under test is resolved from the target's own 402 challenge, so every
check in a run reports on the same contract. --channel states which address
you expect that to be. When the two differ, MPP-10 fails and inspects
nothing — a run that reported on both would be reporting on two contracts at
once.
The --expect-* flags
MPP-10 verifies the channel's on-chain parameters against what you say they
should be. Only the channel's operator knows these, so without all four the
check is skipped rather than guessed at.
