Definitions
These definitions follow the current Fisherman coordinator and Move contract implementation.Core Terms
| Term | Meaning |
|---|---|
| Intent | A user’s on-chain order object. It escrows the sell asset and records sell token, buy token, remaining sell amount, minimum output, SBBO admission data, partial-fill preference, deadline, and target epoch. |
| Contract epoch | The on-chain AuctionState.current_epoch counter. It is used as a settlement safety boundary, not as a multi-phase on-chain auction machine. |
| Fisherman | The Execution Coordinator. It handles quote fanout, auction rounds, solver solution validation, winner ranking, certificate signing, retries, and settlement handoff. |
| Auction round | Fisherman’s off-chain batching object. It groups compatible open intents by sellType, buyType, and targetEpoch. |
| Solver | An execution provider that exposes HTTP endpoints for Fisherman, returns quotes and solutions, and settles winning certificates on-chain. |
| Solution | A solver response for an auction round. It contains intent ids, fills, gross payouts, protected minimums, score, expiry, and optional counter-leg data. |
| Score | Solver-declared integer used by Fisherman to rank valid solutions. The highest valid score wins; ties break by solver endpoint id. |
| Certificate | A signed authorization from Fisherman that lets the winning solver settle on-chain. It binds protocol/config ids, key version, live epoch, solver, token types, intent ids, fills, gross payouts, protected minimums, and expiry. |
| Protected minimum | The per-intent minimum payout carried in the certificate. Fisherman validates it against the user minimum, and contracts enforce it against the actual fill and post-volume-fee payout. |
| Settlement | The winning solver’s Sui PTB. It verifies the certificate, takes the authorized intent escrow, sources liquidity, delivers the exact signed gross payout, splits fees, and pays the user net output. |
Auction Round Statuses
| Status | Meaning |
|---|---|
collecting | Fisherman is grouping open intents until the collection window matures. |
solving | Fisherman is calling enabled solver endpoints. |
solved | A winner was selected and a certificate was issued. |
settling | Fisherman has sent the settlement request to the winning solver. |
settled | Settlement succeeded or was recorded as complete. |
expired | A round or certificate missed its deadline. |
failed | A round failed and can be retried by operator action. |
Certificate Statuses
| Status | Meaning |
|---|---|
issued | Fisherman signed the certificate. |
settling | Settlement is in progress. |
settled | Settlement completed. |
expired | Certificate is no longer usable. |
reissued | A newer certificate replaced it during retry. |
failed | Settlement failed. |
Parameters
| Parameter | Meaning |
|---|---|
min_solver_stake | Minimum stake a solver must keep in the on-chain SolverRegistry to be active. |
min_batch_collect_ms | Minimum time before the on-chain epoch can advance. On-chain default: 10000. |
CERTIFICATE_TTL_MS | Fisherman certificate time-to-live. Code default 45000; testnet 45000. |
COLLECTING_WINDOW_MS | Fisherman collection window before solving a round. Code default 15000; testnet 6000. |
QUOTE_RESPONSE_WINDOW_MS | Quote fanout response cap. Code default 1200; testnet 5000. |
SOLVER_TIMEOUT_MS | Per-solver HTTP timeout. Code default 2000; testnet 4000. |
DEFAULT_BATCH_SIZE | Default number of intents per round chunk. Default 4. |
MAX_BATCH_SIZE | Maximum intents in a solve request. Default 10. |
Current Non-Goals
The current implementation does not expose on-chainPairBenchmark, Allocation, Auctioneer, or multi-phase bid/selection objects. Those terms may appear in older mechanism notes, but they are not the current Fisherman and Move contract execution path.
Solution validation and ranking
Exact current validation rules.
Contracts
Move module responsibilities.