I had a slightly weird thought today while dealing with wallet integration issues.
A lot of Web3 UX problems still come from the fact that users are expected to understand that a wallet even exists.
Install an extension. Create an account. Store a seed phrase. Connect the wallet. Switch networks. Confirm transactions. Understand what is being signed. Think about gas.
For people already in crypto this feels normal. For everyone else, it probably shouldn’t.
So I started wondering how far Aztec’s wallet abstraction could eventually go.
Imagine a wallet that has no real user-facing wallet UI at all.
A user opens an Aztec application for the first time and simply creates a profile using Face ID, Touch ID, Windows Hello, a passkey, or whatever secure authentication their device supports.
Behind the scenes, a local wallet runtime creates and manages the Aztec account, PXE state and required keys.
From the user’s perspective, there is no “wallet setup”.
They just created an account in the app.
Later they want to do something — for example swap 10 ETH for USDC.
The application sends the requested intent to the wallet runtime. Instead of opening a wallet extension and showing technical transaction details, the runtime presents something understandable:
Swap 10 ETH → minimum X USDC
Maximum fee: Y
Confirm with Face ID
The user confirms it.
Everything else — private execution, simulation, proofs, signing, transaction construction, PXE interaction — happens underneath.
The important part is that I don’t mean giving the dApp control over the user’s keys.
The wallet would still remain an independent security boundary. The application asks for an action, while the wallet/runtime independently decides what is actually being authorized and displays the final intent through a trusted confirmation layer.
Basically, the wallet becomes infrastructure rather than a product the user constantly interacts with.
Something closer to an OS keychain than MetaMask.
I think this could solve one of the biggest UX problems in Web3: instead of teaching normal users how wallets and blockchain transactions work, we simply stop exposing those concepts unless they actually need them.
Aztec seems unusually suitable for something like this because PXE already creates a substantial local execution environment, and native account abstraction gives much more flexibility around authorization.
But there are also some obvious problems with this idea in the current architecture.
The first one seems to be protocol key custody.
Using a passkey / Secure Enclave for transaction authorization feels relatively understandable, but PXE still needs access to Aztec protocol secrets for private state, note discovery, nullifiers, etc. So a model where absolutely everything important lives only inside a hardware-backed passkey doesn’t seem possible today.
The second big problem is recovery.
If the wallet becomes invisible and the user never receives a seed phrase, what happens when they lose their phone?
Recovering a signing key is one problem. Recovering the protocol secrets required to reconstruct the user’s private Aztec state seems considerably harder.
Then there is multi-device support.
If I create my account on my phone, what is the clean security model for using the same private account later on a laptop?
And finally there is the question of permissions between applications.
A shared headless PXE/wallet runtime would need a very strong permission model so one application cannot silently access capabilities granted to another.
So I’m curious how the Aztec team thinks about the long-term direction here.
Could PXE eventually exist as a shared, headless local wallet runtime rather than something primarily associated with a visible wallet application or extension?
Could dApps interact with it mostly through intents and permissions, while owning almost the entire user-facing UX?
Is passkey / biometric-native authorization expected to become a normal account model?
Are protocol key portability and recovery areas that the architecture is expected to improve over time?
And maybe the broader question:
Does Aztec ultimately expect users to consciously interact with a “wallet”, or could the wallet eventually disappear from the user’s mental model entirely?
I’m not proposing that this should exist tomorrow — there are clearly some hard problems here.
I’m mostly curious whether this direction fits how the team thinks about the end-state of Aztec wallets, or whether there are protocol/security constraints that make an explicit wallet a necessary part of the model long-term.