Contract call sequence
- Call
settlement::verify_solutionto verify the coordinator certificate. - Call the authorized take function for each intent to receive escrowed sell coins.
- Execute liquidity sourcing or internal netting as needed.
- Call
settlement::settle_intentto deliver payouts and finalize each intent.
Required checks
- Certificate has not expired.
- Solver sender matches the certificate.
- Intent IDs, fills, gross payouts, and protected minimums align.
- The target epoch matches live protocol state.
- User floors and partial-fill rules are preserved.
Single-transaction shape
Winning solvers should settle in one Sui programmable transaction block. The transaction verifies the certificate, takes authorized escrowed sell coins, executes liquidity sourcing, and returns the required buy-token payouts. If any check fails, the transaction aborts and user escrow does not move.Fee handling
The settlement contract receives the gross payout coin and applies configured protocol fees. User net payout must remain above the protected minimum, solver fee share is paid during settlement, and the protocol share is deposited into the relevant fee vault.Related Topics
Fisherman integration
Coordinator-to-solver API flow.
Fees and safety
User-facing protections.