If your token contract is unsupported, the deposit usually fails before a cross-chain swap can start. Check the exact contract address on the correct chain, then confirm the route accepts it before you approve or send anything. A token’s name or ticker alone cannot show that it is supported.
Why does the contract address decide?
A token contract is the program on a blockchain that tracks a token’s balances and transfers. Two tokens can share a name or ticker and still be separate assets because their contract addresses differ. The chain matters too: a token on Ethereum is not the same deposit as a token with a similar name on another network.
When you start a swap, the interface builds a route from the asset you selected. For an ERC-20 token, a contract on Ethereum, that route must be able to handle the token and hand the right asset to the next step. THORChain, one possible cross-chain route, accepts only listed token contracts; its router can reject an unlisted token before the network recognizes a deposit.
This is why a token appearing in a wallet does not prove it can be swapped. Some routes use a decentralized exchange, or DEX, to trade a long-tail token into a supported asset first. The thor swap aggregator can compare routes, but a route still needs a supported contract and enough liquidity to complete the trade.
Check support before you approve a transaction
For a token that is missing, rejected, or showing no route, take these steps before spending gas:
- Copy the contract address from your wallet or a trusted block explorer. Match the chain as well as the full address; do not rely on a search result for the ticker.
- Check whether the exact asset is selectable in the swap interface. Confirm the network and token contract match. If the app offers a route, review its quoted output, fees, and minimum received.
- Check the route’s first step. If it relies on a DEX trade, confirm the token has a usable trading pair and enough liquidity. A token may be accepted by a DEX route without being a token that THORChain itself supports.
- Keep the chain’s gas coin for the transaction. For example, an Ethereum swap needs ETH for network fees, even when the token being swapped is USDC.
- Approve only after the route looks right. Approval lets a contract move a stated token amount. Check the spender and amount in your wallet prompt, then submit the swap only if they match what you intended.
What if the deposit is already sent?
First, open the transaction in the relevant block explorer. A failed transaction generally means the token transfer or router call did not complete; an approved token that remains in your wallet has not been deposited. If the transaction succeeded but the app shows no result, check its pending-deposit view and use the transaction ID to identify the deposit.
If the contract was unsupported, do not send another deposit to the same route. Recovery depends on where the transaction reached and which contract received the funds; a completed transfer to a contract that does not handle that token may need support, and recovery is not guaranteed. For your next attempt, I would test with the smallest useful amount after the exact contract appears in a valid route. That check costs less than discovering a token mismatch after a larger transfer.
Top comments (0)