> For the complete documentation index, see [llms.txt](https://docs.tinyman.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tinyman.org/protocol-specification.md).

# Protocol Specification

Tinyman AMM V2 is a Constant Product Market Maker. It is mathematically similar to Tinyman V1 which in turn was modeled on Uniswap V2. The contract and protocol design for Tinyman AMM V2 is significantly different from V1 as it uses more recent features of the Algorand Virtual Machine.

{% content-ref url="/pages/pVna3G3NTPShGBCeoAZx" %}
[Pool](/protocol-specification/pool.md)
{% endcontent-ref %}

{% content-ref url="/pages/S0OxRQn6f19zMXQqTjoy" %}
[Swap](/protocol-specification/swap.md)
{% endcontent-ref %}

{% content-ref url="/pages/3ayJCioT4SAnBhcjo6kv" %}
[Fees](/protocol-specification/fees.md)
{% endcontent-ref %}

{% content-ref url="/pages/xvPYQRY3M8WXZMEtpygG" %}
[Flash Loan](/protocol-specification/flash-loan.md)
{% endcontent-ref %}

{% content-ref url="/pages/ylc9j1pHX69GiiCV5ZR8" %}
[Flash Swap](/protocol-specification/flash-swap.md)
{% endcontent-ref %}

{% content-ref url="/pages/slwrdmGbjPZhhrEF0lpD" %}
[Additional Notes](/protocol-specification/additional-notes.md)
{% endcontent-ref %}
