---
# System prepended metadata

title: External Wallet Auth using Web3Auth

---

# 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

