Payments for finance teamsProduct offering

Spot payments

Spot contracts are used when your business needs to exchange currencies at today’s market rate and settle the transaction promptly. A typical integration requests a quote, confirms the quote to create a contract, funds the contract using the invoice instructions, and then provides payment instructions for the recipients or accounts you manage. Settlement timing depends on the currencies and settlement method you choose; it is not necessarily two business days. In this guide, sell currency means the currency your business sends to XE, and buy currency means the currency XE delivers to your recipients or account.


API Endpoints

These endpoints support treasury, finance, and payment workflows that your business runs through Pay API. Keep the quoteId and resulting contractNumber in your application state so you can update or refresh the quote, retrieve funding instructions, and submit payment instructions later in the flow.

Create a Spot Quote

Creates an indicative quote for the currency pair, amount, settlement method, and delivery method you provide. Use the response to show your finance team or payment workflow the amount to send, the amount to be delivered, the exchange rate, fees, and total cost. You can include payment and recipient details in the quote. The quote is valid for 60 seconds from the response timestamp.

POST /v2/fxquotes

Update Quote Details

Updates an existing spot quote when your application changes inputs such as the amount, settlement method, delivery method, payments, or recipients. The response contains a new indicative rate, fees, and total cost for the revised instructions. The updated quote is valid for 60 seconds from the response timestamp. Create the FX contract with the returned quoteId before it expires to lock in that quote.

PATCH /v2/fxquotes/{quoteId}

Refresh Quote

Refreshes an expiring quote so your finance or payment workflow can continue with current pricing. Use this when a reviewer needs more time, or when the original 60-second validity period is nearly over. Create the FX contract with the returned quoteId before that quote expires to lock in the rate.

POST /v2/fxquotes/{quoteId}/refresh

Create FX Contract

Creates a legally binding FX contract from the specified quoteId and locks in the exchange rate for the transaction. Use the contract number returned by this request to retrieve the invoice, which contains the instructions for funding the contract. Your application can then attach the payment instructions for the recipients or accounts that should receive the buy currency.

POST /v2/contracts/quote/{quoteId}

Download Invoice

Downloads the invoice for the FX contract. Use it to retrieve the bank and payment details your business needs to fund the contract, then route those instructions through your treasury or payment workflow. XE also emails the invoice to your registered email address.

GET /v2/contracts/{contractNumber}/invoice

Attach Payment Instructions

Adds one or more registered recipients to the approved contract, together with the purpose of payment. Use this after the contract has been created and your business has arranged funding. Each recipient must receive the contract’s buy currency, and the total disbursement cannot exceed the contract’s buy amount. For treasury workflows, use your own payment or ERP records to map each instruction to the relevant recipient and contract.

POST /v2/contracts/{contractNumber}/payments

Sequence diagram

This sequence shows the API calls your finance or payment system makes to quote, contract, fund, and distribute a spot FX transaction. Persist the quote and contract identifiers so later steps can be correlated with your internal records.


Process flow

Use this flow as an implementation checklist: request and refine pricing, create the contract, retrieve the funding instructions, and submit the final payment instructions. The sequence stays the same whether the transaction is initiated by treasury, accounts payable, or another internal payment workflow.

On this page

Get help