# Solver Flow Summary Example

## Detect Intent

The Event Poller sees a user’s limit Intent for BTCUSDT at price X. This event is queued into the Position Manager.

## Decision & Lock

The Position Manager checks risk policy: “Is the price acceptable? Do we have enough allocated balance with the user? Are we whitelisted?” If yes, requests Web3 Agent to call `allocateAndLockQuote()`.

## Broker Hedge

Simultaneously, the Position Manager instructs the Broker-Order Maker: “Place a limit order on Binance at price X for the same quantity.” The Broker-Order Monitoring module watches for partial fills or a fill event from the exchange.

## Open Position On-Chain

Once the broker fill is confirmed (full or partial), the Position Manager calls `openPosition()`.&#x20;

## User Closing

At some point, PartyA requests a limit close. The Position Manager again places a corresponding close order on Binance. When the broker fill is confirmed, the Hedger calls fillCloseRequest() on-chain. The position is fully closed on both the broker and SYMMIO sides.

## Auditor (Optional)

A Position Validator confirms the final state matches: “Broker: no open position, Hedger DB: position closed, On-chain: position closed.” Monitoring & Developer Alerts remain watchful in case any mismatch arises (e.g., on-chain position open but broker order canceled, etc.).

<figure><img src="https://1257875949-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYQhBmTCs9MwhhuPQrV5v%2Fuploads%2FRDs6PRV38gSZDCkvF9aP%2Fimage.png?alt=media&#x26;token=9931e2f6-da91-49f0-b292-4e0d3afaed22" alt=""><figcaption><p><strong>Recommended Architecture for the Hedger</strong><br><strong>Green objects</strong> codes will be open sourced and provided by the SYMMIO team (ETA Nov/Dec 2023)<br><strong>Red objects</strong> should be developed by the MarketMaker.<br><strong>Purple objects</strong> are optional.</p></figcaption></figure>
