Share article
Share article
Enjoy articles without ads?
Register for free and get unlimited access to all articles.
"Security" is just "did the chain do what the user meant?"
His proposed fix leans on transaction simulations. The wallet experience he sketches is closer to an "intent" prompt: [2]
- user specifies the action they want to take (swap, mint, bridge, claim),
- the wallet runs a pre-execution simulation of the exact call data,
- the user sees a clear outcome preview,
- the user then clicks "OK" or "Cancel".
What a proper pre-sign simulation should show (not vibes)
At minimum, a wallet-grade simulation should surface:
- Net token deltas: what leaves the wallet, what comes back, and to which addresses.
- Approvals and permissions: ERC-20 allowance changes, ERC-721 and ERC-1155 operator approvals, permit signatures, and any "setApprovalForAll" calls.
- Ethereum$1,686.33 and wrapped Ethereum flows: raw Ethereum transfers often get missed in UI summaries, and they are the quickest way to get rinsed.
- Contract creation or delegatecalls: anything that changes execution context or deploys fresh bytecode deserves a red flag.
- Downstream calls: if a user thinks they are interacting with a router but the transaction fans out into unknown contracts, the simulation should make that obvious.
A decent simulation summary is basically an explainer of state transitions. That is the only language the chain speaks.
Why this matters right now: drainers, approvals, and signature trickery
- Approval phishing: users grant unlimited allowances to a malicious spender, then the actual drain happens later. The initial transaction can look harmless because nothing "moves" immediately.
- Malicious "claim" contracts: airdrop lures that ask for broad approvals or invoke transfer hooks.
- Blind signing: users sign messages that are not human-readable, sometimes not even a transaction, then the attacker uses that signature elsewhere.
Wallets already simulate, but the current approach is patchy
Today's landscape looks like this:
- Many wallets show a basic decoded view (method name, parameters) that still requires expert interpretation.
- Some wallets and extensions integrate simulation providers, but coverage varies by chain, by contract pattern, and by RPC quality.
- "Warnings" are often heuristic: they catch obvious scams, but attackers adapt quickly.
The hard parts: simulations can lie, and attackers will try to make them lie
A simulation is only as good as the environment it runs in. That is where the degen in me starts getting sceptical.
Key failure modes include:
1) Untrusted RPCs and manipulated results
If a wallet relies on an RPC endpoint that is compromised or incentivised to mislead, the "preview" can be faked. This is not theoretical. Anything offchain is a potential point of corruption. [3]
Mitigation: multi-RPC verification, signed simulation results, reputation systems for RPC providers, and local verification where feasible.
2) State changes between simulation and execution
MEV, reordering, and changing pool reserves can all cause the real execution to diverge from the preview. A simulation might show a swap output that looks fine, then execution hits a different price and routes through a different path.
3) Proxy patterns and dynamic logic
4) The "approval trap"
Some scams do not drain in the same transaction. They set the hook for later. If the simulation UI only emphasises immediate token movement, users still get rugged (rug, meaning a sudden, often malicious wipeout of value or funds).
Mitigation: treat permission changes as first-class outcomes, with severity scoring and clear language.
What to watch: the path from idea to ecosystem standard
For this to become real, it needs adoption across wallets, not just another blog-post cycle on CT (Crypto Twitter). The likely routes:
- Wallet UX upgrades: more structured confirmation screens, intent-based flows, and "permission dashboards" that persist beyond a single transaction.
- Account abstraction (ERC-4337) style flows: bundlers and smart accounts can make it easier to simulate the exact user operation, including paymasters and batched calls, then present a single "this is what happens" view.
- Common simulation schemas: if every wallet invents its own outcome format, the ecosystem stays fragmented. A standard for representing deltas, approvals, and risk flags would help.
The punchline is not "simulation fixes everything." It is that simulation, done properly, forces the ecosystem to stop normalising blind signing as acceptable UX. [4]
Risk box: what would invalidate the security win?
Simulations only reduce exploits if users can trust the preview and understand it. Watch out for:
- simulation providers becoming a centralised chokepoint,
- wallets displaying "green" previews without highlighting approvals and operator permissions,
- attackers shifting to scams that look benign under simplistic delta views,
- poor RPC hygiene that allows manipulated previews.
If the preview cannot reliably answer "what changes in my wallet after I sign," then the feature becomes security theatre. The chain will still do what the calldata says, not what the UI implies.

