Core concepts
Intent, preview, confirmation, and the two wallet modes that power Vision.
Four ideas explain almost everything Vision does. If you understand these, the rest of the documentation is just naming the buttons. Intent An intent is what you want to happen, expressed in plain English. "Swap 1 SOL into USDC" is an intent. "Show me wallets that bought BONK before $1M market cap" is also an intent. Vision's job is to translate that English into a structured action (a swap, a query, a chart, a rule) without you having to know the API or the protocol behind it.
Simulation Before any state-changing action runs, Vision simulates it. For trades, that's a quote with the exact amounts, route, slippage, and price impact you'd get if you confirmed right now. For sends, it's a dry-run of the transfer. The simulation is what fills in the preview card you see in chat. If something is off (insufficient balance, no liquidity, suspicious token) you find out here, before you confirm.
Approval Nothing happens without your explicit approval. Every preview card has a Confirm button. Tapping it sends the transaction to your Vision Wallet's secure server-side signer (locked to your account). No browser popups, no extension required. No background trades. Vision never moves funds on its own. The Vision Wallet only signs requests authenticated as you, and you confirm every action in the preview card before it's signed.
The custody model Every account uses the Vision Wallet, which is custodial, Vision holds the authority to sign for it, after you confirm. There is no non-custodial mode any more: the public Terminal, where guests signed with their own wallet, was retired on 21 August 2026. The full picture, including what is and isn't actually held, is on the safety model page. Putting it together The five-step pipeline.
Every Vision action follows this loop. You're in the loop at simulate and approve.