Skip to main content
The winning solver submits a Sui programmable transaction block using the Reiy contracts and SDK bindings.

Contract call sequence

  1. Call settlement::verify_solution to verify the coordinator certificate.
  2. Call the authorized take function for each intent to receive escrowed sell coins.
  3. Execute liquidity sourcing or internal netting as needed.
  4. Call settlement::settle_intent to 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.

Fisherman integration

Coordinator-to-solver API flow.

Fees and safety

User-facing protections.