Skip to main content
When you create a swap, you choose how it will be funded. The method you pick (set on POST /api/v2/swaps) determines the deposit action you get back and how you submit it.

The three methods

use_depository and use_deposit_address are mutually exclusive — setting both is rejected.

When to use each

  • Direct transfer — the simplest path when the end user signs with a normal wallet and is sending their own funds. You get a ready-to-send transaction (to_address + call_data).
  • Deposit address — when funds arrive from somewhere you don’t build the transaction for: a centralized exchange, a custodian, or a user “sending from anywhere.” You just display the address and amount; there is no call_data.
  • Depository — the most robust path for programmatic integrations: a single contract call (with the swap id baked into call_data) that works cleanly for smart-contract and server wallets, and lets you batch the ERC-20 approval with the deposit. Supported on EVM and Tron. See Depository.

Next

  • Execute on your source chain — per-chain guides under Network support, e.g. EVM.
  • Fund via the contractDepository.
  • The deposit action object & fieldsOverview.