# Swapping NFTs and Tokens

**`swap_tokens_for_nfts_with_slippage<CURRENCY>(...)`** and\
\&#xNAN;**`swap_nfts_for_tokens_with_slippage<CURRENCY>(...)`**\
**Purpose**: Execute trades between NFTs and tokens within the pool, similar to token swaps on an AMM.\
**Process**:

1. Verify the pool is active and ensure the trader is not on any deny list (via ART20 checks).
2. Calculate output amounts and verify slippage limits are respected.
3. Adjust pool reserves and transfer assets.
4. Emit a `TradeExecuted` event.

**Use Cases**:

* Traders can instantly buy or sell NFTs without waiting for a buyer or seller, relying on the pool’s liquidity.
* Automated trading strategies or arbitrageurs can operate on these pools.

**Best Practices**:

* Use strict slippage tolerances to avoid adverse price impacts.
* Monitor TWAP and other price signals before executing large trades.


---

# 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.artinals.com/artinals-protocol/trade-module/functions-and-entry-points/swapping-nfts-and-tokens.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.
