Matador Docs
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| Module

1. 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.

On this page