# Can Collection.xyz handle airdrops?

Yes, [Collection.xyz](https://app.collection.xyz/) can handle airdrops. So long as the airdops are sent to the smart contract, users will be able to withdraw the airdrops at a later date. We have specific ERC20, ERC721, and ERC1155 rescue functions for the owner of each CollectionPool’s LP token. With these functions, you can rescue arbitrary ERC20, 721 and 1155 tokens from these pools.

However, in the case where non-tokenized perks (e.g. whitelists) are given to the NFT holder, the liquidity pool smart contract will be the recipient. In these cases, projects will need to work with [collection.xyz](https://app.collection.xyz/) to specifically pass these benefits to the ultimate owner of the NFTs. This is possible through either&#x20;

(A) querying `ownerOf()` on the LPToken, or if you have the `poolAddress`

(B) calling the `tokenId` function if you want to tie it to ownership at a particular blockheight, or&#x20;

(C) the `owner()` function to directly get the current tokenID owner, or , and passing on the benefits to that address instead.

If you are a project developer and need help working with us on this, please reach out on our **discord**.


---

# 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.collection.xyz/guides/technical-reference/airdrop-compatibility/can-collection.xyz-handle-airdrops.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.
