# 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