set_demo_wallet
Set a demo wallet to activate live simulation of on-chain transactions using curated or custom addresses.
Instructions
DEMO MODE ONLY — switch the active demo wallet via one of three input shapes. Once a wallet is set, demo mode upgrades from default (signing-class tools refuse) to live mode (prepare_, simulate_, preview_send run REAL against the wallet's on-chain state; send_transaction returns a simulation envelope instead of broadcasting). INPUT SHAPES: (1) { chain, type } — per-cell loader. e.g. { chain: 'bitcoin', type: 'whale' } loads ONE address into the BTC slot, leaving evm/solana/tron slots untouched. Multiple per-cell calls accumulate; same chain twice replaces. Chains: evm | solana | tron | bitcoin. Types: defi-degen | stable-saver | staking-maxi | whale. Some cells are intentionally null (BTC defi-degen, Solana staking-maxi, etc.) — call get_demo_wallet first to see the matrix. (2) { persona } — batch loader. Same as four per-cell calls for one type at once. Convenience for 'load me a whole whale wallet across every chain that has one'. (3) { custom: { evm: [...], solana: [...], tron: [...], bitcoin: [...] } } — arbitrary addresses (read-only, no security risk). Pass {} (no args) to clear and return to default demo mode. Calling outside demo mode (env unset) returns a no-op response — the tool stays available so an agent can always discover the surface, but never affects real signing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain dimension of the demo-wallet matrix. Pair with `type` to load a single (chain, type) cell. Replaces any previous slot for this chain; other chains stay as they are. | |
| type | No | Type / archetype dimension of the demo-wallet matrix. Pair with `chain` to load a single (chain, type) cell. | |
| persona | No | Persona / type ID to batch-activate across every chain that has a curated cell. Convenience over four `{ chain, type }` calls. Mutually exclusive with `chain`+`type` and with `custom`. Omit all three to clear the live wallet. | |
| custom | No | Custom address bundle. Mutually exclusive with `chain`+`type` and `persona`. At least one chain field must be non-empty. |