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, built in your browser, 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

There are 13 steps. Only the first two are required; everything after is best-effort, so a single failure is contained rather than breaking the run.

#StepWhat lands on chain
1Generate a fresh keypairA fresh ed25519 keypair, in browser memory only. The secret never leaves the tab.
2Fund with friendbot10,000 testnet XLM. This is the one step that is fatal if it fails.
3Open trustlinesUSDC (Circle testnet issuer), AQUA, and YXLM. The AQUA and YXLM issuers are demo-local keypairs, so the next steps can mint into them.
4Write data entriesTwo manageData entries.
5Place a sell offerSell 100 XLM for 50 USDC, far from any market price.
6Add a co-signerA random ed25519 signer added at weight 1.
7Issue credit balancesThe demo issuers mint 1000 AQUA and 500 YXLM into the demo account.
8Create a claimable balanceA 5-XLM claimable balance with the demo account as its unconditional claimant. The demo account becomes the sponsor of the entry.
9Supply collateral to Blend50 XLM into the Blend testnet pool as supply collateral.
10Swap XLM to USDC on SoroswapAggregator-routed. Skipped on testnet: no on-chain liquidity.
11Add liquidity to SoroswapSkipped if step 10 was skipped, since it needs the USDC the swap would have produced.
12Approve a SEP-41 allowance100 stroops on the native-XLM SAC, granted to a throwaway random spender.
13Ready to demolishThe connector is loaded; the UI shows the demo account's public key, an explorer link, and a Continue button.

Which of these are real DeFi positions

Worth being precise, because the naming can mislead:

  • The only real DeFi position the demo actually creates is the Blend supply (step 9). The Soroswap swap and LP steps (10 and 11) are part of the sequence but are skipped in every configuration the demo can run in: the demo needs a friendbot, so it runs only on testnet and futurenet (mainnet has none), Soroswap has no pools on testnet, and it is unsupported on futurenet. So the Soroswap steps never actually create a position.
  • AQUA and YXLM here are plain classic tokens from demo-local issuers (a trustline plus a minted credit balance). They are not Aquarius AMM positions. The demo does not set up Aquarius or FxDAO positions. The closure flow handles those protocols when a real account holds them; the demo simply does not create them.

After the demo finishes

Click Continue. 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 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 closure without sourcing a separate testnet wallet.

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

What a testnet demo run looks like

Because the Soroswap steps skip on testnet, a testnet demo produces a plan with:

  • A RevokeAllowance node for the SEP-41 approval from step 12.
  • A WithdrawBlend node for the 50 XLM of Blend collateral from step 9.
  • A FinalClassicTx that claims the claimable balance, returns the AQUA and YXLM credit balances to their demo issuers (they have no market path, so you consent to return them), removes the three trustlines, deletes the two data entries, cancels the offer, clears the co-signer, and merges the account.

After the executor finishes, the success card shows the merge transaction hash, linked to stellar.expert.

If you change the destination to a centralized exchange address, the mediator path is exercised: the demolisher matches the address against the registry at src/lib/safety/cex-registry.ts and enforces the exchange's memo requirement.

The demo is not a mock

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. Copy the public key into an explorer mid-run and you will watch them appear. When the closure runs, the same is true: every transaction is on chain, with a hash you can verify.