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 contract — Depository.
- The deposit action object & fields — Overview.