Welcome to Rhinestone

Rhinestone is the leading ERC-7579 modular smart account infrastructure platform. We provide tools and services that help developers build, deploy, and manage the smart account modules that will power the next wave of powerful onchain products with seamless UX.

Module SDK Icon
Beginner
The simplest way to use pre-built smart account modules without writing Solidity. Tap into powerful smart account features with just a few lines of code.
Get started
ModuleKit Icon
Advanced
A set of developer tools and helper libraries for building smart account-agnostic modules. Tap into the programmable validation and execution of smart accounts to unlock powerful onchain products with seamless UX.
Get started
Logo Icon
Infrastructure
Explore Rhinestone’s services for security and smart account automation. Get your module audited and integrated into the Module Registry and ModuleSDK, and build automations with the Rhinestone Automations service.
Learn more

What are Smart Account Modules

Modules are self-contained smart contracts that extend a smart account's feature set. This creates a new paradigm for developers to access the programmable validation and execution of smart accounts, unlocking new product capabilities without compromising user self-sovereignty.

There are four types of modules today:

  • Validators: Allow developers to modify how transactions are authenticated or what can be authorized against an account. ZK Email (opens in a new tab) is a novel example of how powerful and versatile a validator can be.
  • Executors: Allow developers to create executions on an account with custom logic. This, for example, can unlock portfolio management products like a take profit or stop loss feature on a DeFi platform.
  • Hooks: Allow developers to augment a smart account's execution flow by hooking in pre- or post-execution and enforcing conditions or any custom logic. A simple example is a spending limit.
  • Fallbacks: Extend the account logic to add more functionality. For example, this can allow an account to be compatible with new module types in the future.