# Amm Swap Contract API

All chains have Alcor Swap contract by same account name: **swap.alcor**

**Swap**

There is two types of swap:

**swapexactin:** To swap all input amount to maximum amount of out token.

**swapexactout:** Swap input tokens to exact out token amount and return change from input token.

To swap one token to another, transfer input token to swap contract with specifit memo:

```
<swapexactin/swapexactout>#<Pool ID's>#<Recipient>#<Output Token>#<Deadline>#market

// Example
swapexactin#0#alcordexfund#3.9167 TLM@alien.worlds#0

// OR // where market.contract your market contract to receive market fee
swapexactin#0#alcordexfund#3.9167 TLM@alien.worlds#0#market.contract
```

**Params:**

* **swapexactin/swapexactout** - Swap type
* **Pool ID's**: Sequence of the pools id's that swap will use
* **Recipient:** Account to receive swap output token
* **Output token:** Desired output token amount as extended asset string.
* **Deadline:** limit time in seconds when swap transaction is valid.
* **Market:** account to receive additional swap fee (use **regmarket** action to set your market).


---

# 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.alcor.exchange/developers-api/amm-swap-contract-api.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.
