Smart Wallet UX
Lifecycle Management
Creating, rotating, and revoking keys.
Lifecycle Management
Managing the lifecycle of session keys is critical for security.
graph LR
User -->|Sign| Create[Create Session]
Create -->|Register| Module[Matador Module]
subgraph Usage
App -->|Sign with Session Key| Tx[Transaction]
Tx -->|Validate| Module
end
User -->|Sign| Revoke[Revoke Session]
Revoke -->|Update| Module1. Creation
The user signs a message with their Master Key (e.g., FaceID, Ledger) to authorize a new Session Key.
- Payload: "I authorize Key X to use Policy Y until Time Z."
2. Usage
The App uses the Session Key to sign transactions. The Master Key stays cold.
3. Expiry
When block.timestamp > Expiry, the Policy automatically starts rejecting transactions. No on-chain action needed.
4. Revocation
If the user loses their device, they use the Master Key to call revokeSession(key). This updates the on-chain state to block that specific key immediately.
Rotation keeps keys fresh
Regularly rotate session keys to reduce exposure if a device is compromised.