# \[Archive\] How to implement server wallet through web3auth?

**URL:** <https://builder.metamask.io/t/archive-how-to-implement-server-wallet-through-web3auth/1050>\
**Category:** Embedded Wallets (Web3Auth)\
**Created:** [April 3, 2025, 7:01pm UTC](https://builder.metamask.io/t/archive-how-to-implement-server-wallet-through-web3auth/1050 "2025-04-03T19:01:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![cwqh2y2qsd](https://avatars.discourse-cdn.com/v4/letter/c/3ab097/32.png) [@cwqh2y2qsd](https://builder.metamask.io/u/cwqh2y2qsd)\
**Post date:** [April 3, 2025, 7:01pm UTC](https://builder.metamask.io/t/archive-how-to-implement-server-wallet-through-web3auth/1050/1 "2025-04-03T19:01:48Z")

</div>

> **🏛 Archived Content from Web3Auth Community**
> 
> This topic was originally posted by **cwqh2y2qsd** on 4/3/2025.  
> This content has been migrated from our previous community forum to preserve valuable discussions.

* * *

What is the best way to implement a server wallet similar to how Privy does? (Apologies for mentioning the competition) but just wondering if there is a recommended way to do this with web3auth?

---

<div class="post-metadata">

**Author:** ![w3abot](https://avatars.discourse-cdn.com/v4/letter/w/4da419/32.png) [@w3abot](https://builder.metamask.io/u/w3abot)\
**Post date:** [April 3, 2025, 7:03pm UTC](https://builder.metamask.io/t/archive-how-to-implement-server-wallet-through-web3auth/1050/2 "2025-04-03T19:03:42Z")

</div>

Hello Warren Peace!

Thanks for reaching out with your question. No worries about mentioning other services—it’s always good to explore different solutions. To implement a server wallet using Web3Auth, you’ll want to focus on configuring the MPC Core Kit SDK for your server-side needs.

Here’s a brief overview of how you can approach this:

1. **Initialize Web3Auth:** Set up the Web3Auth instance on your server. For details on initialization, including using the MPC Core Kit, refer to the [Web3Auth Developer Documentation](https://docs.web3auth.io).

2. **Using a Server Wallet:** The server wallet setup typically involves securely managing private keys and tokens. With Web3Auth, you can utilize the core SDK to manage key pairs derived from user sessions.

3. **Security Considerations:** Ensure that your server-side logic is secure, especially when handling sensitive data like private keys.

4. **Integration with Backend:** Often, server wallets are integrated with a backend service for tracking user sessions and transactions. Web3Auth’s architecture can be used to seamlessly interact with blockchain networks from your server-side environment.

For a more detailed walkthrough, I recommend checking the specific sections in the documentation, such as server-side implementation using the MPC Core Kit and any related guidelines on security best practices.

Feel free to reach out if you have more specific queries or need further assistance!

> Note: This response was generated by an AI bot and may require further verification. The Web3Auth support team has tracked this issue and will be responding as soon as possible.

> Additionally, we would recommend you to join our biweekly Office Hours to get this resolved even faster. [Web3Auth Developer Office Hours](https://web3auth.io/community/t/web3auth-developer-office-hours/8777)

---

<div class="post-metadata">

**Author:** ![shahbaz](https://yyz1.discourse-cdn.com/flex011/user_avatar/builder.metamask.io/shahbaz/32/1527_2.png) [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Post date:** [April 4, 2025, 3:06am UTC](https://builder.metamask.io/t/archive-how-to-implement-server-wallet-through-web3auth/1050/3 "2025-04-04T03:06:58Z")

</div>

Hey @cwqh2y2qsd

Yes, it is available. You can use our SFA JS SDK that supports the node environment.

 ![](https://canada1.discourse-cdn.com/flex011/uploads/metamaskbuilderhub/original/1X/4bea15d5fdfd372b2e7fae21263c61fab3da9379.png)

```
  <a href="https://web3auth.io/docs/sdk/sfa/sfa-js/initialize" target="_blank" rel="noopener">web3auth.io</a>

```

### [Initializing Single Factor Auth JS SDK | Documentation | Web3Auth](https://web3auth.io/docs/sdk/sfa/sfa-js/initialize)

Web3Auth Single Factor Auth JS SDK - Initialize | Documentation - Web3Auth

Also, look at this example, which generates an EVM address on the server side.

```
  <a href="https://github.com/Web3Auth/web3auth-core-kit-examples/blob/main/single-factor-auth-node/sfa-node-quick-start/index.js" target="_blank" rel="noopener">github.com</a>

```

#### [Web3Auth/web3auth-core-kit-examples/blob/main/single-factor-auth-node/sfa-node-quick-start/index.js](https://github.com/Web3Auth/web3auth-core-kit-examples/blob/main/single-factor-auth-node/sfa-node-quick-start/index.js)

```
  <pre><code class="lang-js">// IMP START - Quick Start

```

const {Web3Auth, SDK\_MODE} = require(‘@web3auth/single-factor-auth’);  
const {CHAIN\_NAMESPACES, WEB3AUTH\_NETWORK} = require(‘@web3auth/base’);  
const { EthereumPrivateKeyProvider } = require(“@web3auth/ethereum-provider”);  
// IMP END - Quick Start  
const jwt = require(‘jsonwebtoken’);  
const fs = require(‘fs’);

// IMP START - Dashboard Registration  
const clientId = “BPi5PB\_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe\_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ”; // Get your Client ID from Web3Auth Dashboard  
// IMP END - Dashboard Registration

// IMP START - Verifier Creation  
const verifier = “w3a-node-demo”;  
// IMP END - Verifier Creation

// IMP START - Chain Config  
const chainConfig = {  
chainId: ‘0x1’,  
displayName: ‘Ethereum Mainnet’,

This file has been truncated. [show original](https://github.com/Web3Auth/web3auth-core-kit-examples/blob/main/single-factor-auth-node/sfa-node-quick-start/index.js)
