> For the complete documentation index, see [llms.txt](https://docs.architect.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.architect.co/algos-book/market-maker-mm.md).

# Market maker (MM)

The Market Maker (MM) algo provides liquidity in a designated market by sending orders on both sides of the market, using the midpoint of the current market as the reference price, and fade to maintain a neutral position.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeAUlgqmwkYTmKcyTbHKL%2Fuploads%2F3WF1kSeXo0Yk5267vli0%2Fimage.png?alt=media&#x26;token=ba3e631b-2afd-403e-ac69-ff437717d5a1" alt=""><figcaption><p>Market Maker (MM) algo in the AVAX/USDT market on Binance. Will send size 0.25 AVAX orders 0.1% away on each side, and will cancel/replace if market moves by 0.025%. As MM algo picks up positions, fade quotes by 0.05 USDT per 1 AVAX position accumulated, and will not send orders to exceed a total position of 10 AVAX.</p></figcaption></figure>

| Parameter                   | Description                                                                                                                                                                                                                             |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Market                      | Symbol & price currency of the market, as well as the exchange                                                                                                                                                                          |
| Buy/Sell Quantity           | Size of each order to send                                                                                                                                                                                                              |
| Minimum/Maximum Position    | Position bounds that the algo will not exceed. Will only send one sided orders the cumulative position reaches the minimum or maximum.                                                                                                  |
| Max Improve BBO             | Most an order can be more aggressive than the current best bid or offer. Can prevent order from being too tight inside current spread.                                                                                                  |
| Position Tilt               | The amount order prices should shift as a position is accumulated. For example, if MM algo net buys tokens, this will lower the price of bids & offers to fade the market. Measured in price change per unit.                           |
| Reference Distance Fraction | Distance away from reference price to send orders. For example if Reference Distance Fraction is 0.01, the bid and offer order sent will be 1% around the current reference price (and thus 2% wide).                                   |
| Tolerance Fraction          | Amount a new order would differ from current order to cancel and replace. Used to prevent flickering quotes and unnecessary cancel and replace, as well as maintaining queue priority. Measured as a fraction, i.e. not in price terms. |
| Order Lockout               | Minimum amount of time to wait between orders                                                                                                                                                                                           |
| Fill Lockout                | Amount of time to wait after a trade to send a new order                                                                                                                                                                                |
| Reject Lockout              | If an order is rejected, wait this amount of time before trying again                                                                                                                                                                   |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.architect.co/algos-book/market-maker-mm.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
