Positions & custody

Where your positions live — and how to get out

The Topaz AI Wallet is self-custody, but it works differently from a plain wallet: your funds and positions live in a smart account that you own and control. Understanding this makes exiting and withdrawing straightforward.

Your self-custody smart account

When you use the AI Wallet, your positions are not held directly by the wallet you log in with (your EOA). Instead, they live in a smart-contract account (the TopazAccount) that is owned by your EOA.

Who owns itYour connected wallet (EOA) is set as the owner at creation. Only the owner can execute — every action requires your signature.
Where it comes fromIt is deployed for you from a factory using a deterministic (CREATE2) address derived from your wallet address, so the same wallet always maps to the same account.
What it holdsAll your in-app assets: tokens, concentrated-liquidity NFTs, and v2 LP tokens — staked or unstaked — are custodied by this account.
How actions runActions are executed by the account itself via delegatecall into allowlisted connector contracts. Because the connector runs as the account, anything it mints or stakes is owned by the account.

Why a smart account?

It is what makes atomic batching possible: because one account holds everything and runs every step, any mix of swaps, liquidity actions, and claims can be composed into a single all-or-nothing transaction and simulated as one unit — while you keep sole signing authority.

Funding your account

  1. 1

    Connect your wallet

    Sign in with an injected wallet (e.g. MetaMask), WalletConnect, or Topaz email login. That wallet — your EOA — becomes the owner of your smart account.

  2. 2

    Your smart account is resolved

    The app computes your account address deterministically from your wallet. It is deployed on demand the first time you execute, in the same transaction flow.

  3. 3

    Move funds in

    Native BNB is wrapped and pulled into the account as part of a batch; ERC-20 tokens are pulled in after you approve them. Existing CL positions can be migrated in (below).

You can also choose to keep funds in the account between actions (a working balance) so later steps can use them, or sweep them back to your wallet at any time.

Bringing in existing positions

If you already hold Topaz concentrated-liquidity positions in your wallet, the Migrate flow moves them into your smart account: it transfers each position NFT in and re-stakes it in its gauge if one exists. After migration, the account owns and manages them like any in-app position.

Migration currently covers concentrated-liquidity position NFTs. Bringing in v2 LP is not yet available.

Exiting positions

Closing a position is just another action you can ask for. For concentrated liquidity, there are three exit modes:

Both tokensUnstake, burn the position, and return both underlying tokens (plus accrued fees and rewards) to the account. WBNB is unwrapped to native BNB.
Single tokenUnstake and burn the position, then swap everything into one token you choose (BNB included), so you walk away holding a single asset.
NFT onlyUnstake and hand the live position NFT — liquidity intact — back to your wallet, so you can manage it elsewhere or re-import it later.

v2 positions remove similarly: take out any percentage of your LP and exit to both tokens or consolidate into a single token.

Where your funds go on exit

When you close a position, the freed tokens land in your smart account's working balance first. To get them into your wallet, the bundle includes a final sweep step that transfers them back to your EOA. The app adds this for you by default.

Keep funds deployed instead

If you intend to immediately redeploy (e.g. exit one position and zap into another in the same batch), you can keep the proceeds in the account as a working balance rather than sweeping them out — a later step then consumes them. A safety check ensures funds are never left stranded unintentionally: a bundle that frees funds must either sweep them or explicitly acknowledge keeping them in the account.

Because everything is simulated first, you always see exactly which tokens end up in your wallet versus your account before you sign. More on simulation and guardrails →