product definition
user
goals
how user experience today
bad outcomes
problems
causes
product solutions
object model
non-requirements
scope
account abstraction (aa) is a meaningful step forward for onchain users — but the more accounts a user accumulates, the harder their onchain existence becomes — and the irony is they need offchain accounts to access most of their onchain ones. a universal account manager starts where aa leaves off — not at the account level, but at the graph level: the complete surface of who you are online, onchain and off.
this document defines requirements for a standalone tool that serves as the single place a user manages any set of accounts, and any type of accounts they control — onchain and off. it captures new accounts as they're created, maps the credentials that protect them, monitors their security over time, propagates changes across chains and services, and models what breaks if something goes wrong.
not a wallet. not a dapp browser. not a password manager replacement (though it layers on top of one). a new category: the account graph. the prototype is a desktop extension.
key features

power user who manages multiple online identities, credentials, and accounts across web2 (offchain) and web3 (onchain). maintains eoas, smart contract wallets, passkeys, hardware keys, session keys, multisig configs, and traditional web2 logins. operates across multiple chains and services.
users managing online and onchain accounts share five goals — whether they hold two accounts or two hundred, and on one chain or many.

web2 credentials live in a password manager. web3 keys live in wallet apps, sometimes backed up as seed phrases. smart wallet signer configs live onchain per deployment per chain. session keys are granted per dapp and tracked nowhere. recovery setups are configured per wallet per chain with no unified view.
when the user creates a new web2 account, the password manager catches it. when the user creates a new web3 account onchain, nothing catches it.
today, users navigating web2 and web3 accounts face a set of failures that no single wallet or password manager or aa infrastructure prevents.

these problems aren't just security risks — they're productivity losses. without situational awareness across accounts and credentials, users spend time on manual tracking, miss exposures, and can't act on changes efficiently.

each problem traces to a root cause — tools that were built for one side of the user's identity and never designed to see the other.

a universal account manager addresses each cause with a corresponding solution — bridging the gap between web2 and web3 tooling into one surface.

the core object is an account — a relationship between the user and a service, chain, or protocol.



the prototype was built iteratively across four versions.
v1 established the core data model and browsing.
v2 added security awareness.
v3 introduced write operations
v4 extended the model toward identity interoperability — verified credentials with w3c vc fields, correlation tracking across shared credentials, profile creation, and import/export using the w3c universal wallet 2020 spec.
each version built on the last without replacing it.

the prototype simulates a chrome extension side panel running alongside a web page. the demo loads a simulated metamask portfolio page — token balances, tabs, a connected address — to show how the extension detects the current site and offers to capture or update account data in context.
clicking the extension icon in the toolbar opens the side panel directly. the prototype is a single HTML file built with react and typescript, deployed to github pages.
all data is local and simulated — no backend, no chain calls, no real credentials. write operations like rotate and revoke simulate the walletconnect signing flow with progress animations.
the prototype is meant to demonstrate the interaction model, not the infrastructure.

