# External Wallet Auth using Web3Auth ### Problem Statement ### Solution An SDK that abstracts all the lower level implementation details such that the implementation looks something like :- ```javascript const sdk = web3auth_external.init(blockchain: "ethereum",wallet: "metamask"); const signature = sdk.sign_siww(); const verify = sdk.get_jwt(signature); ``` ### Implementation options 1. Creating a new SDK that handles signing and verification adapted for multichain. 2. Having an option in the web3auth sdk that allows you to customize for external wallets. Pros : a. Single SDK that handles everything b. No external api call for getting SIWW message c. No external api call for getting JWT token Cons : a. Web3Auth SDK becomes heavier in size because of SIWW and other complexities b. Seperation of concerns becomes an issue