The on-chain Anchor program exposes four instructions. Everything else is account state.

create_commitment

Initialises a new Commitment + PaymentVault, pulls escrow.

signerowner (creator + sole canceler)
argsCreateCommitmentArgs (see Commitments page)
createsCommitment PDA, payment vault ATA
transferspayment_amount from owner's ATA → vault
errorsInvalidPrice, InvalidMinFill, ExpiryInPast, BountyTooLow, UnsupportedPaymentMint, UnsupportedExtension, SameMint

execute_commitment

Permissionless. CPIs Jupiter, enforces bounds, pays bounty.

signerkeeper (anyone with SOL)
argsswap_data: Vec<u8> — Jupiter sharedAccountsRoute payload
remaining accountsprogramAuthority + programSourceTokenAccount + programDestinationTokenAccount + per-AMM tail
trigger gateTriggerNotReached if timestamp condition unmet
expiry gateExpired if now ≥ expiry_ts
fee20 bps payment → treasury via signed TransferChecked
boundstokens_out ≥ min_fill AND effective_price ≤ max_price (post-CPI reload)
errorsPriceCapExceeded, MinFillNotMet, InvalidRouteDiscriminator, InvalidJupiterProgram, WrongOutputMint, UnsupportedExtension, BadTreasury

cancel_commitment

Owner-signed. Refunds payment and bounty, closes accounts.

signermust equal commitment.owner
errorsNotOwner, NotActive

expire_commitment

Permissionless after expiry_ts.

signerany keeper
errorsNotYetExpired, NotActive

Commitment account state

See Commitments → Fields for the full field-by-field breakdown.