# POST: Transfer

#### `POST /transfers` <a href="#post-transfers" id="post-transfers"></a>

```
const postTransfers = () => {
  const timestamp = Math.round(Date.now() / 1000)
  const payload = timestamp + 'POST' + '/transfers' + '{}'
  const decodedSecret = Buffer.from(apiSecret, 'base64')
  const hmac = crypto.createHmac('sha256', decodedSecret)
  const signedPayload = hmac.update(payload).digest('base64')

  // SET HEADERS
  const headers = {
    'X-NDAX-API-KEY': 'public_key',
    'X-NDAX-SIGNED': signedPayload,
    'X-NDAX-TIMESTAMP': timestamp,
    'X-NDAX-PASSPHRASE': 'passphrase'
  }
  const options = {
    headers,
    body,
    json: true
  }

  return request.post('https://api.ndax.in/transfers', options)
}
```

Creates new transfer request. Note: you can only submit transfers between your own accounts. To submit transfers on behalf of others, you need the `submits_platform_transfers_for` relationship. Transfer requests created through the API go directly into an `APPROVED` state.

Request body:

<table><thead><tr><th>Parameter</th><th width="460.3333333333333">Description</th><th>Type</th></tr></thead><tbody><tr><td>client_transfer_id</td><td>Optional unique identifier for the transfer.<br>Note: this must be unique, per platform, per 72 hour period</td><td>string</td></tr><tr><td>from_participant_code</td><td>The source participant for the transfer to, e.g. <code>ABCDEF</code></td><td>string</td></tr><tr><td>from_account_group</td><td>The source account group for the transfer, e.g. <code>ABCDEF</code></td><td>string</td></tr><tr><td>from_account_label</td><td>The source account label for the transfer, e.g. <code>general</code></td><td>string</td></tr><tr><td>to_participant_code</td><td>The destination participant for the transfer, e.g. <code>ABCDEF</code></td><td>string</td></tr><tr><td>to_account_group</td><td>The destination account group for the transfer, e.g. <code>ABCDEF</code></td><td>string</td></tr><tr><td>to_account_label</td><td>The destination account label for the transfer, e.g. <code>general</code></td><td>string</td></tr><tr><td>asset</td><td>The asset code for the request, e.g. e₹</td><td>string</td></tr><tr><td>amount</td><td>The amount or quantity transferred, e.g. <code>100</code></td><td>string</td></tr></tbody></table>

> Sample Response

```
{
  "message": [
    {
      "id": 39,
      "client_transfer_id": null,
      "created_at": "2020-09-01T20:53:31.653Z",
      "updated_at": "2020-09-01T20:53:31.653Z",
      "status": "settled",
      "from_participant_code": "ABC123",
      "from_account_group": "UNALLOCATED",
      "from_account_label": "general",
      "to_participant_code": "DEMO01",
      "to_account_group": "UNALLOCATED",
      "to_account_label": "general",
      "asset": "BTC",
      "amount": "20.00",
      "movement_id": "1902a0eb-a925-4d08-bcad-ea8ed4696a24",
      "admin_transfer": true
    }
  ]
}
```

See GET /transfers for response field descriptions.


---

# 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.ndax.in/v3/private-endpoints/transfers/post-transfer.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.
