One protocol fee, one keeper bounty, the usual Solana tx fee. No subscription, no admin-mutable rates.
Protocol fee — 20 bps
On execute_commitment, the program skims 20 basis points (0.20%) off the payment leg to the treasury ATA before the Jupiter swap runs. The remaining 99.80% of the payment is what Jupiter trades into target tokens.
The treasury address is a hardcoded constant in the program — a Squads v4 multisig (3-of-5 hardware-keyed). There is no admin function to change it after deploy.
Keeper bounty
Each commitment specifies a keeper_bounty in lamports that the keeper receives on successful execution. Defaults to 0.001 SOL in the UI; min 0.0001, max 1 SOL (program-enforced bounds).
The bounty is deposited as extra lamports on the Commitment account at create time and transferred directly to the keeper's wallet as part of execute_commitment. On cancel or expire, the bounty refunds to the owner along with the escrowed payment.
Rent + tx fees
The Solana platform fees for one full commitment lifecycle:
| Commitment PDA rent | ~0.00242 SOL (~220 bytes) |
| Payment vault ATA rent | ~0.00204 SOL (165 bytes) |
| Wallet wSOL ATA rent (if wSOL payment) | ~0.00204 SOL |
| Tx fee, create | ~0.00008 SOL |
| Tx fee, execute | ~0.00008 SOL (paid by keeper) |
| Tx fee, cancel | ~0.00005 SOL |
Rent is refundable: on cancel/expire/execute, the program closes the commitment + vault accounts and returns rent to the owner. Worst-case net cost if you create and immediately cancel: tx fees only, ~0.0001 SOL.
Concrete example
0.1 SOL commitment, filled by a keeper:
| You commit | 0.1 SOL |
| Protocol fee (20 bps) | 0.0002 SOL → treasury |
| Swapped via Jupiter | 0.0998 SOL → target tokens |
| You receive | target tokens at ≤ max_price |
| Keeper earns | 0.001 SOL bounty (minus their tx fee) |
| Your rent refund | ~0.00446 SOL on close |