{"id":14958614,"url":"https://github.com/web3auth/web3auth-web","last_synced_at":"2025-05-15T07:06:10.925Z","repository":{"id":37274137,"uuid":"424083487","full_name":"Web3Auth/web3auth-web","owner":"Web3Auth","description":"Simple infrastructure that enables Web3 wallets and applications to provide seamless user logins for both mainstream and Web3.0 users.","archived":false,"fork":false,"pushed_at":"2025-05-12T13:06:19.000Z","size":130492,"stargazers_count":445,"open_issues_count":38,"forks_count":238,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-05-13T01:35:29.894Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://web3auth.io/docs","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Web3Auth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-11-03T03:46:36.000Z","updated_at":"2025-05-05T19:00:48.000Z","dependencies_parsed_at":"2022-07-14T06:10:28.936Z","dependency_job_id":"5fed8b2a-aca7-4757-8734-84001d765f69","html_url":"https://github.com/Web3Auth/web3auth-web","commit_stats":{"total_commits":1907,"total_committers":40,"mean_commits":47.675,"dds":0.6135291033036183,"last_synced_commit":"24afd191e1831382d6d7c4f97916a3113ba7c0c5"},"previous_names":["web3auth/web3auth"],"tags_count":270,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Web3Auth","download_url":"https://codeload.github.com/Web3Auth/web3auth-web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292042,"owners_count":22046426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T13:17:34.203Z","updated_at":"2025-05-15T07:06:05.907Z","avatar_url":"https://github.com/Web3Auth.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web3Auth\n\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n![npm](https://img.shields.io/npm/dw/@web3auth/no-modal)\n![GitHub Workflow Status](https://img.shields.io/github/workflow/status/web3auth/web3auth/Build%20\u0026%20Release)\n\nWeb3Auth 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.\n\n## 📖 Documentation\n\nCheckout the official [Web3Auth Documentation](https://web3auth.io/docs) and [SDK Reference](https://web3auth.io/docs/sdk/web/) to get started!\n\n## 💡 Features\n\n- Plug and Play, OAuth based Web3 Authentication Service\n- Fully decentralized, non-custodial key infrastructure\n- End to end Whitelabelable solution\n- Threshold Cryptography based Key Reconstruction\n- Multi Factor Authentication Setup \u0026 Recovery (Includes password, backup phrase, device factor editing/deletion etc)\n- Support for WebAuthn \u0026 Passwordless Login\n- Support for connecting to multiple wallets\n- DApp Active Session Management\n\n  ...and a lot more\n\n## 💭 Choosing Between SDKs\n\nFor using Web3Auth in the web, you have two choices of SDKs to get started with.\n\n[Web3Auth Plug and Play Modal SDK `@web3auth/modal`](https://web3auth.io/docs/sdk/web/web3auth/): 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.\n\n[Web3Auth Plug and Play NoModal SDK `@web3auth/no-modal`](https://web3auth.io/docs/sdk/web/no-modal/): The nomodal module implementing all the Web3Auth features you need and giving you the flexibility of using your own UI with the Web3Auth SDK working in the backend.\n\n## ⚡ Quick Start\n\n### Installation (Web3Auth Plug and Play Modal)\n\n```shell\nnpm install --save @web3auth/modal\n```\n\n### Get your Client ID from Web3Auth Dashboard\n\nHop on to the [Web3Auth Dashboard](https://dashboard.web3auth.io/) and create a new project. Use the Client ID of the project to start your integration.\n\n![Web3Auth Dashboard](https://github-production-user-asset-6210df.s3.amazonaws.com/6962565/272779464-043f6383-e671-4aa5-80fb-ec87c569e5ab.png)\n\n### Initialize Web3Auth for your preferred blockchain\n\nWeb3Auth needs to initialise as soon as your app loads up to enable the user to log in. Preferably done within a constructor, initialisation is the step where you can pass on all the configurations for Web3Auth you want. A simple integration for Ethereum blockchain will look like this:\n\n```js\nimport { Web3Auth } from \"@web3auth/modal\";\n\n//Initialize within your constructor\nconst web3auth = new Web3Auth({\n  clientId: \"\", // Get your Client ID from Web3Auth Dashboard\n  chainConfig: {\n    chainNamespace: \"eip155\",\n    chainId: \"0x1\",\n  },\n});\n\nawait web3auth.initModal();\n```\n\n### Login your User\n\nOnce you're done initialising, just create a button that triggers to open the login modal for the user on their request. Logging in is as easy as:\n\n```js\nawait web3auth.connect();\n```\n\n## 📦 Packages within this repository\n\n| Packages                                       | `@latest` Version                                                                                                                                                                             | Size                                                                                                                                                                                                     | Description                                                                                                                                                                                                                                                                                                          |\n| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| 🏠 **PnP Web**                                 |\n| `@web3auth/no-modal`                           | [![npm version](https://img.shields.io/npm/v/@web3auth/no-modal?label=%22%22)](https://www.npmjs.com/package/@web3auth/no-modal/v/latest)                                                     | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/no-modal?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/no-modal@latest)                                                     | Provides the core logic for handling adapters within web3auth. This package acts as a manager for all the adapters. You should use this package to build your custom login UI on top of web3auth.                                                                                                                    |\n| `@web3auth/modal`                              | [![npm version](https://img.shields.io/npm/v/@web3auth/modal?label=%22%22)](https://www.npmjs.com/package/@web3auth/modal/v/latest)                                                           | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/modal?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/modal@latest)                                                           | Provides the main class for using default web3auth modal. It inherits `@web3auth/no-modal` package. So you can still call all the functions available in the `@web3auth/no-modal` api reference. The package includes all of our packages and gives you a simple way of implementing Web3Auth within your interface. |\n| 🪝 **PnP Web Hooks**                           |\n| `@web3auth/modal-react-hooks`                  | [![npm version](https://img.shields.io/npm/v/@web3auth/modal-react-hooks?label=%22%22)](https://www.npmjs.com/package/@web3auth/modal-react-hooks/v/latest)                                   | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/modal-react-hooks?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/modal-react-hooks@latest)                                   | Provides React hooks for easy integration of Web3Auth Modal in React applications. Simplifies state management and Web3Auth interactions within React components.                                                                                                                                                    |\n| `@web3auth/no-modal-react-hooks`               | [![npm version](https://img.shields.io/npm/v/@web3auth/no-modal-react-hooks?label=%22%22)](https://www.npmjs.com/package/@web3auth/no-modal-react-hooks/v/latest)                             | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/no-modal-react-hooks?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/no-modal-react-hooks@latest)                             | Provides React hooks for integrating Web3Auth No Modal SDK in React applications. Offers flexibility for custom UI implementations while simplifying Web3Auth state management and interactions.                                                                                                                     |\n| 🔌 **Adapters**                                |\n| `@web3auth/coinbase-adapter`                   | [![npm version](https://img.shields.io/npm/v/@web3auth/coinbase-adapter?label=%22%22)](https://www.npmjs.com/package/@web3auth/coinbase-adapter/v/latest)                                     | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/coinbase-adapter?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/coinbase-adapter@latest)                                     | Adds coinbase login functionality                                                                                                                                                                                                                                                                                    |\n| `@web3auth/auth-adapter`                       | [![npm version](https://img.shields.io/npm/v/@web3auth/auth-adapter?label=%22%22)](https://www.npmjs.com/package/@web3auth/auth-adapter/v/latest)                                             | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/auth-adapter?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/auth-adapter@latest)                                             | Adds social logins with MFA functionality                                                                                                                                                                                                                                                                            |\n| `@web3auth/torus-evm-adapter`                  | [![npm version](https://img.shields.io/npm/v/@web3auth/torus-evm-adapter?label=%22%22)](https://www.npmjs.com/package/@web3auth/torus-evm-adapter/v/latest)                                   | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/torus-evm-adapter?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/torus-evm-adapter@latest)                                   | Adds Torus Wallet login functionality (https://app.tor.us)                                                                                                                                                                                                                                                           |\n| `@web3auth/torus-solana-adapter`               | [![npm version](https://img.shields.io/npm/v/@web3auth/torus-solana-adapter?label=%22%22)](https://www.npmjs.com/package/@web3auth/torus-solana-adapter/v/latest)                             | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/torus-solana-adapter?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/torus-solana-adapter@latest)                             | Adds Solana Torus Wallet login functionality (https://solana.tor.us)                                                                                                                                                                                                                                                 |\n| `@web3auth/wallet-connect-v2-adapter`          | [![npm version](https://img.shields.io/npm/v/@web3auth/wallet-connect-v2-adapter?label=%22%22)](https://www.npmjs.com/package/@web3auth/wallet-connect-v2-adapter/v/latest)                   | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/wallet-connect-v2-adapter?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/wallet-connect-v2-adapter@latest)                   | Adds wallet connect v2 login functionality + all supported adapters (eg: Metamask mobile, rainbow etc.)                                                                                                                                                                                                              |\n| 🐉 **Providers**                               |\n| `@web3auth/base-provider`                      | [![npm version](https://img.shields.io/npm/v/@web3auth/base-provider?label=%22%22)](https://www.npmjs.com/package/@web3auth/base-provider/v/latest)                                           | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/base-provider?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/base-provider@latest)                                           | Base implementation of JRPC provider                                                                                                                                                                                                                                                                                 |\n| `@web3auth/ethereum-provider`                  | [![npm version](https://img.shields.io/npm/v/@web3auth/ethereum-provider?label=%22%22)](https://www.npmjs.com/package/@web3auth/ethereum-provider/v/latest)                                   | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/ethereum-provider?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/ethereum-provider@latest)                                   | EIP-1193 compatible JRPC provider                                                                                                                                                                                                                                                                                    |\n| `@web3auth/solana-provider`                    | [![npm version](https://img.shields.io/npm/v/@web3auth/solana-provider?label=%22%22)](https://www.npmjs.com/package/@web3auth/solana-provider/v/latest)                                       | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/solana-provider?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/solana-provider@latest)                                       | Solana chain compatible JRPC provider                                                                                                                                                                                                                                                                                |\n| 🐉 **Plugins**                                 |                                                                                                                                                                                               |\n| `@web3auth/wallet-services-plugin`             | [![npm version](https://img.shields.io/npm/v/@web3auth/wallet-services-plugin?label=%22%22)](https://www.npmjs.com/package/@web3auth/wallet-services-plugin/v/latest)                         | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/wallet-services-plugin?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/wallet-services-plugin@latest)                         | Allows to inject your web3auth scoped private key into Wallet Services UI                                                                                                                                                                                                                                            |\n| `@web3auth/wallet-services-plugin-react-hooks` | [![npm version](https://img.shields.io/npm/v/@web3auth/wallet-services-plugin-react-hooks?label=%22%22)](https://www.npmjs.com/package/@web3auth/wallet-services-plugin-react-hooks/v/latest) | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/wallet-services-plugin-react-hooks?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/wallet-services-plugin-react-hooks@latest) | Allows to inject your web3auth scoped private key into Wallet Services UI                                                                                                                                                                                                                                            |\n| 🐉 **Low-Level**                               |\n| `@web3auth/base`                               | [![npm version](https://img.shields.io/npm/v/@web3auth/base?label=%22%22)](https://www.npmjs.com/package/@web3auth/base/v/latest)                                                             | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/base?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/base@latest)                                                             | Base reusable functionalities for creating a web3auth instance                                                                                                                                                                                                                                                       |\n| `@web3auth/ui`                                 | [![npm version](https://img.shields.io/npm/v/@web3auth/ui?label=%22%22)](https://www.npmjs.com/package/@web3auth/ui/v/latest)                                                                 | [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/ui?label=%22%22)](https://bundlephobia.com/result?p=@web3auth/ui@latest)                                                                 | Provides the UI used for creating the modal                                                                                                                                                                                                                                                                          |\n\n## ⏪ Requirements\n\n- All packages require a peer dependency of `@babel/runtime`\n- Node 18+\n\n## 🧳 Bundling\n\nThis module is distributed in 4 formats\n\n- `esm` build `dist/package.esm.js` in es6 format\n- `commonjs` build `dist/package.cjs.js` in es5 format\n- `umd` build `dist/package.umd.min.js` in es5 format without polyfilling corejs minified\n\nBy default, the appropriate format is used for your specified usecase\nYou can use a different format (if you know what you're doing) by referencing the correct file\n\nThe cjs build is not polyfilled with core-js.\nIt is upto the user to polyfill based on the browserlist they target\n\n### Directly in Browser\n\nCDN's serve the non-core-js polyfilled version by default. You can use a different\n\nPlease replace package and version with the appropriate package name\n\n#### `jsdeliver`\n\n```js\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/@web3auth/PACKAGE@VERSION\"\u003e\u003c/script\u003e\n```\n\n#### `unpkg`\n\n```js\n\u003cscript src=\"https://unpkg.com/@web3auth/PACKAGE@VERSION\"\u003e\u003c/script\u003e\n```\n\n## 🩹 Examples\n\nCheck out the examples for your preferred blockchain and platform on our [examples page](https://web3auth.io/docs/examples).\n\n## 🌐 Demo\n\nCheckout the [Web3Auth Demo](https://demo.web3auth.io) to see how Web3Auth can be used in your application.\n\nFurther checkout the [demo folder](https://github.com/Web3Auth/Web3Auth/tree/master/demo) within this repository, which contains other hosted demos for different usecases.\n\n## 💬 Troubleshooting and Support\n\n- 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.\n- Checkout our [Troubleshooting Documentation Page](https://web3auth.io/docs/troubleshooting) to know the common issues and solutions.\n- For Priority Support, please have a look at our [Pricing Page](https://web3auth.io/pricing.html) for the plan that suits your needs.\n\nTODO:\n\n- add default adapter modules\n- whitelabel only at one place\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb3auth%2Fweb3auth-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb3auth%2Fweb3auth-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb3auth%2Fweb3auth-web/lists"}