Skip to main content

Contracts

Reiy uses a hybrid architecture: quote collection, solve orchestration, scoring, and winner selection run off-chain in the Execution Coordinator (Fisherman); the Move contracts on Sui escrow user funds, verify the Coordinator’s signed solution, enforce each user’s protection, and split fees. Move 2024, DeepBook v3.

Core responsibilities

Modules

On-chain objects

Settlement flow (one PTB)

The winning solver settles in a single programmable transaction block:
  1. verify_solution: checks the signature, sender, epoch, token types, and expiry, then returns a SolutionAuth hot-potato.
  2. take_authorized_intent_full | take_authorized_intent_partial: per intent, in certificate order, receive the escrowed sell coin.
  3. Source liquidity and produce the payout: Coin<Buy>.
  4. settle_intent: deliver the payout. The contract splits fees, pays the user net, and pays the solver fee share.
There is no on-chain settlement phase gate; auction::phase_code() is a compatibility getter that always returns 0. The contract enforces epoch safety only: the signed epoch must equal the live AuctionState epoch and each intent’s target_epoch must match.

Events

IntentCreatedEvent, IntentCancelledEvent, IntentUpdatedEvent, EpochAdvancedEvent, SolutionAuthorizedEvent, SettlementEvent, SettlementFeeChargedEvent, BatchFeeSummaryEvent, SolverFeePaidEvent, ProtocolFeeCollectedEvent, SolverRegisteredEvent, SolverDeregisteredEvent, FeeVaultRegisteredEvent, ExecutionCoordinatorUpdatedEvent, ConfigUpdatedEvent, RoleGrantedEvent, RoleRevokedEvent.

Deployment addresses

Deployment addresses and verified source references are published with each testnet or mainnet release. See Smart Contracts for the current canonical references.

Definitions

Look up contract-facing protocol terms.

Scoring and ranking

Review off-chain validation and winner selection.
Last modified on June 23, 2026