> For the complete documentation index, see [llms.txt](https://xerial.gitbook.io/xerial-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xerial.gitbook.io/xerial-doc/~/changes/vTuPuavSUBXr6g7sVzr6/xerial-apis/wallet-api/transaction-proccessing/transfer-xerial-nft.md).

# Transfer Xerial NFT

## Overview

{% hint style="success" %}

### Endpoint

* **Method:** POST
* **URL:** `/wallet/{address}/{chain}/transfer-nft`
  {% endhint %}

### Parameters

* **`address`**: (Path Parameter): Sender's wallet address (string).
* **`chain`**: (Path Parameter): Blockchain (string). Available values: `polygon`.

### Request Body

* **Media Type:** application/json
* **Example Value:**

```json
{
  "collectionAddress": "0xf6797c479c7b18de2ea7493291d5f21fede8ff29",
  "tokenId": 2,
  "to": "0x8e9DD3c1Db3254d968967CbC367542C343273629"
}
```

### Responses

#### Success (Code 200)

```json
{
  "transactionHash": "0xe2e830fcc13af572c0cbe970e69c2ebd873cc85b9984099a072709f1ee62305b"
}
```

* **Media Type**: application/json
* **Example Value**: An object containing the transaction hash for the successful transfer.

#### Unauthorized (Code 401)

```json
{
  "code": 401,
  "message": "Please Authenticate"
}
```

* **Media Type**: application/json
* **Example Value**: An error response indicating unauthorized access.

#### Forbidden (Code 403)

```json
{
  "code": 403,
  "message": "Forbidden"
}
```

* **Media Type**: application/json
* **Example Value**: An error response indicating forbidden access.

#### Not Found (Code 404)

```json
{
  "code": 404,
  "message": "Wallet Not Found"
}
```

* **Media Type**: application/json
* **Example Value**: An error response indicating that the sender's wallet was not found.

**Method Not Allowed (Code 405)**

```json
{
  "code": 405,
  "message": "This Method Is Not Supported For Non-Custodial Wallets"
}
```

* **Media Type**: application/json
* **Example Value**: An error response indicating that the method is not allowed for non-custodial wallets.

**Precondition Failed (Code 412)**

```json
{
  "code": 412,
  "message": "You Don't Have This NFT"
}
```

* **Media Type**: application/json
* **Example Value**: An error response indicating that the sender does not have the NFT.

**Internal Server Error (Code 500)**

```json
{
  "error": "Internal Server Error"
}
```

* **Media Type**: application/json
* **Example Value**: An error response indicating an internal server error.

## Usage

1. **Send a POST request** to the `/wallet/{address}/{chain}/transfer-nft` endpoint to initiate the transfer of an Xerial NFT.
2. **Include the required parameters and request body** in the request.
3. **Handle the response accordingly** based on success, unauthorized access, forbidden access, not found, method not allowed, precondition failed, or internal server error.

**Note:** Ensure the wallet address and blockchain chain are valid. Verify the user's authentication status and permissions before initiating the transfer.
