# @web3auth/no-modal

> Multi chain wallet aggregator for web3Auth

Latest version **11.4.1** (published 2026-09-07) · ISC license · 0 weekly downloads

## Install

```sh
npm install @web3auth/no-modal
pnpm add @web3auth/no-modal
yarn add @web3auth/no-modal
bun add @web3auth/no-modal
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 11.4.1 |
| Published | 2026-09-07 |
| First published | 2023-03-10 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22.x |
| Dependencies | 32 |
| Unpacked size | 1.2 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 490 |
| Author | Torus Labs |
| Maintainers | chaitanyapotti, archit_web3, himanshuconsensys |
| Keywords | web3Auth/no-modal, web3Auth, multichainWallet, blockchain, ethereum, solana |

## Links

- npm: https://www.npmjs.com/package/@web3auth/no-modal
- Repository: https://github.com/Web3Auth/Web3Auth
- Homepage: https://github.com/Web3Auth/Web3Auth/tree/master/packages/no-modal#readme
- Issues: https://github.com/Web3Auth/Web3Auth/issues
- npm.io page: https://npm.io/package/@web3auth/no-modal

## Dependencies (32)

- [mipd](https://npm.io/package/mipd.md) ^0.0.7
- [xrpl](https://npm.io/package/xrpl.md) ^2.14.0
- [ethers](https://npm.io/package/ethers.md) ^6.16.0
- [loglevel](https://npm.io/package/loglevel.md) ^1.9.2
- [deepmerge](https://npm.io/package/deepmerge.md) ^4.3.1
- [jwt-decode](https://npm.io/package/jwt-decode.md) ^4.0.0
- [@solana/kit](https://npm.io/package/@solana/kit.md) ^6.9.0
- [bignumber.js](https://npm.io/package/bignumber.js.md) ~9.3.1
- [@solana/client](https://npm.io/package/@solana/client.md) ^1.7.0
- [@web3auth/auth](https://npm.io/package/@web3auth/auth.md) ^11.8.1
- [ripple-keypairs](https://npm.io/package/ripple-keypairs.md) ^1.3.1
- [@web3auth/ws-embed](https://npm.io/package/@web3auth/ws-embed.md) ^6.1.0
- [@toruslabs/eccrypto](https://npm.io/package/@toruslabs/eccrypto.md) ^7.0.0
- [@toruslabs/constants](https://npm.io/package/@toruslabs/constants.md) ^16.1.1
- [@wallet-standard/app](https://npm.io/package/@wallet-standard/app.md) ^1.1.0
- [@walletconnect/types](https://npm.io/package/@walletconnect/types.md) ^2.23.9
- [@walletconnect/utils](https://npm.io/package/@walletconnect/utils.md) ^2.23.9
- [@metamask/connect-evm](https://npm.io/package/@metamask/connect-evm.md) ^2.0.0
- [@wallet-standard/base](https://npm.io/package/@wallet-standard/base.md) ^1.1.0
- [@segment/analytics-next](https://npm.io/package/@segment/analytics-next.md) ^1.84.0
- [@toruslabs/http-helpers](https://npm.io/package/@toruslabs/http-helpers.md) ^9.0.0
- [@metamask/connect-solana](https://npm.io/package/@metamask/connect-solana.md) ^2.0.0
- [@toruslabs/secure-pub-sub](https://npm.io/package/@toruslabs/secure-pub-sub.md) 4.3.0
- [@wallet-standard/features](https://npm.io/package/@wallet-standard/features.md) ^1.1.0
- [@toruslabs/loglevel-sentry](https://npm.io/package/@toruslabs/loglevel-sentry.md) ^9.0.0
- [@toruslabs/session-manager](https://npm.io/package/@toruslabs/session-manager.md) ^5.6.0
- [@walletconnect/sign-client](https://npm.io/package/@walletconnect/sign-client.md) ^2.23.9
- [@toruslabs/base-controllers](https://npm.io/package/@toruslabs/base-controllers.md) ^9.10.0
- [@toruslabs/metadata-helpers](https://npm.io/package/@toruslabs/metadata-helpers.md) ^8.2.0
- [@metamask/connect-multichain](https://npm.io/package/@metamask/connect-multichain.md) ^1.0.0
- [@toruslabs/ethereum-controllers](https://npm.io/package/@toruslabs/ethereum-controllers.md) ^9.11.0
- [@solana/wallet-standard-features](https://npm.io/package/@solana/wallet-standard-features.md) ^1.3.0

## Alternatives

- [react-native-root-siblings](https://npm.io/package/react-native-root-siblings.md) — 102.9K weekly downloads
- [@praxisui/dialog](https://npm.io/package/@praxisui/dialog.md) — 2.0K weekly downloads
- [easy-toggle-state](https://npm.io/package/easy-toggle-state.md) — 350 weekly downloads
- [ngx-lightbox-evp](https://npm.io/package/ngx-lightbox-evp.md) — 19 weekly downloads
- [react-native-modal-translucent-axton](https://npm.io/package/react-native-modal-translucent-axton.md) — 4 weekly downloads

## Recent versions

- 11.4.1 (latest) — 2026-09-07
- 11.0.0-beta.2 (next) — 2026-05-25
- 11.4.0 — 2026-08-06
- 11.3.0 — 2026-07-02
- 11.2.0 — 2026-06-15
- 11.1.0 — 2026-06-09
- 11.0.2 — 2026-06-05
- 11.0.1 — 2026-06-03
- 11.0.0 — 2026-06-02
- 11.0.0-beta.1 — 2026-05-21
- 10.16.0 — 2026-04-30
- 11.0.0-beta.0 — 2026-04-28
- 10.15.0 — 2026-02-26
- 10.14.1 — 2026-02-11
- 10.14.0 — 2026-01-27
- … 155 more at https://npm.io/package/@web3auth/no-modal/versions

## README

# Web3Auth

[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
![npm](https://img.shields.io/npm/dw/@web3auth/modal)

Web3Auth is where passwordless auth meets non-custodial key infrastructure for Web3 apps and wallets. By aggregating OAuth (Google, Twitter, Discord) logins, different wallets and innovative Multi Party Computation (MPC) - Web3Auth provides a seamless login experience to every user on your application.

## 📖 Documentation

Checkout the official [Web3Auth Documentation](https://web3auth.io/docs) and [SDK Reference](https://web3auth.io/docs/sdk/web/) to get started!

## ⚠️ Deprecations

- **Farcaster login is no longer supported.** The `farcaster` value of `AUTH_CONNECTION` has been deprecated and is no longer offered by either `@web3auth/modal` or `@web3auth/no-modal`. The modal will reject any project configuration that enables `loginMethods.farcaster`, and `noModal.connectTo(WALLET_CONNECTORS.AUTH, { authConnection: "farcaster" })` will throw a deprecation error. If you previously relied on Farcaster login, please migrate to one of the other supported `AUTH_CONNECTION` values.

## 💡 Features

- Plug and Play, OAuth based Web3 Authentication Service
- Fully decentralized, non-custodial key infrastructure
- End to end Whitelabelable solution
- Threshold Cryptography based Key Reconstruction
- Multi Factor Authentication Setup & Recovery (Includes password, backup phrase, device factor editing/deletion etc)
- Support for Email and Mobile Passwordless Login
- Support for connecting to multiple wallets
- DApp Active Session Management

  ...and a lot more

## 🎯 Web3Auth Modal SDK

[Web3Auth Plug and Play Modal SDK `@web3auth/modal`](https://web3auth.io/docs/sdk/web/web3auth/) provides a simple and easy to use SDK that will give you a simple modular way of implementing Web3Auth directly within your application. You can use the pre-configured Web3Auth Modal UI and whitelabel it according to your needs.

## ⚡ Quick Start

### Installation

```shell
npm install --save @web3auth/modal
```

### Prerequisites

Before you start, make sure you have registered on the [Web3Auth Dashboard](https://dashboard.web3auth.io/) and have set up your project. Use the Client ID of the project to start your integration.

### React Integration

Web3Auth provides React Hooks for seamless integration with React applications.

#### 1. Create Configuration

```tsx
// web3authContext.tsx
import { type Web3AuthContextConfig } from "@web3auth/modal/react";
import { WEB3AUTH_NETWORK, type Web3AuthOptions } from "@web3auth/modal";

