Skip to content
Last updated

Quotes

Get FX transfer rates, fees, and delivery estimates.


Use the Quotes endpoints to check FX rates, fees, and delivery estimates, enabling seamless money transfers with Wise Platform.

Generating a quote is an essential step in the send money flow, as the quote id is a required property in the create transfer request body.

A quote defines:

  • How much to send or receive.
  • Who is sending and receiving the money.
  • The source and target currencies involved.

The response includes:

  • The rate and any fees.
  • Estimated delivery speed.
  • Available methods to fund the transfer.

Authenticated vs unauthenticated quotes

The Wise Platform Quotes service lets you create both authenticated and unauthenticated quote resources.

  • Authenticated quotes are profile-specific exchange rate quotes that serve as the foundation for creating actual money transfers. You must create an authenticated quote if you want to use it to create a transfer request.
  • Unauthenticated quotes let you fetch example exchange rates and fees without including an Authorization header or profileId in the request and including only basic transfer details. These quotes show potential costs and exchange rates, making them ideal for previews or embedding in marketing pages and product displays without user sign-up.

Compare quote types

FeatureAuthenticatedUnauthenticated
AuthenticationRequired (OAuth 2.0)Optional
Profile IDRequiredNot applicable
Quote IDGeneratedNot generated
Can create transfer✅ Yes❌ No
Rate lockingAvailableNot available
Use caseReal transactionsDisplay/marketing
Rate limitsMore restrictiveMore permissive

The quote flow

The following steps can be involved in creating a quote, depending on whether you have specific partner pricing available and which send money flow you use.

Once you successfully create the authenticated quote, the mid‑market exchange rate is locked and the quote remains valid for 30 minutes, giving your customer time to complete their transfer.

Quote response fee and price objects

The quote response includes fee and price objects for each payin option. They provide a summary and detailed views of the fees to be charged on the transfer.

  • The fee object gives a summary of the fees.
  • The transferwise fee includes any taxes or fees that Wise charges.
  • Additional fields, such as payIn, discount and partner, include any amounts as applicable.
  • The total field sums all fees and discounts for that payment option.
  • The price object further enumerates the fees and discounts as line items. This includes any discounts, fees, or taxes and gives the appropriate name for each.

Any transfer to or from BRL will always include an IOF Tax fee, which is collected during the transfer funding process. Show this to your customers as a distinct line item separate from all other fees.

For BRL, set paymentMetadata.transferNature on the quote. The IOF depends on the transfer nature and the sender and recipient details. Until these are all provided, the quote shows a default IOF.

Testing quotes in sandbox

  • The sandbox provides realistic but not live rates, so the quote you receive when you test may differ from what is available in the production environment.
  • In the sandbox, you cannot test a rateType of FLOATING.

Speak with the Wise team if you have further questions about testing quotes in the sandbox.


Create an unauthenticated quote

Unauthenticated quotes:

  • Cannot be used to create transfers.
  • Are for display and estimation purposes only.
  • Should not be stored long-term or relied upon for transactions.
  • Expire and should be refreshed regularly.

To create a unauthenticated quote, send a POST request to the /quotes endpoint.

To include your partner pricing in an unauthenticated quote, include the Authorization header (as shown in the example requests). Without it, the quote shows standard Wise pricing.

Request body

The body of your request is where you specify all the information about the FX payment quote you want to create.

You must provide the currencies to exchange in ISO 4217 format:

ParameterDescriptionExample
sourceCurrencyCurrency you are sending from"USD"
targetCurrencyCurrency to be received in"EUR"

Then EITHER sourceAmount OR targetAmount (never both):

ParameterDescriptionExample
sourceAmountAmount to send100.00
targetAmountAmount recipient should receive85.00

Example requests

Send this request when you know how much the user wants to send.

curl -i -X POST \
  https://api.wise.com/2026Q4/quotes \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479' \
  -d '{
    "sourceCurrency": "GBP",
    "targetCurrency": "USD",
    "sourceAmount": null,
    "targetAmount": 110,
    "pricingConfiguration": {
      "fee": {
        "type": "OVERRIDE",
        "variable": 0.011,
        "fixed": 15.42
      }
    }
  }'

Response details

The examples in this table are general examples and not reflective of the example response above.

FieldDescriptionExample use
rateCurrent exchange rate (targetCurrency per 1 sourceCurrency)Display "1 USD = 0.9215 EUR"
sourceAmountTotal amount user needs to sendShow "You send $100.00"
targetAmountAmount recipient receives after feesShow "Recipient gets €92.15"
createdTimeWhen this quote was created, in ISO 8601 formatLog for debugging
rateExpirationTimeWhen this rate expires, in ISO 8601 format (Unauthenticated rates aren't locked. Create an authenticated quote to lock the rate.)Show "Refresh the displayed rate after this time"
paymentOptions.fee.totalTotal fee chargedShow "Fee: $2.58"
paymentOptions.formattedEstimatedDeliveryHuman-readable delivery estimateShow "Arrives by Tuesday"