> For the complete documentation index, see [llms.txt](https://docs-v4.nftx.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-v4.nftx.io/api-reference/swaps.md).

# Swaps

The swap endpoints price a trade and hand back an **unsigned** transaction your wallet then submits — the API never holds funds or keys. The usual flow is: quote → check approval → fetch calldata → submit from your wallet. Some routes proxy the Uniswap Trading API behind the scenes.

{% hint style="info" %}
These are `POST` endpoints because they take a request body describing the trade. They return data (a quote, an approval action, or calldata); they do not execute anything on-chain themselves.
{% endhint %}

## Quote and approval

{% openapi src="<https://nftx-v4-api-production.up.railway.app/openapi.json>" path="/v1/{chain}/swaps/quote" method="post" %}
<https://nftx-v4-api-production.up.railway.app/openapi.json>
{% endopenapi %}

{% openapi src="<https://nftx-v4-api-production.up.railway.app/openapi.json>" path="/v1/{chain}/swaps/check-approval" method="post" %}
<https://nftx-v4-api-production.up.railway.app/openapi.json>
{% endopenapi %}

## Calldata and plans

{% openapi src="<https://nftx-v4-api-production.up.railway.app/openapi.json>" path="/v1/{chain}/swaps/calldata" method="post" %}
<https://nftx-v4-api-production.up.railway.app/openapi.json>
{% endopenapi %}

{% openapi src="<https://nftx-v4-api-production.up.railway.app/openapi.json>" path="/v1/{chain}/swaps/buy-from-pool/plan" method="post" %}
<https://nftx-v4-api-production.up.railway.app/openapi.json>
{% endopenapi %}

{% openapi src="<https://nftx-v4-api-production.up.railway.app/openapi.json>" path="/v1/{chain}/swaps/cross-collection/plan" method="post" %}
<https://nftx-v4-api-production.up.railway.app/openapi.json>
{% endopenapi %}
