Flow
1. user_transfer_pending
Swap is created. Layerswap is waiting for the user to complete the transaction in the source network.
- If no deposit arrives within 6 hours →
expired - Once the deposit is confirmed with enough confirmations →
ls_transfer_pending
2. ls_transfer_pending
Layerswap is processing the swap. If something goes wrong during execution:
- If deposited amount is below the minimum →
failed - If the swap cannot be completed for any other reason (e.g. price moved beyond slippage tolerance) → Layerswap retries automatically.
- With
refund_address→ if retries are exhausted, moves torefund_pending - Without
refund_address→ Layerswap keeps retrying. The swap remains inls_transfer_pendinguntil resolved.
- With
- If execution succeeds →
completed
3. completed
Funds are delivered to the destination address.
4. refund_pending → refunded
Refund is sent to refund_address on the source chain in the source token, minus gas fees. If the refund amount is less than the gas fee, no refund is issued. See the Refunds page for details.
What can go wrong
| Scenario | With refund_address | Without refund_address |
|---|---|---|
| Deposited less than minimum | failed | failed |
| No liquidity or route available across providers | Retries, then refunded | Retries |
| Slippage tolerance cannot be met | Retries, then refunded | Retries |
| Blockchain issue across multiple RPCs | Retries, then refunded | Retries |
| DEX or DEX aggregator issue | Retries, then refunded | Retries |