Multi-chain session keys allow you to create and manage session keys that work across multiple blockchains with a single signature
Sign once, deploy everywhere: Create multiple sessions for different chains and sign them all at once
Flexible installation: Install sessions in any order across different chains as needed
Reduce user friction: Users only need to sign once instead of multiple times for each chain
Cross-chain automation: Enable seamless automation across multiple chains with the same session key
The key innovation is the “enable mode” — where you prepare all your sessions upfront, get a single signature from the user, and enable specific sessions on specific chains as needed.
While this guide focuses on multi-chain usage, you can also use this pattern on a single chain to pre-sign multiple different sessions and enable them over time as your application needs to evolve.
One of the most powerful features is the ability to reuse an existing signature across multiple session installations. Once you have an enable signature, you can use it for future session installations:
Copy
Ask AI
// First time: Get session details and signatureconst sessionDetails = await rhinestoneAccount.getSessionDetails( sessions, sessionIndex,)// Store the `sessionDetails` for later use// Later: Reuse the existing signatureconst enableSignature = sessionDetails.enableSessionData.signatureconst sessionDetailsReused = await rhinestoneAccount.getSessionDetails( sessions, sessionIndex, enableSignature)
This pattern allows you to:
Pre-sign all your sessions during user onboarding
Enable specific sessions on-demand without additional signatures
Batch multiple session installations with the same signature