Transfers

Ability to send funds to users or counterparties

Transfers are the mechanism within the Fuze platform for moving funds in a specific currency. This includes an End-Customer moving money to another user, withdrawing to their external bank account, sending cryptocurrency to an external wallet. All these movements, when managed as a direct "Transfer," occur between accounts or wallets of the same currency.

Types of Transfers

Fuze supports different types of transfers for various use cases, all operating on a same-currency basis for the transfer leg itself:

1. Internal Transfers (User-to-User)

  • Definition: These are movements of funds (e.g., USD to USD, BTC to BTC) between the internal holdings (wallets or accounts) of two different End-Customers registered within the Fuze platform.
  • Example:
    • Alice sends 50 USD from her Internal USD Fiat Account to Bob's Internal USD Fiat Account.
    • Charlie sends 0.1 BTC from his Internal BTC Crypto Wallet to Diana's Internal BTC Crypto Wallet.
  • Characteristics: Internal transfers are processed quickly within the Fuze ecosystem and often have lower or no transaction fees compared to external network movements.

2. Outbound Transfers (Withdrawals / Payouts)

  • Definition: This involves moving funds from an End-Customer's (or your organization's) Internal Crypto Wallet or Internal Fiat Account to a destination outside the Fuze platform, in the same currency as the source internal holding.
  • Destinations: These are External Crypto Wallets or External Fiat Accounts (matching the currency of the transfer) registered and linked to a Counterparty.
  • Characteristics:
    • The speed and fees for outbound transfers depend on the external network used.
    • Requires pre-registered, and often verified, external destination details appropriate for the currency being sent.
    🚧

    Verify External Destination Details

    For outbound transfers, ensure the accuracy of the recipient's wallet address/account details for the specific currency and network being transferred. Incorrect details can lead to failed transfers or irreversible loss of funds.

Key Elements of a Transfer

Each transfer processed through Fuze has these attributes:

  • Source & Destination: Identifies the origin of the funds (e.g., an internal user's specific currency holding) and their destination (e.g., another internal user's holding of the same currency, or an external account/wallet designated for that same currency).
  • Amount & Currency: Specifies the amount and the single currency for the transfer (e.g., 100.00 USD is transferred as 100.00 USD; 0.5 ETH is transferred as 0.5 ETH). Direct transfers do not perform currency conversion.
  • Transaction ID (transactionId): An identifier generated by Fuze for each transfer attempt.
  • Status: Transfers have a lifecycle indicated by a status (e.g., PENDING, PROCESSING, COMPLETED, FAILED, ACTION_REQUIRED).
  • Fees: Transfers, especially outbound, may incur fees.
⚠️

Important Note on Currency Conversion

The "Transfer" operation itself is strictly a like-for-like currency movement (e.g., USDT from a USDT source to a USDT destination). If a currency conversion is needed (e.g., a user wants to fund a AED transfer from their USDT balance, or send USDT to have it arrive as AED for the recipient), this involves other Fuze capabilities:

  • Trading: Users can first convert currencies within their internal holdings (e.g., trade EUR for USD) and then initiate a same-currency USD transfer.
  • Payments API: For more integrated cross-currency scenarios (e.g., allows customers to pay an invoice in Currency A using funds from Currency B, with automated conversion), the Payments API is designed to handle such flows.

The Transfer Lifecycle & Notifications

The lifecycle of a transfer includes these stages:

  1. Initiation: You initiate a transfer request via the Fuze API.
  2. Validation & Processing: Fuze validates the request and starts processing.
  3. Asynchronous Updates: Transfers involving external networks are often not instantaneous.
    πŸ‘

    Stay Updated with Webhooks

    For real-time notifications on transfer status changes, using Webhooks is recommended.

  4. Finality: A transfer reaches a terminal state (COMPLETED or FAILED).

Important Considerations

  • Currency and Network Accuracy: For crypto transfers, ensure funds are sent to the correct blockchain network and that the recipient address supports the specific token/currency. For fiat, use the correct currency account.
  • Compliance Screening: Transfers may be subject to compliance screening.
  • Irreversibility: Most completed blockchain transactions and many bank transfers are irreversible.

API Interaction (General)

The Fuze API provides endpoints to:

  • Initiate various types of same-currency transfers.
  • Estimate potential fees.
  • Retrieve transfer details and status.
  • List historical transfers.
  • Receive notifications via webhooks.

Using the Transfers API effectively is important for building same-currency payment functionalities. For cross-currency needs or advanced pay-in reconciliation from third parties, explore the Payments or Trading APIs.