Skip to content

Fund a Transfer

Request

This endpoint is SCA protected when it applies. If your profile is registered within the UK and/or EEA, SCA most likely applies to you. Please read more about implementing SCA.

This API call is the final step for executing payouts when using a balance with Wise. Upon calling the endpoint, Wise will begin the processing of the transfer, depending on the status of funds.

When using the transfer by transfer settlement model, the following funding type(s) must be used:

  • BALANCE — Funds are pulled from a multi-currency account held with Wise.

When funding through the Bulk Settlement model, the following funding type(s) must be used:

  • TRUSTED_PRE_FUND_BULK — Funds for the transfer will be settled through a bulk payment at a later date. This method is not applicable for First Party partner account transfers.

If funding from BALANCE, and your multi-currency account does not have the required funds to complete the action, then this call will fail with an "insufficient funds" error. Once funds are added and available, you must call this endpoint again.

Security
UserToken or PersonalToken
Path
profileIdinteger, (int64)required

Profile Id

Example:123456789
transferIdinteger, (int64)required

Transfer Id

Example:16521632
Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.

Example:f47ac10b-58cc-4372-a567-0e02b2c3d479
Bodyapplication/json
balanceIdinteger, (int64)

ID of the balance to debit.

Example:45678901
typestringrequired
Enum:"BALANCE""TRUSTED_PRE_FUND_BULK""TRUSTED_PRE_FUND_TX"
Discriminator
curl -i -X POST \
  https://api.wise.com/v3/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",
    "balanceId": 45678901
  }'

Responses

FundTransfer 201 response

Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Echoed back when X-External-Correlation-Id was included in the request. Learn more.

Example:"f47ac10b-58cc-4372-a567-0e02b2c3d479"
x-trace-idstring

Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.

Example:"fba501b6d453b96789f52338f019341f"
Bodyapplication/json
statusstring

Outcome of the funding attempt.

Enum:"CREATED""COMPLETED""REJECTED"
errorCodestring

Machine-readable error code. Present if status = REJECTED.

Enum:"transfer.not-found""transfer.invalid-state""payment.exists""transfer.not-accessible-for-user""balance.unauthorised.missing-security-role""payment.not-found""invalid.request""unexpected.error""payment.option-unavailable""balance.payment-option-unavailable"
errorMessagestring

Free-form human-readable explanation of a REJECTED outcome. Suitable for logging and developer-facing tools; not localised and not safe to surface to end users. May be absent.

Example:"Transfer not found"
balanceTransactionIdinteger, (int64)

ID of the balance transaction created to settle the transfer.

Example:987654321
typestringrequired
Enum:"BALANCE""TRUSTED_PRE_FUND_BULK""TRUSTED_PRE_FUND_TX"
Discriminator
Response
{ "type": "BALANCE", "status": "COMPLETED", "balanceTransactionId": 987654321 }