Account Demolisher

The demo account

A one-click testnet account that exercises most of the demolisher's classical and Soroban surfaces.

The demo account is the recommended first run. It is a throwaway testnet account, fully constructed in browser memory, that picks up most of the state shapes the demolisher knows how to clean up (classical trustlines, data entries, an offer, a co-signer, a self-sponsored claimable balance, credit balances, a Blend supply position, and a SEP-41 allowance).

The demo never runs on mainnet. The button is gated on the network having a friendbot endpoint, so the deployment only enables it on testnet and futurenet.

What it does, step by step

#StepWhat lands on chain
1Generate fresh keypairA fresh ed25519 keypair, in browser memory only. The secret never leaves the tab.
2Fund with friendbot10,000 testnet XLM.
3Open trustlinesUSDC (Circle testnet issuer), AQUA, YXLM. The AQUA and YXLM issuers are demo-local keypairs so the next step can mint into them.
4Write data entriesTwo manageData entries (demo:protocol, demo:purpose).
5Place a sell offerSell 100 XLM for 50 USDC, far from market.
6Add a co-signerRandom ed25519 added at weight 1.
7Issue credit balancesThe demo issuers mint 1000 AQUA and 500 YXLM into the demo account.
8Create a claimable balance5 XLM CB with the demo account as unconditional claimant. The demo account becomes the sponsor of the entry.
9Supply collateral to Blend50 XLM into the Blend testnet pool with RequestType.SupplyCollateral.
10Swap XLM to USDC on SoroswapAggregator-routed. Skipped on testnet: no on-chain liquidity.
11Add liquidity to Soroswap LPSkipped if step 10 was skipped. Depends on USDC from the swap.
12Approve a SEP-41 allowance100 stroops on the native-XLM SAC to a throwaway random spender.
13Ready to demolishConnector is loaded; the UI surfaces the demo account public key, an explorer link, and a Continue button.

If a step fails it is contained: only steps 1 and 2 are hard required for the rest of the flow. Everything else can be marked skipped or failed and the demo still produces a usable account. This is why a Soroswap testnet outage on step 10 does not break the whole demo.

After the demo finishes

Click Continue to demolish. The connector for the demo account is registered, the wallet store flips an isDemo flag, and you land on the configure step.

In the configure step the destination input has a small Use demo address shortcut button next to its label. It is only visible when isDemo is true. One click pastes a stable testnet sink address into the field, so you can run the demolition without having to source a separate testnet wallet.

From there the closure flow is identical to a real-wallet flow: build and simulate the plan, type the last four characters of the destination, run the executor.

What you can learn from a demo run

  • The plan tree assembles from real state. A RevokeAllowance node for the SEP-41 approval. A WithdrawBlend node for the Blend collateral. A FinalClassicTx that claims the CB, returns the credit balances to their demo issuers, removes the three trustlines, deletes the two data entries, cancels the offer, clears the co-signer, and merges the account.
  • The merge lands on chain. After the executor finishes, the success card surfaces the merge transaction hash linked to stellar.expert.
  • The mediator path is exercised if you change the destination to a centralized exchange address (the demolisher matches the address against the registry at src/lib/safety/cex-registry.ts and surfaces the memo requirement).

The demo is not magic

The demo account is a real account on Stellar testnet. The funding, the trustlines, the offer, the data entries, the signer, the claimable balance, the Blend supply, and the SEP-41 allowance are all real on-chain operations. If you copy the public key into the explorer mid-run, you will see them appear.

When the demolition runs, the same is true. Every transaction is on chain, with a hash you can verify.