const web3AuthOptions: Web3AuthOptions = {
  clientId: "YOUR_CLIENT_ID", // Get your Client ID from Web3Auth Dashboard
  web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_MAINNET, // or WEB3AUTH_NETWORK.SAPPHIRE_DEVNET
};

const web3AuthContextConfig: Web3AuthContextConfig = {
  web3AuthOptions,
};

export default web3AuthContextConfig;
```

#### 2. Setup Provider

```tsx
// main.tsx or index.tsx
import ReactDOM from "react-dom/client";
import { Web3AuthProvider } from "@web3auth/modal/react";
import web3AuthContextConfig from "./web3authContext";
import App from "./App";

ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
  <Web3AuthProvider config={web3AuthContextConfig}>
    <App />
  </Web3AuthProvider>
);
```

#### 3. Use Web3Auth Hooks

```tsx
// App.tsx
import { useWeb3AuthConnect } from "@web3auth/modal/react";

function ConnectButton() {
  const { connect, loading, isConnected, error } = useWeb3AuthConnect();

  return (
    <button onClick={() => connect()} disabled={loading || isConnected}>
      {loading ? "Connecting..." : isConnected ? "Connected" : "Connect"}
    </button>
    {error && <div>{error.message}</div>}
  );
}
```

### Vue Integration

Web3Auth provides Vue Composables for seamless integration with Vue applications.

#### 1. Create Configuration

```ts
// web3authContext.ts
import { type Web3AuthContextConfig } from "@web3auth/modal/vue";
import { WEB3AUTH_NETWORK, type Web3AuthOptions } from "@web3auth/modal";

