Accounts and signers
The account and its signer serve different purposes:- The account holds assets and interacts with other contracts.
- The signer produces a signature that the account checks before allowing an action.
Extending an account with modules
Rhinestone uses modular smart accounts compatible with ERC-7579. Modules are contracts that extend account behavior through standardized interfaces.- Validators check authorization, such as a passkey signature, a multisig threshold, or a session key’s permissions.
- Executors provide execution paths through which installed modules can instruct the account to perform calls. Rhinestone’s Intent Executor is one example.
- Hooks run checks or custom logic before or after execution.
- Fallbacks extend the account’s interface with additional functionality.
Smart accounts across chains
A smart account’s address can be calculated before its contract is deployed. This is called a counterfactual address: you can receive assets there before the account’s first transaction. Compatible deployments can use the same address across supported chains, but deployment and state remain separate on each chain. Installing a module or changing a signer on one chain does not automatically update the others. The address depends on the account implementation and deployment configuration. Do not assume that different account types or configurations produce the same address.Smart accounts and intents
Smart accounts provide programmable authorization and execution. Intents coordinate how an authorized operation is funded and carried out. Together, they let an application use assets across chains while executing destination calls through the user’s smart account.Next steps
- Session keys: delegate limited authority without sharing an owner key.
- Create an account: configure a smart account and its signers.