This page covers the different ways our cross-chain swaps + transfers might fail to help identify failures and manage user expectations
In a pre-swap or swap related error, the user will end up with the same tokens they started with on their initial chain (e.g. ATOM on Neutron in this example)
chains_to_addresses
in /fungible/msgs
for the chain where the swap takes place, which is given by swap_venue.chain_id
in the response from /fungible/route
)In a post-swap error, the user will end up with their destination asset tokens in their address on the chain where the swap took place (e.g. STRIDE on Osmosis in this example)
submitOrder
function on the source chain, a time limit is specified. Solvers monitor the intent and assess whether they can fulfill it within this period. If no solver fills the intent before the timeout, the refund process begins.