Overview
The Transfer API enables seamless conversion to and from fiat and crypto across various supported currencies and rails. At its core, the API is designed to abstract away the complexity of cross-rail and cross-currency money movement, supporting:- Fiat → Crypto
- Crypto → Crypto
- Crypto → Fiat
How transfers work
Depending on the source, Bridge either pulls funds (e.g. Bridge wallet, prefunded account) or generates deposit instructions when a third-party source (e.g. bank, external wallet) is specified. If the funds reside outside of Bridge, you will receive asource_deposit_instructions object in the response payload containing deposit bank details or blockchain addresses. Once your customer completes the deposit, Bridge will automatically detect and process the payment to the destination.
Key Concepts
source: Where the funds come from. This can be a Bridge-controlled wallet, a customer’s crypto wallet, or a fiat source like a bank account.destination: Where the funds go. This can be any supported rail or chain.on_behalf_of: Customer identifier. Required when sending/receiving on behalf of a user.developer_feeordeveloper_fee_percent: Monetize transfers via fixed or percentage fees. Refer the Developer Fees section on how to set fees.features: Optional settings to add flexibility (e.g. allow_any_from_address, flexible_amount).initiation: Payment initiation context for some transfers sourced from Bridge Wallets. Send it in the Create Transfer request only when the source wallet response includesinitiation_required: true. Bridge does not includeinitiationin Create Transfer, Get Transfer, or List Transfers responses.
High Level Flow
For one time transfers, the high level flow is:- You, the developer, will create a transfer specifying the
sourceanddestination- If the source is a pre-funded account or a bridge wallet, Bridge will pull funds directly from it and skip the above steps — there is no deposit required.
- If the source is a Bridge Wallet and the wallet response includes
initiation_required: true, include aninitiationobject in the create request.
- Bridge will create a transfer object which will include
source_deposit_instructions. - You will instruct your customer to follow the
source_deposit_instructions. - Your customer will send a deposit following the
source_deposit_instructions. - Bridge will match your customer’s deposit to the transfer you created.
- Bridge sends money to the
destination.
Create Transfer
Request
Response
Deposit Instructions
Fiat Depositssource_deposit_instructions object in the response will contain Bridge’s deposit address.
You can guide your user to use Metamask or an equivalent wallet to create a blockchain transfer to move funds from their wallet to our deposit address.
Memo Based Blockchains
blockchain_memo will be provided as part of the source_deposit_instructions in the response.
