Privy Starter Kit
The Rootstock Privy Starter Kit empowers developers to onboard users with social logins and self custodial wallets while preserving control, privacy, and flexibility for dApps when building on Rootstock.
Privy handles security at the infrastructure level. Private keys are split using advanced cryptography and never stored in full. Sensitive operations run in Trusted Execution Environments (TEEs) for deep isolation, and the system is backed by SOC 2 certification and regular third party audits.
With Privy, you can:
- Design wallet flows
- Integrate authentication and wallet management directly into your app
- Multiple sign in methods, including email, social logins, and OAuth
- Provision embedded, self custodial wallets with crosschain support that fits your product’s needs
- Manage permissions, and choose between out of the box UI components or low level API access depending on your choice of control.
In this guide, you'll learn how to set up a React project that uses Privy for authentication and Wagmi for on-chain interactions.
Getting Started
Clone the pre-configured starter kit project:
git clone https://github.com/rsksmart/rsk-privy-starter-kit
Create an account and get a project ID from the Privy dashboard, this will be used to set up the Privy provider with Wagmi config.

Once logged in, create a new project for a client environment and web platform.

Navigate to the App settings to find the App ID. Keep the App ID handy; you'll need it to set up the context next. This setup gives access everything Privy can do.
Configure Environment Variables
Locate the file .env.example and rename to .env. Replace the App ID previously configured:
VITE_PRIVY_APP_ID='your Privy App ID'