1
Analyze
You enter the account to close, a destination, and the network. LumenWipe reads the live
on-chain state: balances, trustlines, offers, data entries, signers, sponsorships, claimable
balances, and DeFi positions. For each asset you choose what happens to it: convert to XLM,
return to the issuer, or transfer to an account you name.
2
Review
The review page shows the complete ordered plan, the estimated fee, and the estimated XLM that
reaches the destination. No transaction exists yet. If you close the tab here, nothing is saved
and nothing has happened.
3
Sign
Confirming the review builds the first transaction. Before your signer ever sees it, the browser
decodes it and checks that it does exactly what you asked, against your own inputs and not the
server’s response. A mismatch aborts before signing. See signing
options.
4
Execute
The signed transaction is submitted and confirmed. If more work remains, the next round starts
from fresh on-chain state, until the account is merged.
The plan
For a given account state the plan is always the same. It runs in this order, which satisfies the ledger’s constraints:- Exit DeFi positions, each as its own transaction
- Normalize signers, when extra signers exist
- Remove data entries
- Claim claimable balances
- Cancel offers
- Withdraw liquidity pool shares
- Handle each asset
- Remove trustlines
- Merge the account
One transaction, or several
Most accounts close in a single transaction, signed once. More are needed in a few cases:- An exchange destination adds one transaction, the mediator transfer. See exchange closes.
- Claimable balances are claimed first and the account is closed second, so the proceeds are not lost.
- A Soroban step, such as a DeFi exit or a Soroswap aggregator swap, is its own transaction, because it cannot be mixed with other operations.
- More than 100 operations are split into the fewest transactions the protocol limit allows.
Interruptions are safe
The server keeps no progress between rounds. Each round re-reads the account and works out what remains. If your browser closes or a submission fails, reopen the flow and continue: steps that already confirmed are skipped, and a failed step can be retried on its own.Prefer to drive this from your own code? The same flow is available through the REST API and the
@lumenwipe/sdk package.