> ## Documentation Index
> Fetch the complete documentation index at: https://flutterwaveinc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet-to-Wallet Transfers

> Learn how to transfer money from one Flutterwave account to another.

<Info>
  We recommend checking out the [introductory
  section](/fund-transfer/introduction) to understand the basics of making
  transfers first.
</Info>

You can transfer money directly from your available balance to other Flutterwave merchants. We call these wallet-to-wallet transfers.

## Making a Wallet-to-Wallet Transfer

Wallet-to-wallet transfers work the same as regular [bank account](/fund-transfer/bank-account) transfers. They make use of the create transfer [endpoint](/api-reference/transfers/initiate-a-transfer), with the key difference being that `account_bank` is always `"flutterwave"`, while `account_number` is the merchant's ID.

<Info>
  The merchant ID is displayed on the merchant dashboard below the business
  name at the top left.
</Info>

<img src="https://mintcdn.com/flutterwaveinc/8LJ4mpYLmd_SNb9Z/images/merchant-id-max.png?fit=max&auto=format&n=8LJ4mpYLmd_SNb9Z&q=85&s=fc7706c8691ae5442aff346461e8736e" alt="merchantId" width="2880" height="1576" data-path="images/merchant-id-max.png" />

<CodeGroup>
  ```javascript Node.js theme={null}
  const details = {
  	account_bank: 'flutterwave',
  	account_number: '99992069',
  	amount: 500,
  	currency: 'NGN',
  	debit_currency: 'NGN',
  };
  await flw.Transfer.initiate(details);
  ```

  ```php PHP theme={null}
  $details = [
      "account_bank" => "flutterwave",
      "account_number" => "99992069",
      "amount" => 500,
      "currency" => "NGN",
      "debit_currency" => "NGN"
  ];
  $response = $transferService->singleTransfer($details);
  ```

  ```ruby Ruby theme={null}
  details = {
      account_bank: "flutterwave",
      account_number: "99992069",
      amount: 500,
      currency: "NGN",
      debit_currency: "NGN"
  }
  response = transfer.initiate_transfer details
  ```

  ```python Python theme={null}
  details = {
      "account_bank": "flutterwave",
      "account_number": "99992069",
      "amount": 500,
      "currency": "NGN",
      "debit_currency": "NGN",
  }
  response = rave.Transfer.initate(details)
  ```

  ```go Go theme={null}
  details := rave.SinglePaymentData {
    AccountBank:   "flutterwave",
    AccountNumber: "99992069",
    Amount:        500,
    Currency:      "NGN",
    Debit_Currency:      "NGN",
  }
  err, response := transfer.InitiateSingleTransfer(details)
  ```

  ```json cURL theme={null}
  curl --request POST 'https://api.flutterwave.com/v3/transfers' \
    --header 'Authorization: Bearer YOUR_SECRET_KEY' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "account_bank": "flutterwave",
      "account_number": "99992069",
      "amount": 500,
      "currency": "NGN",
      "debit_currency": "NGN"
  }'
  ```
</CodeGroup>

Here is an example response:

```json 200 OK theme={null}
{
	"status": "success",
	"message": "Transfer Queued Successfully",
	"data": {
		"id": 128286,
		"account_number": 99992069,
		"bank_code": "flutterwave",
		"full_name": "FLUTTERWAVE V3 DOCS",
		"created_at": "2020-06-29T21:35:15.000Z",
		"currency": "NGN",
		"debit_currency": "NGN",
		"amount": 500,
		"fee": 0,
		"status": "NEW",
		"reference": "wallet-transfer",
		"meta": {
			"wallet_email": "hip@cool.com",
			"AccountId": 118468,
			"merchant_id": "00118468"
		},
		"narration": "payment for x service provided",
		"complete_message": "",
		"requires_approval": 0,
		"is_approved": 1,
		"bank_name": "wallet"
	}
}
```

As always, you'll notice that the `data.status` of the transfer is `"NEW"`. Remember to set up a webhook or call the [get transfer endpoint](/api-reference/transfers/fetch-a-transfer) to find out when the transfer is completed. Learn more about our [webhooks here](/webhooks).

## Intra-wallet Transfers

The wallet-to-wallet transfer is an excellent way to fund your main balance from a different currency balance and vice-versa. To make an intra-wallet transfer:

* Set your merchant ID to `account_number`.
* Specify the `currency` (destination\_wallet) and the `debit_currency` (source\_wallet).

<Warning>
  **Tracking Wallet Transfers**

  Use your [wallet history](/api-reference/misc/get-balance-history) to track debits and
  corresponding credits across different balances for intra-wallet transfers.
</Warning>
