# Smart Contract Wallets for Farcaster Users who sign up for Farcaster today go through a flow like this: 1. The Merkle Farcaster app creates a new EOA for the user 2. The EOA is used to register an fid and an fname 3. The EOA signs a message which authorizes an EdDSA key pair as a signer A few people have suggested using smart contract wallets with EIP-1271. The assumption is that users already have an EOA (Metamask, Rainbow etc) which can be re-used. The flow would look like this instead: 1. User deploys a contract from their EOA wallet 2. As part of the deploy, the contract registers an fid and an fname 3. The EOA signs a message which authorizes an EdDSA key pair as a signer ### Pros The main benefits of this approach are: 1. Users who have an EOA don't need to back up a new seed phrase. 2. Social apps don't need to implement EOA functionality and can be more lightweight 3. The wallet can implement a more customizable recovery system. ### Cons However, there are some significant drawbacks: 1. Signup costs increase by 3x - 5x due to contract deployment, which users are sensitive to. 2. Users without an EOA must set up a wallet first, which is a very bad user experience. 3. Authorizing an EdDSA key pair must go through the EIP-712 process which is still very opaque to the average user. Social EOA wallets can implement a much better EdDSA approval process similar to OAuth. ### Conclusion Using smart contract wallets would make Farcaster more expensive, less accessible to non-Ethereum users and less user friendly when authorizing social apps. The downsides seem to significantly outweigh the upsides for now.