Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
a37aa65
sfa restructure
yashovardhan Nov 8, 2024
2fe3777
restructure mpc core kit
yashovardhan Nov 8, 2024
03954c6
restructure tkey sdks
yashovardhan Nov 8, 2024
647f6a8
documentation restructure
yashovardhan Nov 8, 2024
636fab3
fix broken paths
yashovardhan Nov 8, 2024
7975f2b
IB restructure
yashovardhan Nov 8, 2024
128a8bc
remove non mpc term
yashovardhan Nov 8, 2024
202b326
Update product descriptions and images
yashovardhan Nov 8, 2024
dfc988b
Add tooltips in IB
yashovardhan Nov 8, 2024
b1bed7c
Update docusaurus.config.ts
yashovardhan Nov 8, 2024
30c6002
Fix missing imports
yashovardhan Nov 8, 2024
522d95d
Update docusaurus version
yashovardhan Nov 8, 2024
fa63c73
Fix build issues
yashovardhan Nov 10, 2024
e27346f
Add rn v8 migration guide
yashovardhan Nov 10, 2024
b0eaea1
add session management
AyushBherwani1998 Nov 8, 2024
8ecd259
Product section update
yashovardhan Nov 10, 2024
72fe702
update documentation
AyushBherwani1998 Nov 8, 2024
511e283
update login-w-jwt doc
AyushBherwani1998 Nov 4, 2024
09ae2a3
update docs
AyushBherwani1998 Nov 7, 2024
41d7471
Fix build issues
yashovardhan Nov 10, 2024
8c6f253
Add smart accounts docs
yashovardhan Nov 12, 2024
e36fa90
Update whitelabel docs
yashovardhan Nov 12, 2024
8dda0cb
Update product-fit.mdx
yashovardhan Nov 12, 2024
789fbe6
Fix IB
yashovardhan Nov 13, 2024
8049557
Update ios mpc page
yashovardhan Nov 13, 2024
a60b226
Update hostedFileLinks.json
yashovardhan Nov 13, 2024
ba888b6
Update _evm-installation.mdx
yashovardhan Nov 13, 2024
97fbd6c
Change mpc core kit folder location
yashovardhan Nov 13, 2024
f09a482
Update aa sdk references
yashovardhan Nov 13, 2024
b0dbbe0
Update RN docs
yashovardhan Nov 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
"Metamask's",
"metastring",
"nodir",
"openlogin",
"palenight",
"passwordless",
"solana",
Expand Down Expand Up @@ -55,7 +54,7 @@
"editor.defaultFormatter": "DotJoshJohnson.xml"
},
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
Expand Down
15 changes: 2 additions & 13 deletions docs/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,14 @@ import SEO from "@site/src/components/SEO";

# Web3Auth Documentation

#### Simplifying User Onboarding with Scalable, Secure, Non-Custodial Wallet Management

<HomeQuickStartBanner />

# Discover Our Solutions

Our extensive product suite covers everything from pre-onboarding to post-onboarding and
authentication, enabling you to craft a seamless end-to-end experience for your Web3 dApp.
#### Effortless Social Logins, Beautiful UX, and Secure Onboarding for Web3

<ProductCards />

# Resources
## Resources

Our comprehensive array of guides, reference materials, and examples is designed to assist you at
every step of your Web3Auth integration. Explore the nuances of web3 authentication and craft a
tailored integration that meets your specific needs.

<ResourcesCards />

# Need Help?

