- User enters his ENS (e.g. user.my-wallet.eth)
- Dapp queries the Ethereum blockchain with an ENS to get the provider source URL/IPFS hash and loads the wallet provider in a sandboxed iframe.
- Dapp interacts with the wallet provider via PostMessage interface - https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
- Messages between dapp and wallet provider should comply with EIP-1474 - https://eips.ethereum.org/EIPS/eip-1474
- Better security: wallet provider code is loaded in a sandbox environment, can't read dapp's localstorage/cookies and can't track dapp location
- Formalized specs: a wallet provider needs to provide a js code that can respond to the eip-1474 messages