Skip to main content
This page covers the case where a withdrawal settled on-chain but arrived somewhere it is not useful — typically because the destination is a smart contract that does not know how to handle the asset, or because the destination address is on a chain different from the one you intended.
Always test a new withdrawal destination with a trivial amount first. A one-dollar test is cheap; a mistake on a production balance can be unrecoverable.

The two common variants

Variant A: you withdrew to a smart-contract address that cannot receive the asset. The funds arrived at the contract as expected, but the contract has no logic to handle an incoming balance of that token. If the contract exposes a generic escape hatch — for example, an owner-only sweep function — and that owner is you, you can recover directly. If the contract does not, and is not one you control, the funds are effectively stranded. A common subcase is withdrawing to an exchange-deposit contract on a chain that exchange does not run. The contract exists, the transfer succeeded, but the centralized service on the other end is not watching that chain and will never credit you. Contact that service first; recovery, if possible, is on their side, not ours. Variant B: you withdrew to an address on a chain different from the one you expected. If you had the right address string but the wrong chain selected in the withdrawal form, the funds now live at that address on the unintended chain. Whether you can recover them depends entirely on whether you, or someone you trust, controls that address on that chain. If the address was derived from a key you still have and the chain is EVM-compatible, you can import the key into a wallet on that chain and move the funds. If the chain uses a different address scheme and the address was generated by some unrelated service, recovery is unlikely.

What we can and cannot do

  • We cannot reverse an on-chain transaction. Once a withdrawal has settled on the destination chain, the only entity that can move the funds is whoever controls the destination account.
  • We can sometimes help identify which contract you ended up sending to and whether it has a recovery path.
  • We cannot compel a third-party contract to cooperate.

Immediate steps

  1. Stop sending follow-up transactions to the same destination.
  2. Note the source withdrawal transaction on Intention, the destination chain, the destination address, the asset, and the amount.
  3. Email support@intention.xyz with the above. We will tell you whether the destination is a known contract and whether any recovery path is plausible.
  4. If a third party controls the destination, contact them directly and keep a copy of everything you send.

How to avoid this class of mistake

  • Withdraw a small amount first, every time you use a new destination.
  • Match the chain name in the withdrawal form against the chain your destination wallet is currently showing.
  • Be extra careful with addresses that look generic — anything starting with 0x is valid on many chains at once.