<HelpCards />
2 changes: 1 addition & 1 deletion docs/auth-provider-setup/social-providers/twitter.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ await web3AuthNoModalInstance.connectTo(WALLET_ADAPTERS.AUTH, {
defaultValue="no-modal"
values={[
{ label: "No Modal SDK", value: "no-modal", },
{ label: "SFA Web SDK", value: "sfa", },
{ label: "SFA JS SDK", value: "sfa", },
]}
>
<TabItem
Expand Down
22 changes: 11 additions & 11 deletions docs/connect-blockchain/connect-blockchain.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@ blockchain. Providers take JSON-RPC requests and return the response. This is no
submitting the request to an HTTP or IPC socket-based server. With Web3Auth, you get two types of
providers, depending on the product you use:

1. [Shamir Secret Sharing based Private Key Providers](#private-key-providers-non-mpc)
2. [Threshold Signature Scheme based MPC Providers](#mpc-providers)
1. [Shamir Secret Sharing based Private Key Providers](#private-key-providers-pnp--sfa)
2. [Threshold Signature Scheme based MPC Providers](#mpc-core-kit-providers)

## Web3Auth is Chain Agnostic

By default, Web3Auth supports the `secp256k1` and `ed25519` key curves. While these key curves serve
the majority of blockchains out there, certain blockchains have different curve implementations of
their own. While for our MPC products, you need dedicated providers to interact with certain
blockchains, with **Web3Auth non-MPC products you can interact with any blockchain of your choice**.
their own. While for MPC Core Kit, you need dedicated providers to interact with certain
blockchains, with **Web3Auth PnP & SFA you can interact with any blockchain of your choice**.

In Web3Auth non-MPC Products, the ability to export the user's private key comes in handy. This
private key can be utilized by the dApp to interact with the chain.
In Web3Auth PnP & SFA, the ability to export the user's private key comes in handy. This private key
can be utilized by the dApp to interact with the chain.

You can read more about this in our [Connect with Other Blockchains](./other/) section.

Expand All @@ -39,7 +39,7 @@ transactions, smart contract wallets, different elliptic curve pairs and even RS

:::

## Private Key Providers (non-MPC)
## Private Key Providers (PnP & SFA)

The Private Key Providers work with the majority of Web3Auth products, including Plug and Play SDKs,
Single Factor Auth SDKs, and tKey SSS (v1) SDKs. As the name suggests these providers are a wrapper
Expand All @@ -56,16 +56,16 @@ Web3Auth supports the following private key providers for Web SDKs:
- [XRPL Private Key Provider](/sdk/pnp/web/providers/xrpl): For connecting with XRPL Blockchain
- [Common Private Key Provider](/sdk/pnp/web/providers/common): For connecting with any blockchain.

## MPC Providers
## MPC Core Kit Providers

The Threshold Signature Scheme-based MPC Providers work with our MPC Core Kit SDK. These providers
generate a signature of the particular key curve the provider is configured for and accordingly
gives you the interface to initialize with the blockchain it is configured for. Currently, Web3Auth
MPC Core Kit supports the following providers:

- EIP1193 MPC Provider: For connecting with EVM-based chains [Available by default within the SDK]
- Bitcoin MPC Provider (coming soon)
- Solana MPC Provider (coming soon)
- EIP1193 MPC Provider: For connecting with EVM-based chains
- EDDSA MPC Provider: For connecting with Solana and other chains that support the `ed25519` curve.
- Bitcoin MPC Provider

## Reference Guides for Blockchain Connections

Expand Down
6 changes: 3 additions & 3 deletions docs/connect-blockchain/near/near.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ export const Near = [
description: "",
tiles: [
{
key: "web-non-mpc",
title: "Web - Non MPC",
key: "web-pnp-sfa",
title: "Web - PnP & SFA",
icon: "logo-js.png",
path: "/connect-blockchain/near/web",
},
{
key: "web-mpc",
title: "Web - MPC",
title: "Web - MPC Core Kit",
icon: "logo-js.png",
path: "/connect-blockchain/near/web-mpc",
},
Expand Down
2 changes: 1 addition & 1 deletion docs/connect-blockchain/near/web-mpc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ description:
import TabItem from "@theme/TabItem";
import Tabs from "@theme/Tabs";

import Initialization from "@site/src/common/sdk/core-kit/mpc-core-kit/_ed25519-initialization.mdx";
import Initialization from "@site/src/common/sdk/mpc-core-kit/_ed25519-initialization.mdx";

To sign the transactions for Near using MPC CoreKit JS SDK, you can utilize the
@toruslabs/tss-frost-lib to instantiate `Web3AuthMPCCoreKit` with ed25519 KeyType. To support the
Expand Down
2 changes: 1 addition & 1 deletion docs/connect-blockchain/other/other.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: "Connect Web3Auth with any Blockchain - Chain Agnostic | Documentat

import Tiles from "@theme/Tiles";

While using the Web3Auth Non MPC SDKs for non-EVM chains, other than Solana and XRPL, we use the
While using the Web3Auth PnP & SFA SDKs for non-EVM chains, other than Solana and XRPL, we use the
Common Private Key Provider. This provider is a basic wrapper around the private key, helping us
export it on demand. The private key returned by this provider is of the curve `secp256k1` &
`ed25519` based on the particular requests. While these key curves serve the majority of blockchains
Expand Down
6 changes: 3 additions & 3 deletions docs/connect-blockchain/solana/solana.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ export const Solana = [
description: "",
tiles: [
{
key: "web-non-mpc",
title: "Web - Non MPC",
key: "web-pnp-sfa",
title: "Web - PnP & SFA",
icon: "logo-js.png",
path: "/connect-blockchain/solana/web",
},
{
key: "web-mpc",
title: "Web - MPC",
title: "Web - MPC Core Kit",
icon: "logo-js.png",
path: "/connect-blockchain/solana/web-mpc",
},
Expand Down
10 changes: 5 additions & 5 deletions docs/connect-blockchain/solana/web-mpc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ description:
import TabItem from "@theme/TabItem";
import Tabs from "@theme/Tabs";

import Installation from "@site/src/common/sdk/core-kit/mpc-core-kit/_solana-installation.mdx";
import Initialization from "@site/src/common/sdk/core-kit/mpc-core-kit/_ed25519-initialization.mdx";
import SolanaAccount from "@site/src/common/sdk/core-kit/mpc-core-kit/_solana-account.mdx";
import SolanaSignMessage from "@site/src/common/sdk/core-kit/mpc-core-kit/_solana-sign-message.mdx";
import SolanaSignTransaction from "@site/src/common/sdk/core-kit/mpc-core-kit/_solana-sign-transaction.mdx";
import Installation from "@site/src/common/sdk/mpc-core-kit/_solana-installation.mdx";
import Initialization from "@site/src/common/sdk/mpc-core-kit/_ed25519-initialization.mdx";
import SolanaAccount from "@site/src/common/sdk/mpc-core-kit/_solana-account.mdx";
import SolanaSignMessage from "@site/src/common/sdk/mpc-core-kit/_solana-sign-message.mdx";
import SolanaSignTransaction from "@site/src/common/sdk/mpc-core-kit/_solana-sign-transaction.mdx";

To sign the transactions for Solana using MPC CoreKit JS SDK, you can utilize the
@toruslabs/tss-frost-lib to instantiate `Web3AuthMPCCoreKit` with ed25519 KeyType. To support the
Expand Down
2 changes: 1 addition & 1 deletion docs/connect-blockchain/solana/web.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Integrate Web3Auth with the Solana Blockchain in Javascript
sidebar_label: Web - Non MPC
sidebar_label: Web - PnP & SFA
image: "banners/solana.png"
keywords:
[
Expand Down
31 changes: 1 addition & 30 deletions docs/features/account-abstraction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,41 +30,12 @@ Web3Auth's native account abstraction gives you the flexibility to choose your p
abstraction provider, configure your bundler client, and integrate your paymaster. Please checkout
our documentation on how [ERC-4337 components](#components-of-erc-4337) work for more information.

### Getting Started
## Getting Started

Web3Auth's native account abstraction gives you the flexibility to choose your preferred account
abstraction provider, configure your bundler client, and integrate your paymaster. Learn how to use
[Web3Auth with Account Abstraction](/docs/sdk/pnp/web/providers/aa-provider).

## Why Smart Contracts Wallets?

Smart contract wallets(SCWs) solves the problem of onboarding by allowing users to use social logins
or other web2 authentication for account management, and recovery. Moreover, SCWs provide more
granular control and programmability like

### Batch transactions

Smart contract wallets allow users to perform batch transactions, where user can perform multiple
transactions in a single call. In traditional EOA wallets, if you want to swap Token A to Token B,
you need to first approve the Token A, and perform the swap operation. Here you had to sign twice,
and execute two different transactions. In SCWs, you can perform all these transactions in a single
call. Learn how to perform
[batch transactions with Smart Contract Wallets](/docs/sdk/pnp/web/providers/aa-provider#send-batch-transaction).

### Gas Sponsorship

For transactions performed through EOA wallets, the user has to pay the gas fees in native token of
the chain which makes it difficult to onboard new users who are not familiar with the ecosystem.
Smart contract wallets solve this problem by using paymaster to sponsor the gas fees, or let the
users pay the transaction fees in USDC/supported ERC-20 token.

### Programmable

Smart contract wallets are programmable. They can perform certain functions on autopilot - for
instance swap ETH to USDT token, when ETH price is $10K, adding limit to their spendings and
advanced multi-signature accounts. Developers can also create their own smart contract wallets with
custom logic.

## Components of ERC 4337

Smart contract wallets did exist before ERC 4337 but lacked a standardization across the ecosystem
Expand Down
44 changes: 22 additions & 22 deletions docs/features/blockchain-agnostic.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,19 @@ different blockchains with Web3Auth.

:::

## Reference Guides for Blockchain Connections

You can check out the following guides we've written for certain blockchains. We have covered a wide
variety of EVM and EVM Chains, supported by multiple web3auth providers.

### EVM Chain Guides

<EVMChains />

### Non EVM Chain guides

<OtherChains />

## Key Curve Support and Blockchain Compatibility

By default, Web3Auth supports the `secp256k1` and `ed25519` key curves, which are widely used across
Expand All @@ -30,22 +43,22 @@ blockchain environments right out of the box.

While these curves cater to most blockchain requirements, Web3Auth recognizes the unique needs of
various blockchains, some of which utilize different curve implementations. To accommodate these
diverse ecosystems, Web3Auth's non-MPC (Shamir Secret Sharing based) products enable interaction
with any blockchain, regardless of its specific curve requirements.
diverse ecosystems, Web3Auth's PnP & SFA (Shamir Secret Sharing based) enable interaction with any
blockchain, regardless of its specific curve requirements.

## Dedicated Providers for MPC Products
## Dedicated Providers for MPC Core Kit

For those utilizing Web3Auth's MPC products, dedicated providers are necessary to ensure optimal
interaction with specific blockchains. Currently, Web3Auth MPC products offer support for
For those utilizing Web3Auth's MPC Core Kit, dedicated providers are necessary to ensure optimal
interaction with specific blockchains. Currently, Web3Auth MPC Core Kit offers support for
EVM-compatible chains and Bitcoin, with development underway to include Solana. This approach
guarantees that Web3Auth remains at the forefront of blockchain authentication, offering versatile
and secure solutions for a wide array of blockchain technologies.

## Utilizing Private Keys with Non-MPC Products
## Utilizing Private Keys with PnP & SFA

In the realm of non-MPC products, Web3Auth offers the capability to export the user's private key.
This feature allows decentralized applications (dApps) to directly interact with the blockchain
using the exported key, facilitating a wide range of transactions and smart contract interactions.
In the realm of PnP & SFA, Web3Auth offers the capability to export the user's private key. This
feature allows decentralized applications (dApps) to directly interact with the blockchain using the
exported key, facilitating a wide range of transactions and smart contract interactions.

:::tip

Expand All @@ -63,16 +76,3 @@ stacks, including scalability solutions, smart contract wallets, different ellip
even RSA.

:::

## Reference Guides for Blockchain Connections

You can check out the following guides we've written for certain blockchains. We have covered a wide
variety of EVM and EVM Chains, supported by multiple web3auth providers.

### EVM Chain Guides

<EVMChains />

### Non EVM Chain guides

<OtherChains />
8 changes: 0 additions & 8 deletions docs/features/interoperability.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ import Image1 from "@site/static/guides/interoperability/torus-wallet-login-1.pn
import TorusWalletLogin from "@site/static/guides/interoperability/torus-wallet-login-2.png";
import TorusWalletLogin3 from "@site/static/guides/interoperability/torus-wallet-login-3.png";

import { walletservices } from "@site/src/components/SDKReferenceCards";

Interoperability stands as a cornerstone feature of Web3Auth Wallet Services, emphasizing the
seamless interaction and connection capabilities between different blockchain applications and
ecosystems. This feature enables the creation of a versatile wallet experience, where users can
Expand Down Expand Up @@ -57,9 +55,3 @@ developers:
- **Security and Trust:** Leveraging trusted protocols like WalletConnect within the interoperable
ecosystem of Web3Auth ensures that security is maintained across connections, fostering trust and
confidence among users.

## Integrate Wallet Services

---

{ walletservices }
14 changes: 5 additions & 9 deletions docs/features/mobile.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,7 @@ title: Native Mobile SDKs
description: "Native Mobile SDKs | Documentation - Web3Auth"
---

import {
corekitmfamobile,
pnpmobile,
corekitsfamobile,
} from "@site/src/components/SDKReferenceCards";
import { mpccorekitjs, pnpmobile, sfamobile, sfaweb } from "@site/src/components/SDKReferenceCards";

Web3Auth is dedicated to providing a seamless mobile experience, emphasizing a mobile-first approach
across all the products. Recognizing the importance of native performance and security, Web3Auth
Expand Down Expand Up @@ -54,14 +50,14 @@ ensuring developers can leverage Web3Auth features regardless of their chosen fr

{ pnpmobile }

### Core Kit SFA Mobile SDKs
### Single Factor Auth SDKs

---

{corekitsfamobile}
{sfaweb} {sfamobile}

### Core Kit MFA Mobile SDKs
### MPC Core Kit

---

{corekitmfamobile}
{mpccorekitjs}
25 changes: 14 additions & 11 deletions docs/features/mpc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ title: Multi-Party Computation
description: "Multi-Party Computation | Documentation - Web3Auth"
---

import KeyManagement from "@site/static/images/key-management.png";
import { corekitmfamobile, corekitmfaweb } from "@site/src/components/SDKReferenceCards";
import KeyManagementDark from "@site/static/images/key-management-dark.png";
import KeyManagementLight from "@site/static/images/key-management-light.png";
import { mpccorekitjs } from "@site/src/components/SDKReferenceCards";

Multi-Party Computation (MPC) forms the backbone of Web3Auth's advanced wallet infrastructure,
offering a secure and non-custodial way to manage digital assets. This document provides a
Expand Down Expand Up @@ -64,16 +65,18 @@ Web3Auth's MPC is implemented in two main forms:
signature generations instead of key reconstructions, maintaining the integrity of the
distributed private key.

{" "}

<img
style={{ display: "block", maxHeight: "600px", margin: "20px auto" }}
src={KeyManagement}
alt="Showing How Web3Auth Key Generation works"
/>
<picture>
<source srcset={KeyManagementLight} media="(prefers-color-scheme: light)" />
<source srcset={KeyManagementDark} media="(prefers-color-scheme: dark)" />
<img
src={KeyManagementLight}
style={{ display: "block", maxHeight: "600px", margin: "20px auto" }}
alt="This diagram describes the relationship between the Web3Auth SDK and integrating application"
/>
</picture>

Both methods adhere to the core concept of threshold-based security but differ in their approach to
key management and signature generation.
wallet management and signature generation.

## Web3Auth Wallet Management Infrastructure

Expand Down Expand Up @@ -103,4 +106,4 @@ manage wallets, please refer to our
Our Core Kit MFA SDKs use Web3Auth's MPC to provide a seamless and secure multi-factor
authentication experience.

{ corekitmfaweb } {corekitmfamobile}
{mpccorekitjs}
Loading