deposit_actions. Treat the API response as the transaction source of truth; do not hardcode recipient addresses, memos, calldata, decimals, or fee assets.
Read the actions
The create-swap response includes the actions. You can also fetch them again:
Use
amount_in_base_units for transaction construction. Decimal amount values are for display and can lose precision when converted through JavaScript numbers.
Understand the action type
transfermeans your integration constructs or submits a source-network transaction usingto_address,amount_in_base_units, andcall_data.manual_transfermeans you show the generated address and exact amount to the sender. Itscall_dataisnull, so the transfer can come from a wallet, custodian, or exchange.- A Depository-funded swap also returns a transfer action, but it targets the Depository contract. Follow Fund via the Depository contract.
- Gasless funding returns typed data to sign instead of a transaction to broadcast. Follow Gasless deposits.
Execute by network
call_data has a different format on each network. Follow the matching guide instead of applying EVM assumptions to every chain.
Validate and track
Before requesting a signature, verify that the action matches the network, token, amount, and funding method the user approved. Submitcall_data without changing its memo, instructions, or encoded swap identifiers.
Store every submitted transaction hash, then track the swap. You can also report the hash with POST /swaps/{id}/deposit_speedup so Layerswap matches the deposit without waiting for its routine detection. An unmatched transfer can leave the swap waiting until expiry; an invalid amount can lead to failure and potentially a refund. Follow the swap lifecycle and refund flow instead of promising automatic recovery.