What is the Rhinestone SDK?
The Rhinestone SDK is a TypeScript library that gives wallet developers a unified interface for deploying and managing self-custodial smart accounts, and connecting those accounts to Rhinestone’s crosschain intent infrastructure (Warp). In one integration, you get:- Smart account deployment and management: create, configure, and interact with ERC-7579 smart accounts (or EIP-7702 upgraded EOAs)
- Crosschain transaction routing: send intents that move funds and execute calls across any supported chain, without bridging
- Fee sponsorship: sponsor gas, bridging, and swap fees for your users across any supported chain
- Modular wallet features: add passkeys, session keys, multisig, social recovery, and more via onchain modules
Core Concepts
Smart Accounts
Rhinestone smart accounts are ERC-7579 modular smart accounts. ERC-7579 defines a standard interface for pluggable modules (validators, executors, hooks, and fallbacks), so you can extend account behaviour without being locked into one implementation. Rhinestone’s core modules include passkeys, session keys, multisig, and social recovery. Rhinestone also supports EIP-7702, which lets you upgrade an existing EOA into a smart account without migrating assets. This is useful for onboarding users who already have a wallet. When you create an account, the SDK installs the appropriate modules onchain and derives a deterministic address. The same address is used across all supported chains.Rhinestone Intents (Warp)
Warp is Rhinestone’s intent routing and execution engine. Instead of sending raw transactions, your users sign intents: declarations of what they want to happen (e.g. “move 100 USDC from Optimism and call contract X on Base”). Rhinestone’s infrastructure handles the rest. How it works:Get a quote
Your app calls the SDK to get a quote for the intent, including fees, routes, and estimated time.
Sign
The SDK constructs an intent payload and passes it to the user’s signer (wallet) for a single signature.
- Single- and multi-chain transactions: send from one chain, execute on another, or sweep across many chains in a single signed intent
- Crosschain swaps: solver-based swaps with zero slippage and MEV protection, or inject your own DEX aggregator
- Universal gas sponsorship: deposit USDC on Base and sponsor gas, bridging, and swap fees on any supported chain for your users
- Multi-input intents: aggregate tokens from multiple source chains in a single UX interaction
How the SDK, Smart Accounts, and Intents Fit Together
The smart account is the identity and authorization layer. It owns the assets and validates that transactions were properly signed by the user’s signer. Warp is the execution layer that routes and settles transactions across chains as efficiently as possible. When a user transacts, the SDK:- Encodes the intent against their smart account
- Passes it to their signer (wallet) for approval
- Sends the signed intent to Warp for routing and execution
Wallet/Signer Integration
The SDK is signer-agnostic. Your wallet just needs to produce a valid signature. The SDK handles account configuration, intent construction, and submission.| Signer Type | Examples |
|---|---|
| External browser wallet | MetaMask, Coinbase Wallet, WalletConnect |
| Embedded wallet | Privy, Dynamic, Magic, Turnkey, Para, Openfort |
| Server-side / agent wallet | Any EOA private key |
| Passkey (WebAuthn) | Device biometrics (Face ID, Touch ID) |
| Multisig | m-of-n ECDSA or passkey combinations |
Tech Stack
| Layer | Technology |
|---|---|
| Language | TypeScript |
| Ethereum client | viem |
| Account standard | ERC-7579 + EIP-7702 |
Installation
What’s Next
Quickstart
Set up a smart account and send your first crosschain intent in minutes.
Smart Accounts
Deeper dive into account abstraction, ERC-4337, and EIP-7702.
Session Keys
Enable 1-click UX and automated transactions for your users.
Supported Chains
See all chains supported by Rhinestone’s intent infrastructure.