> For the complete documentation index, see [llms.txt](https://startbutton.gitbook.io/startbutton-product-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://startbutton.gitbook.io/startbutton-product-api/wallet-operations/intra-transfer.md).

# Intra Transfer

Move funds from your collection to transfer balances for a specified currency.

| Header        | Value               |
| ------------- | ------------------- |
| Authorization | `Bearer SECRET_KEY` |
| Content-Type  | `application/json`  |

> The secret key can be gotten from the 'Settings' page on your Startbutton dashboard.

Post a request to the URL below. See [Environments & Base URLs](/startbutton-product-api/getting-started/environments-and-base-urls.md) for the base URL.

**Endpoint:** `POST` - `{{baseurl}}/transaction/s2s/intra-transfer`

| Param            | Required? | Description                                                                             |
| ---------------- | --------- | --------------------------------------------------------------------------------------- |
| `currency`       | Yes       | The currency in which funds are being moved between the collection and payout balances. |
| `amount`         | Yes       | The amount to be moved.                                                                 |
| `toWalletType`   | Yes       | This should be set to `payout`                                                          |
| `fromWalletType` | Yes       | This should be set to `collection`                                                      |

**Sample Request:**

```json
{
  "currency": "NGN",
  "amount": 15000,
  "fromWalletType": "collection",
  "toWalletType": "payout"
}
```

**Sample Response — Success:**

```json
{
  "success": true,
  "message": "Intra-wallet transfer is processing",
  "data": {
    "transactionReference": "f5f87ec4321a"
  }
}
```

**Sample Response — Insufficient Balance:**

```json
{
  "success": false,
  "message": "User has insufficient balance.",
  "data": {}
}
```
