Fund transfers using your Wise multi-currency account balance.
The fund transfer endpoint is the final step in executing a payout when using a Wise balance. Once called, Wise immediately begins processing the transfer if sufficient funds are available in the account balance.
Endpoint: POST /profiles/{profileId}/transfers/{transferId}/payments
transferId: The transfer ID of the already-created transfer that the funds will apply to.- Sufficient funds: Ensure you have sufficient funds in the appropriate currency balance.
To fund a transfer from your balance, make a POST request with type set to BALANCE.
| Parameter | Type | Required | Description |
|---|---|---|---|
profileId | integer | Yes | The ID of the profile that created the transfer (personal or business). |
transferId | integer | Yes | The ID of the transfer to fund. |
type | string | Yes | Must be "BALANCE" to fund from your multi-currency account. |
- Production Environmenthttps://api.wise.com/2026Q3/profiles/{profileId}/transfers/{transferId}/payments
- Sandbox Environmenthttps://api.wise-sandbox.com/2026Q3/profiles/{profileId}/transfers/{transferId}/payments
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
- BALANCE - Fund from a Wise balance (Pre-Funded Wise Balance)
- TRUSTED_PRE_FUND_BULK - Cross Currency Bulk Settlement
- TRUSTED_PRE_FUND_TX - Per-transaction trusted pre-fund
curl -i -X POST \
https://api.wise.com/2026Q3/profiles/123456789/transfers/16521632/payments \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479' \
-d '{
"type": "BALANCE"
}'When your balance has sufficient funds, you'll receive a COMPLETED status in the response.
Response
application/json
- BALANCE - completed
- BALANCE - rejected (insufficient funds)
- TRUSTED_PRE_FUND_BULK - completed
{ "type": "BALANCE", "status": "COMPLETED", "balanceTransactionId": 987654321 }
After successful funding:
- The transfer status changes from
incoming_payment_waitingtoprocessing. - Wise begins processing the payout to the recipient.
- You receive webhook notifications as the transfer progresses.
- You can track the transfer status using the Get transfer by ID endpoint.
If your balance doesn't have enough funds, the request will fail:
{
"type": "BALANCE",
"status": "REJECTED",
"errorCode": "transfer.insufficient_funds"
}The transfer will remain in incoming_payment_waiting status until funded. When this occurs, you can:
- Add funds to your balance.
- Retry the request once funds are available.
In the sandbox environment, you can:
- Create test balances.
- Add test funds to practice the funding flow.
- Test insufficient funds scenarios.