# Transfer NFT

{% hint style="info" %}
Transfers an NFT from one address to another.
{% endhint %}

**Endpoint:** `/game/nft/transfer`\
**Method:** POST

{% tabs %}
{% tab title="Request Parameters" %}

```typescript
{
    nfts: string[];             // Array of NFT contract addresses
    fromAddresses: string[];    // Array of source addresses
    toAddresses: string[];      // Array of destination addresses
    tokenIds: string[];         // Array of token IDs to transfer
    chainId?: string;           // Optional chain ID
}
```

{% endtab %}

{% tab title="Success Response" %}

```typescript
{
	taskId: string;
	data: {
		transactionHash: string; // The hash of the transfer transaction
	}
	status: string;
}
```

{% endtab %}

{% tab title="Error Response" %}

```typescript
{
  error: string;
  details?: any;
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
The \`nfts\`, \`fromAddresses\`, \`toAddresses\`, and \`tokenIds\` arrays must have the same length. Each index represents a transfer operation.
{% endhint %}

## Example Usage

```javascript
// Setup request parameters
const timestamp = Date.now().toString();
const body = {
	nfts: ['0x1234567890123456789012345678901234567890'], // NFT contract address
	fromAddresses: ['0xabcdef1234567890abcdef1234567890abcdef'], // Source address
	toAddresses: ['0x0987654321098765432109876543210987654321'], // Destination address
	tokenIds: ['123'], // Token ID to transfer
	chainId: '43114' // Avalanche C-Chain
};

// Generate HMAC signature
const hmac = generateHmacSignature(timestamp, body, secretKey);

// Make the API request
const response = await axios.post(apiEndpoint + '/game/nft/transfer', body, {
	headers: {
		apikey: apiKey,
		signature: hmac,
		timestamp: timestamp
	}
});

// Process the response
console.log('Transfer Task ID:', response.data.taskId);
console.log('Transaction Hash:', response.data.data.transactionHash);
```


---

# 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://dev.plyr.network/api-reference/assets/nfts-erc-721/transfer-nft.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.
