Skip to main content
Embedded wallets give your users a passkey-controlled smart account directly in your application, without installing a wallet extension or managing a seed phrase. Users sign up with an email or social identity, then use a passkey to authorize wallet actions. The embedded wallet SDK provides authentication dialogs, signing, and transaction submission. You can customize the dialogs to match your application and connect the wallet to existing viem or wagmi integrations.

One account across chains

Each account has the same address on every supported EVM chain. Your application can use that account across chains without asking users to create a separate wallet for each network. Accounts are application-specific, not shared globally. By default, the same person signing in on another application hostname receives a separate passkey and account. Applications spanning multiple subdomains can explicitly configure a shared account namespace.

Passkey-based control

Passkeys are bound to your application’s domain. Their private keys stay with the user’s authenticator, rather than being held by your application or Rhinestone. The managed transaction path also requires Rhinestone’s cosigning service, and recovery guardians can authorize replacement passkeys. These are distinct parts of the account’s security model; see Security and self-custody for their authority and availability implications.

Get started

Start with Accounts to register your application and initialize the SDK, then add authentication and adapt the wallet experience to your app.