These docs are for v3. Click to read the latest docs for v4.

Create a transfer object

Log in to see full request history

This endpoint is the starting point for initializing all Wyre transfers - moving and/or exchanging currency or tokens.

Auto Confirmation Settings

When autoConfirm is false, the returned transfer details can be used to present associated fees to the user before confirmation. The rates are locked for 15m if fiat-to-fiat or no exchange, 10m for crypto exchanges (including stable-coins). Unconfirmed transfers will expire after this locked period. If the transfer expires you'll have to reissue the transfer request and confirm the new transfer.

You may also instead automatically confirm the transfer by including "autoConfirm": true to skip the followup price confirmation.

Source and Destination

The source of the transfer is the system from which funds are being pulled, while the dest is, somewhat unsurprisingly, the final destination of the funds. These parameters are SRNs and can be different types - accounts, payment methods, wallets, or blockchain addresses.

Eligibility varies across these types as well as between specific instances for usage as source or destination. e.g. a bitcoin address may be used (currently) only as a destination, while some payment methods may be able to be used for either source or destination.

Movement vs Exchange

The API offers two parameters, sourceCurrency and destCurrency, which collectively control the exchange behavior of the transfer.

If only sourceCurrency is supplied, or both are supplied and are identical, the transfer will perform no exchange and the currency will remain in its original form.

If the two are different, then an exchange is performed to convert the sourceCurrency taken from the source to the destCurrency.

Totals

There are three common ways to express the numeric totals involved in your Transfer:

1. Amount of money to process

You indicate the amount to move or convert. Fees are added on top of your indicated subtotal, and the resulting final total is withdrawn/requested from the source.

In this case, specify only sourceAmount, and amountIncludesFees will default to false.

2. Total to withdraw

You want to indicate the total amount that will be withdrawn/requested from the source, inclusive of fees.

In this case, specify sourceAmount and also specify "amountIncludesFees": true.

3. Total to arrive

You want to indicate the total amount that will hit the destination. The system will compensate in fees and exchange rate to accomplish it.

In this case, specify only destAmount, and amountIncludesFees will default to false.

Callbacks

You may use the notifyUrl parameter to specify an endpoint that will receive a callback whenever the initial transaction is created. More information on Transfer Callbacks

Response Fields

The response returned after creation of a new transfer will include the following fields:

FieldDescription
exchangeRateThe quoted exchange rate for the transfer expressed as a multiplier, such that:

sourceAmount * exchangeRate = destAmount

This rate may vary on shallow markets
totalFeesThe total fees will always be represented in the source currency. To convert totalFees to the destination currency, multiply it by the exchange rate. Note that this object includes all Wyre fees and miner fees if applicable.
sourceAmountthe total amount of funds, incl. fees, used in processing this transfer
destAmountthe total amount of funds that should be received by the destination

🚧

Using Masquerade

If you're requesting a transfer for a sub-account because you're acting on behalf of the sub-account holder, you will need to use the masqueradeAs URL parameter.

Request Body

Body Params
string
required

An SRN representing an account that the funds will be retrieved from

string
required

The currency (ISO 3166-1 Alpha-3) to withdraw from the source wallet

string

The amount to withdraw from the source, in units of sourceCurrency (only include sourceAmount OR destAmount, not both)

An account, wallet, digital currency address or bank account to send the digital currency to. (for bitcoin address use bitcoin:[address])

string
required

The currency (ISO 3166-1 Alpha-3) to deposit. if not provided, the deposit will be the same as the withdrawal currency (no exchange performed)

string

Specifies the total amount of destCurrency to deposit (only include sourceAmount OR destAmount, not both)

string

An optional user visible message to be sent with the transaction

string

An optional URL that Wyre will POST a status callback to

boolean
Defaults to true

An optional parameter to automatically confirm the transfer order

string

An optional custom identifier to tag the transfer

boolean

This optional flag, when true indicates that the amount provided (sourceAmount OR destAmount) will be treated as already including the fees

boolean

This optional flag, when true, creates a quote transfer object, but does not execute a real transfer

boolean

This optional flag, when true, will disable all outbound emails and messages to the destination

Response

Language
Credentials
URL
Click Try It! to start a request and see the response here! Or choose an example:
application/json