Bridge's Transfer API allows you to seamlessly convert into, out of, and between all forms of a dollar for your customers. At a high level, Transfers require a source and a destination -- both of which can be fiat sources (bank accounts, debit cards etc.) or crypto sources (wallets on chains). The API is generalized and allows you utmost flexibility in moving funds either from fiat to crypto, crypto to crypto, or crypto to fiat. We support a wide range of digital currencies (list) and fiat payment rails (list) to facilitate these transfers.

Note that in some instances, Bridge is unable to directly pull funds from the source account due to the limitation of the financial rail (wires, crypto transfers etc.). In those instances, we return you a set of source_deposit_instructions along with deposit addresses so you can direct your customer to initiate the transfer flow. Once the deposit is initiated and completed by your user, the rest of the transfer will continue as is (without any additional API calls) and the funds will transfer to the passed in destination object.

Read the Developer Fees section on how to set fees.

Please see the Stablecoins and Blockchains page for what is supported, as well as any asset-specific requirements that may apply.

Transfer States

The transfer status refers to the current state of a transfer. There are several possible states that a transfer can be in, including:

  • awaiting_funds - Bridge is waiting to receive funds from the customer before it can start to process the transfer. This state only exists when Bridge is awaiting funds from the customer (ex: crypto deposits, wires, ACH push).
  • in_review - This is a temporary state that is rarely triggered. If it does occur, it usually resolves automatically within seconds. However, if we are unable to confirm the transaction information by the end of the 24-hour period, we will reach out to the developer with the next steps.
  • funds_received - This is an acknowledgment that Bridge has received your funds and is in the process of moving funds on your customer's behalf.
  • payment_submitted - This means Bridge has sent the payment and is currently awaiting verification. Depending on the payment rail, this can take anywhere from minutes (Crypto) to hours (Wires) to days (ACH push)
  • payment_processed - The transfer has been completed. The funds have arrived at your specified destination.
  • returned - Bridge has sent the payment, but received notification that it wasn't successful. The funds have been returned to Bridge, and the refund to the sender is in process.
  • refunded - The funds for this transfer have been sent back to the original sender.
  • canceled - The transfer has been canceled. (Transfers can only be canceled when in the awaiting_funds state).
  • error - There was a problem preventing Bridge from processing this transfer. This may require manual intervention to resolve. Please reach out to Bridge if you haven't already been contacted about this transfer.

Please note that a transfer will always progress from awaiting_fundsfunds_receivedpayment_submittedpayment_processed. It can never go backwards.

canceled can only be progressed to from awaiting_funds, and is done by hitting our DELETE /v0/transfers/{transferID} endpoint.