# Market Schemas

Haiko introduces the concept of Flexible Market Schemas, allowing markets to be customised to enable, disable or upgrade specific features over time.&#x20;

For example:

* Markets can be deployed with Limit Orders and Strategy Vaults disabled, for a more classic V3 experience
* Linear (V2) pools can be **upgraded over time** to Concentrated (V3+) pools
* Dutch Auction Markets can be configured to facilitate token offerings
* Strategy Only Markets allow RFQ-like quoting for more efficient execution

To allow options to be upgraded over time, a market must be deployed with a nominated `Controller`. Markets deployed without a controller can still be customised, but not upgraded.

Each market configuration can be set as Upgradeable or Fixed on a modular basis.

<table><thead><tr><th width="192">Market Configuration</th><th>Options</th></tr></thead><tbody><tr><td>Valid limits</td><td>Min lower limit, Max lower limit, Min upper limit, Max upper limit</td></tr><tr><td>Valid width</td><td>Min width, Max width</td></tr><tr><td>Add liquidity</td><td>Enable, Disable, Owner Only, Strategy Only</td></tr><tr><td>Remove Liquidity</td><td>Enable, Disable, Owner Only, Strategy Only</td></tr><tr><td>Create Bid Orders</td><td>Enable, Disable, Owner Only, Strategy Only</td></tr><tr><td>Create Ask Orders</td><td>Enable, Disable, Owner Only, Strategy Only</td></tr><tr><td>Collect Orders</td><td>Enable, Disable, Owner Only, Strategy Only</td></tr><tr><td>Swap</td><td>Enable, Disable, Owner Only, Strategy Only</td></tr></tbody></table>


---

# 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://haiko-docs.gitbook.io/docs/protocol/amm/market-schemas.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.
