# Account Linking ## Problem Using a new app may may require an on-chain transaction. For example, signing up for Farcaster requires making a transaction to the Registry to get an fid. Using your primary wallet to make this transaction may be impractical for a few reasons: 1. Your wallet is on your ledger, at home 2. Your wallet is on your desktop, and you’re on your phone 3. Your wallet is available, but you’re having trouble connecting 4. You don’t trust this app, and would prefer not to have it come close to your wallet ## Solution The app creates a new wallet, uses a paymaster to cover the transaction costs and can charge you in fiat if necessary. The problem is that you now have a wallet for each new app and remembering the recovery phrases is impractical. An account linking system might help. The new wallet can nominate another account as its recovery address. The recovery address can move the assets in the wallet to a new location after a configurable delay. Users can set their own primary wallet as a recovery, nominate a friend or use a third party service. There are a couple of ways this can be implemented: 1. **Special purpose**, where the recovery logic is built into the contract issuing the on-chain asset. Apps can create regular EOA's which are free but the downside is that recovery only works for that asset and not other things that may end up in the wallet. 2. **General purpose**, where the recovery system is baked into the new wallet which is a smart contract. Apps must deploy more expensive smart contracts but all kinds of assets can be recovered.