Here are keys terms to understand how to properly interact with our Wyre Transfers API.

Source and Destination

The Source of the transfer is the platform where the funds are taken from and the Dest is the final destination for funds. Source and the Destination in this context are system resource names (SRNs) referring to objects within Wyre's ecosystem and they can be of different types - accounts, blockchain addresses, payment methods or wallets.

📘

Eligibility varies across these types as well as between specific instances for usage as source or destination. For example, 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.

Exchange

The API has two major parameters, sourceCurrency (ie source) and destCurrency (ie dest), which collectively control the exchange behavior of the transfer.

An exchange happens when sourceCurrency and destCurrency are different and the assets from the former are converted to the latter. If only the 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.

Totals

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

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.

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.

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.

Auto Confirmation Settings

When autoConfirm is set to false, the returned transfer details can be used to present associated fees to the user before confirmation.

The rates are locked for 15 minutes if this is a fiat-fiat transfer or no exchange, and 10 minutes for crypto exchanges (including stablecoins). 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 supply autoConfirm=true to skip the followup price confirmation.

🚧

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 query parameter.