const web3AuthOptions: Web3AuthOptions = {
  clientId: "YOUR_CLIENT_ID", // Get your Client ID from Web3Auth Dashboard
  web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_MAINNET, // or WEB3AUTH_NETWORK.SAPPHIRE_DEVNET
};

const web3AuthContextConfig: Web3AuthContextConfig = {
  web3AuthOptions,
};

export default web3AuthContextConfig;
```

#### 2. Setup Provider

```html
<!-- App.vue -->
<script setup lang="ts">
import Home from "./Home.vue";
import { Web3AuthProvider } from "@web3auth/modal/vue";
import web3AuthContextConfig from "./web3authContext";
</script>

<template>
  <Web3AuthProvider :config="web3AuthContextConfig">
    <Home />
  </Web3AuthProvider>
</template>
```

#### 3. Use Web3Auth Composables

```html
<!-- Home.vue -->
<script setup lang="ts">
  import { useWeb3AuthConnect } from "@web3auth/modal/vue";

  const { connect, loading, isConnected, error } = useWeb3AuthConnect();
</script>

<template>
  <button @click="connect" :disabled="loading || isConnected">
    <span v-if="loading">Connecting...</span>
    <span v-else-if="isConnected">Connected</span>
    <span v-else>Connect</span>
  </button>
  <div v-if="error">{{ error.message }}</div>
</template>
```

### JavaScript Integration

For vanilla JavaScript or other frameworks, use the standard Web3Auth Modal SDK.

#### 1. Initialize Web3Auth

```javascript
import { Web3Auth, WEB3AUTH_NETWORK } from "@web3auth/modal";

const web3auth = new Web3Auth({
  clientId: "YOUR_CLIENT_ID", // Get your Client ID from Web3Auth Dashboard
  web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_MAINNET, // or WEB3AUTH_NETWORK.SAPPHIRE_DEVNET
});

// Initialize the SDK
await web3auth.init();
```

#### 2. Login User

```javascript
// Login
await web3auth.connect();

// Get user info
const user = await web3auth.getUserInfo();

// Logout
await web3auth.logout();
```

## 🔧 Advanced Configuration

The Web3Auth Modal SDK offers a rich set of advanced configuration options:

- **Smart Accounts**: Configure account abstraction parameters
- **Custom Authentication**: Define authentication methods
- **Whitelabeling & UI Customization**: Personalize the modal's appearance
- **Multi-Factor Authentication (MFA)**: Set up and manage MFA
- **Wallet Services**: Integrate additional wallet services

## ⏪ Requirements

- All packages require a peer dependency of `@babel/runtime`
- Node 18+

## 🧳 Bundling

This module is distributed in 4 formats

- `esm` build `dist/package.esm.js` in es6 format
- `commonjs` build `dist/package.cjs.js` in es5 format
- `umd` build `dist/package.umd.min.js` in es5 format without polyfilling corejs minified

By default, the appropriate format is used for your specified usecase
You can use a different format (if you know what you're doing) by referencing the correct file

The cjs build is not polyfilled with core-js.
It is upto the user to polyfill based on the browserlist they target

### Directly in Browser

CDN's serve the non-core-js polyfilled version by default. You can use a different

Please replace package and version with the appropriate package name

#### `jsdeliver`

```js
<script src="https://cdn.jsdelivr.net/npm/@web3auth/PACKAGE@VERSION"></script>
```

#### `unpkg`

```js
<script src="https://unpkg.com/@web3auth/PACKAGE@VERSION"></script>
```

## 🩹 Examples

Check out the examples for your preferred blockchain and platform on our [examples page](https://web3auth.io/docs/examples).

## 🌐 Demo

Checkout the [Web3Auth Demo](https://demo.web3auth.io) to see how Web3Auth can be used in your application.

For more detailed examples, visit our [Web3Auth Examples repository](https://github.com/Web3Auth/web3auth-examples/). This repository contains a comprehensive collection of sample projects to help you get started with your Web3Auth integration.

## 💬 Troubleshooting and Support

- Have a look at our [Community Portal](https://community.web3auth.io/) to see if anyone has any questions or issues you might be having. Feel free to create new topics and we'll help you out as soon as possible.
- Checkout our [Troubleshooting Documentation Page](https://web3auth.io/docs/troubleshooting) to know the common issues and solutions.
- For Priority Support, please have a look at our [Pricing Page](https://web3auth.io/pricing.html) for the plan that suits your needs.

---
_Source: https://npm.io/package/@web3auth/no-modal · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
