Transfer requirements vary by currency route, transfer amount, and regulatory region. Use the transfer requirements endpoint to dynamically discover which fields are needed before creating a transfer. You can use this to build a dynamic UI that adapts to each transfer's specific needs.
Transfer requirements can change at any time. It is important to use this API to fetch requirements dynamically and avoid hardcoding them.
Prepare the request body you would use to create a transfer, then post it to the transfer requirements endpoint to discover any additional required fields.
- Production Environmenthttps://api.wise.com/2026Q4/transfer-requirements
- Sandbox Environmenthttps://api.wise-sandbox.com/2026Q4/transfer-requirements
curl -i -X POST \
https://api.wise.com/2026Q4/transfer-requirements \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479' \
-d '{
"targetAccount": 8692237,
"quoteUuid": "8fa9be20-ba43-4b15-abbb-9424e1481050",
"originatorLegalEntityType": "PRIVATE",
"details": {
"reference": "Invoice 2026-001",
"sourceOfFunds": "verification.source.of.funds.salary",
"transferPurpose": "verification.transfers.purpose.pay.bills"
}
}'Analyze the returned list of fields. The example response includes reference, sourceOfFunds and transferPurpose fields. The reference field is optional in this example. The sourceOfFunds and transferPurpose fields are required and both have refreshRequirementsOnChange: true, which indicates that additional fields may become required depending on the selected value.
[ { "type": "transfer", "fields": [ { … }, { … }, { … } ] } ]
POST to the endpoint again with values set for all fields that have refreshRequirementsOnChange: true. For example, selecting a sourceOfFunds value of verification.source.of.funds.other may require an additional sourceOfFundsOther text field.
Continue calling POST with updated values whenever a field with refreshRequirementsOnChange: true changes. Once all dynamic fields are resolved, you have the complete set of fields to compose a valid request to create a transfer.
As transfer requirements are part of a dynamic form, the list of options can change. The fields below are the most common requirements and when they apply, but others may be included. Always design your integration to work dynamically with this endpoint.
- Transfer Reference (
reference) — General reference or memo field. Mandatory for some transfers (requiredwill be true). UseminLength,maxLengthandvalidationRegexpin your interface to minimize errors. - Originator Legal Entity Type (
originatorLegalEntityType) — Feature flag to identify the type of sender. Allowed values arePRIVATEorBUSINESS. Note this field is required from March 2026 for all new and existing Correspondent Send integrations. - Transfer Purpose (
transferPurpose) — A select list of values to help understand the purpose of the transfer. Often required when transfers are over a certain size or through a particular route. As an option is selected, you must refresh requirements, as additional fields could become required. - Sub Transfer Purpose (
transferPurposeSubTransferPurpose) — A secondary select list of values to further help understand the purpose of the transfer. - Source of Funds (
sourceOfFunds) — A select list of values to help understand the source of the funds. - Transfer Nature (
transferNature) — A select list of values to help understand the reason for the transfer, only for routes to and from BRL. Note that transfer nature needs to be added to a quote through creation or update in order to correctly calculate the IOF tax. - Transfer Purpose Invoice Number (
transferPurposeInvoiceNumber) — Mandatory for trade related transfers (requiredwill be true for these cases). UseminLength,maxLengthandvalidationRegexpin your interface to minimize errors.
The originatorLegalEntityType field is currently optional, but will become required from March 2026 for all new and existing Correspondent Send Integrations. Please update your integration to include this field as soon as possible.
Transfers to-BRL or from-BRL require a transfer nature (see: transferNature). Transfer nature has some special handling:
- Be aware when rendering this field that labels might be present more than once under the same key.
- The chosen value must be added when creating a quote or via an update of an existing quote.
- Failure to include a transfer nature as instructed will prevent the transfer from being sent.