> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reiy.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# Flow of an Intent

> How an intent moves from submission to settlement in Reiy Protocol.

# Flow of an Intent

An intent moves through Reiy as a protected object. The user locks funds, <Tooltip tip="The off-chain coordinator that runs solver competition and signs certificates; it holds no funds.">Fisherman</Tooltip> coordinates solver competition, and <Tooltip tip="The on-chain step where the winning solver delivers your tokens and fees are split.">settlement</Tooltip> succeeds only if Move contracts verify the signed result.

```mermaid theme={null}
flowchart LR
    A[Submit intent] --> B[Indexed]
    B --> C[Grouped into a round]
    C --> D[Solvers compete]
    D --> E[Winner gets a certificate]
    E --> F[Settled on-chain]
```

For the full set of sequence and state diagrams, see [Architecture](/reiy-protocol/reference/architecture).

## 1. The user submits an intent

The user chooses the sell token, buy token, amount, minimum payout, deadline, slippage tolerance, and partial-fill preference. The app builds a transaction with the contracts SDK and submits it to the Reiy Move contracts.

At admission, the protocol applies <Tooltip tip="Slippage-Bounded Best Offer: the on-chain admission floor from a fair market price after slippage.">Slippage-Bounded Best Offer (SBBO)</Tooltip>. If the user's minimum is too far below the oracle-anchored fair price after slippage tolerance, the intent is rejected.

## 2. The intent is indexed

The indexer reads Sui checkpoints, decodes Reiy events and object changes, and writes protocol state for coordinators, solvers, and dashboards.

## 3. Fisherman creates an auction round

Fisherman groups open intents that share the same token pair and <Tooltip tip="An on-chain counter used as a settlement safety boundary.">epoch</Tooltip> into a round. After the collection window closes, it asks registered solvers to solve the round.

## 4. Solvers compete

Each solver returns a proposed <Tooltip tip="A solver's proposed fills and payouts for a round, plus a score.">solution</Tooltip>: how much of each intent it fills, the payout, a <Tooltip tip="The guaranteed floor in the certificate; any settlement below it is rejected.">protected minimum</Tooltip>, and a <Tooltip tip="The number Fisherman ranks solutions by; the highest valid score wins.">score</Tooltip>. Fisherman validates every response and selects the highest valid score.

## 5. Fisherman signs a certificate

For the winning solution, Fisherman signs a settlement <Tooltip tip="The signed authorization that lets the winning solver settle on-chain.">certificate</Tooltip>. The certificate names the solver and the exact per-intent payouts, and it expires after a short window.

## 6. Settlement executes on-chain

The winning solver settles in a single Sui transaction. The contracts verify the signature, the solver, the epoch, the deadline, and each user's protected minimum before any funds move. If any check fails, settlement aborts and the escrow stays put.

<CardGroup cols={2}>
  <Card title="Epoch and auction lifecycle" href="/reiy-protocol/concepts/how-it-works/epoch-lifecycle">
    Understand contract epochs and Fisherman statuses.
  </Card>

  <Card title="Track settlement" href="/reiy-protocol/tutorials/traders/track-settlement">
    See trader-facing settlement outcomes.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.