# End To End

1. The user creates an intent using the Escrow smart contract on the source chain.
2. A hash of the intent details is stored in `orderStatus`.
3. An `OrderPlaced` event is emitted.
4. The Operator service, listening for the `OrderPlaced` event, detects the new intent.
5. The Market Maker (MM) calls the `mostFulfillOrders` function on the PaymentRegistry smart contract on the destination chain, using details from the `OrderPlaced` event.
6. The PaymentRegistry contract records the transaction details and transfers the funds to the user on the destination chain.
7. The Operator service, listens for the `FulfillmentReceipt` event from the PaymentRegistry contract.
8. Once the `FulfillmentReceipt` event is detected, the MM can either begin the proof process immediately or wait for better gas prices and batch proof their intent fulfillments.
9. When the proof process begins, the Operator service gathers data specifying which intent is being proved.
10. The Operator service forwards the data for the intents claimed as fulfilled back to the Escrow smart contract, which sends the data to an HDP module that calculates which storage slots in the `PaymentRegistry` smart contract certify intent fulfillment.
11. The HDP module verifies that the storage slot for each order hash stores a non-zero `bytes32` (the MM’s source address). If so, the module output is validated by Escrow and the funds are released to the MM.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.most.wtf/developers/developer/end-to-end.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
