Skip to main content

Installing MPC Core Kit JS SDK

The MPC Core Kit JS SDK contains multiple packages that are needed to enable different functionalities of the MPC Core Kit JS SDK. You can choose the packages you want to install according to the functionalities you want to enable in your application. In this doc we have highlighted all of the packages and their functionalities.

Base MPC Core Kit Package

This is the base SDK that helps you implement Web3Auth's MPC TSS features while giving you the flexibility to customize the UI and UX of the authentication process.

npm install @web3auth/mpc-core-kit

Common Types and Interfaces

This package gives access to common types and interfaces for Web3Auth. This comes in handy by providing you a standard way of importing the values you need to work with the SDKs. We highly recommend using it while working with Typescript.

npm install @web3auth/base

ECDSA Signing

This packages gives you support for DKLS threshold signing which is used to generate the ECDSA signature. The ECDSA signatures can be used for blockchain applications which uses secp256k1 curve such as Bitcoin, Ethereum, and etc.

npm install @toruslabs/tss-dkls-lib

EthereumSigningProvider

This package gives EIP1193 compatible Ethereum signing provider. This provider is used to make calls to the selected blockchain, and can be used with web3.js, ethers.js, or viem to make integration with Ethereum-compatible chains more easier.

npm install @web3auth/ethereum-mpc-provider

EdDSA Signing

This packages gives you support for FROST threshold signing which is used to generate the EdDSA signature. The EdDSA signature can be used for blockchain applications which use ed25519 curve such as Solana, Aptos, and etc.

npm install @toruslabs/tss-frost-lib

Troubleshooting

You might face issues mentioning that certain dependencies are missing within the browser environment. These are node dependencies that need to be polyfilled in your application, to enable Web3Auth functionalities. Furthermore, your bundler needs to be reconfigured to use them while building the app. We have created guides for different bundlers to help you with this issue: