Account Demolisher

When a step fails

What a close that stopped partway leaves behind, and how to finish it.

When a close stops, the heading reads Couldn't finish closing the account and the plan shows which step stopped. Steps that landed on chain stay on chain: a repaid loan stays repaid and a converted balance stays converted. What that means for your account depends on how far the close got, and the page tells you which case you are in.

Where your funds are

What the page saysWhat it means
Your account is still open. No step of this close finished on chain.Nothing ran. When the close needed several classic transactions, the page asks you to check the account on the explorer, because an earlier one can have landed.
Some steps already ran and changed your balances.The account is still open. The page lists the steps that finished and links each classic transaction that landed.
The account merge landed, so this account is closed.The close is done on chain, even though the run reported a problem afterwards.
Your account was closed and the funds are in a temporary forwarding account.An exchange close merged the account into its temporary forwarding account, and the forward to the exchange did not land. See below.

Retry or start over

Retry depends on why the close stopped. The line under the failure says which of the two it does:

  • "Press Retry to run the remaining steps again; steps marked done are not repeated." The close runs the same reviewed plan again with the wallet you have connected. Steps that landed are skipped, and everything else runs again, including the merge.
  • "Retry re-checks the account and builds a fresh plan before anything else runs." The close starts from a fresh reading of the account, and you review the new plan before anything is signed.

Retry runs the same plan again when the account's sequence number moved, a Soroban step's ledger state changed, the network or a service did not answer, your wallet did not sign, a submission's outcome is not known yet, the exchange forward did not land, the close was stopped between steps, or another run of the close for this account is still going. Any other failure rebuilds the plan.

Start over discards the run, clears the form, disconnects your wallet and takes you back to Connect. Steps that already landed stay on chain.

Retry needs the account and network the close was running on. When you switched either, the button asks you to reconnect them first.

Read the reason

Under the heading you get a summary in plain words, such as which step stopped and why. For a classic transaction, result-code chips show each operation's outcome, and a collapsed raw error section holds the exact error text. These are the phrases the summary uses:

What you seeWhat happened
the fee offered was below the network's minimumThe network got busier than the bid allowed for
the account's transaction number was out of dateThe account changed between building and submitting
the time window to submit it passedThe transaction took too long to reach the network
one of the steps was rejected, so nothing was appliedOne operation failed, so the whole transaction failed
there wasn't enough balance to cover itThe account no longer holds enough for that operation
it would drop the account below its minimum reserveThe operation would leave less than Stellar requires
the destination can't hold that asset (no trustline)The receiving account has no trustline for that asset
the account no longer holds the asset this step tried to sendThe trustline is gone since the plan was built
the destination can't hold any more of that assetThe receiving trustline is at its limit
the destination account doesn't existThe receiving account is not on this network
the swap would have returned less than allowed, the price movedThe market moved past the slippage limit
the step was built incorrectlyThe operation was malformed
the token's issuer no longer existsThe issuing account is gone

What the close retries on its own

Some failures never reach you, because the close handles them while it runs:

  • A fee bid that was too low is raised threefold, up to 0.1 XLM per operation.
  • A classic transaction the network refused for a stale sequence number, an expired time window, a moved price or a changed ledger entry is rebuilt from a fresh reading of the account and submitted again. After a price refusal the balances are quoted again; when the fresh quotes are the ones that just failed, the close stops before selling anything.
  • A Soroban step refused for a stale sequence number, changed ledger state or a stale resource fee is rebuilt and simulated again before it is signed again.
  • A brief Horizon error (a rate limit or a server error) on a read is retried with a short delay.

Each of these is bounded at three attempts, so a step that keeps failing reaches you instead of looping. A failure with a definite cause, such as a missing trustline, is not retried, because it would fail the same way.

What never happens

The account is not merged around an open position. Right before the merge, the close discovers your Blend, Aquarius and Soroswap positions again and refuses to merge while any is open or cannot be read.

A step is not reported as done unless it confirmed on chain. An exchange close counts as finished only once the forward to the exchange landed.

A submission with an unknown outcome is not sent twice. Retry looks it up on chain first.

If it stopped before the plan was built

You see Couldn't prepare this close instead, before anything is signed. When the message says the account has no record on this network, check the network selector in the top right: an account funded on mainnet does not exist on testnet, and the other way round. Select Try again, or Start over.

If an exchange forward was interrupted

A close to an exchange merges your account into a temporary forwarding account, then forwards the balance to the exchange with your deposit memo. When the forward does not land, the balance sits in the forwarding account.

The failure screen offers Resume the forward. When you come back later with that account connected, a banner reads An exchange forward was interrupted with the same button. Resuming sends the balance on to your destination with your memo, and it works after any amount of time: the app renews the forward's authorization through the server while the forwarding account exists.

The record that makes resuming possible is saved in this browser before the merge is signed. A close does not start when the browser cannot store it. Resume from the same browser profile, and do not clear its site data while a forward is pending: the forwarding account's key is derived from a value that only that record holds, so without it nobody can finish the forward.

How it works underneath

Execution and recovery covers the retry rules, the checks that refuse a merge, and the bounds on each attempt.

On this page