> For the complete documentation index, see [llms.txt](https://dev.plyr.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.plyr.network/api-reference/assets/tokens-erc-20/in-game-chips-overview/transfer-chip.md).

# Transfer Chip

{% hint style="info" %}
Transfers a specified amount of in-game chips from one user to another.
{% endhint %}

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

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

```typescript
{
    chips: string[];          // Array of chip token addresses
    plyrIds: string[];        // Array of PLYR IDs (for backward compatibility)
    fromPlyrIds: string[];    // Array of source PLYR IDs
    toPlyrIds: string[];      // Array of destination PLYR IDs
    amounts: number[];        // Array of amounts to transfer
}
```

{% 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 \`chips\`, \`fromPlyrIds\`, \`toPlyrIds\`, and \`amounts\` 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 = {
	chips: ['0x1234567890123456789012345678901234567890'], // Array of chip token addresses
	plyrIds: ['player123'], // Array of PLYR IDs (for backward compatibility)
	fromPlyrIds: ['player123'], // Array of source PLYR IDs
	toPlyrIds: ['player456'], // Array of destination PLYR IDs
	amounts: [25] // Array of amounts to transfer
};

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

// Make the API request
const response = await axios.post(apiEndpoint + '/game/chip/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);
```
