PARTIAL completion occurs when a cross-chain transfer succeeds but the user receives a different token than requested. This typically happens when the destination swap fails but the bridge succeeds. This page explains how to detect, interpret, and recover from partial completions.
What is a Partial Completion?
In a cross-chain transfer, there are often multiple steps:Example Scenario
- Requested: 10 USDC on Ethereum → ETH on Arbitrum
- Actual Result: 10 USDC on Ethereum → 10 USDC on Arbitrum (swap failed)
- Status:
DONEwith substatusPARTIAL
Detecting Partial Completion
Check the status response:Status Response for PARTIAL
Recovery Flow
When a partial completion occurs, offer the user a same-chain swap to get their intended token.Step 1: Extract Received Token Details
Step 2: Get a Same-Chain Swap Quote
Request a quote to swap the received token to the intended token:Step 3: Present Options to User
Complete Recovery Implementation
Why Partial Completions Happen
| Cause | Explanation |
|---|---|
| Slippage exceeded | Price moved beyond tolerance during transfer time |
| Liquidity changed | DEX pool liquidity depleted |
| Token delist | Destination DEX no longer supports the pair |
| Contract issue | Destination DEX had temporary issue |
Prevention Strategies
1. Use Higher Slippage for Volatile Tokens
2. Prefer Direct Bridge Routes
3. Check Route Feasibility Before Transfer
For large amounts, you can verify the destination swap is feasible by requesting a quote for just that leg:User Communication Templates
Partial Completion Detected
Recovery Not Available
Decision Tree
Related Pages
- Status & Recovery - Polling and status handling
- Decision Tables - Route selection
- Error Playbooks - Handle failures

