Web3Auth MPC Core Kit React Native SDK
Web3Auth's
@web3auth/react-native-mpc-core-kit
SDK
is simple and easy-to-use SDK for react native environment, that helps you implement Web3Auth's MPC
Threshold Signature Scheme (TSS) features in which the private key is never reconstructed.
Compared to other Web3Auth SDKs, such as Plug and Play (PnP) and Single Factor Auth (SFA) SDKs, where the private key is securely reconstructed on the user's device and used to sign transactions, the MPC TSS architecture ensures that the private key is never reconstructed for signing. However, the SDK provides options to export the private key if the user wants to use their account in other wallets. This approach eliminates vendor lock-in, unlike other MPC solutions.
Instead, the partial key shares are stored at different locations which are used to generate the partial signatures. The final signature is generated combining the partial signatures using the TSS. Since the private key is never reconstructed, it's more secure approach.
The SDK is only available for the Enterprise Plan. However, you
can test the SDK with all features enabled in the sapphire_devnet
.
Web3Auth MPC Infrastructure
The Web3Auth infrastructure is designed to ensure the security of user keys. Instead of being stored in a single location, the key is divided into multiple parts and distributed across the user's devices and our Web3Auth Network. This means that the key is always available and never in danger of being compromised.
The traditional Web3Auth SDK uses Shamir Secret Sharing (SSS) to dynamically reconstruct the key in the frontend. However, with the new Web3Auth MPC (Multi Party Computation) architecture, this is no longer necessary. Instead, partial keys are stored in different locations, and the user's device is used to make partial signatures for messages and transactions.
These partial signatures are then combined using the TSS (Threshold Signature Scheme) to create a final signature, which can be used to make a transaction on the blockchain. The result is a more secure and user-friendly authentication process that helps to protect against key theft and other types of security breaches.
The Threshold Signature Scheme (TSS) is a cryptographic primitive for distributed key generation and signing. The use of TSS in Web3Auth Network is a new paradigm that can provide numerous benefits, especially in terms of security.

As you can notice in this diagram above, the final output, i.e., the User's TSS Account, is generated in multiple stages within the infrastructure. Since this is a TSS- MPC based infrastructure, you don't get back a private key, but signatures that can be used to make transactions on the blockchain. Let's understand each of these stages in detail.
Types of Factors
Social Login Factor
This is the primary way for a user to access their account. This step involves authentication of
user using a preferred social login provider. The idToken
received from the social login provider
here is passed to the Web3Auth Network to generate the TSS Shares in the Nodes.
By default, these nodes have a threshold of 3/5 that can be customized according to requirements. When a user logs in, the Web3Auth Network generates signatures corresponding to the TSS Shares in the nodes and returns them to the user's end. These signatures are then used alongside other shares to generate the final TSS Account signatures.
Hashed Cloud Factor
The MPC Core Kit SDK starts in a 2/2 flow by default. This means when user's logs in, a social login factor is generated and at the same time SDK will generate a hashed cloud factor. This hashed cloud factor is derived on the front end and stored in the encrypted metadata server. Please refer to the above architecture to understand more about factors.
This is done to make sure the user can access their account from any device without having to generate a new factor. The hashed cloud factor is deleted when the user enables the MFA.
Device Factor (Factor Index: 2)
This is the second factor used to access the user's account. This step involves the generation of a TSS Share on the user's device and using that to generate a final signature for the TSS Account alongside the social login factor. This ensures the user logs in using their trusted device and maintains a proper non-custodial setup.