- Alice generates random transit key pair and signs transit public key with her device's private key
- Alice sends transit private key and transit signature to Bob
- Clicking the link, Bob is directed to a webpage
- Bob generates his own private key stored in the browser and uses the transit private key to sign his new address
- Bob’s browser sends his two signatures to the relayer
- The Relayer calls Alice’s identity contract
- Then Alice’s identity contract creates an identity contract for Bob (if Bob didn't have Identity contract before)
- Tokens are transfered from Alice's contract to Bob's new contract
- Bob now got the tokens, and in addition has a Universal Login Contract and ENS name. The private key generated in p.4 is attached to Bobs Identity Contract
Bonus: In addition, Bob can now also help Alice recover access to her identity contract in the future using a social key recovery mechanism