controller-sessions

Configure session policies and keys for gasless pre-approved transactions.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/Kepler22bee/House-of-Stark --skill controller-sessions-kepler22bee
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: controller-sessions
Source: https://github.com/Kepler22bee/House-of-Stark/tree/main/contracts/.agents/skills/controller-sessions
Command: npx skills add https://github.com/Kepler22bee/House-of-Stark --skill controller-sessions-kepler22bee

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Controller sessions and policies remove the need for repeated transaction approvals by configuring pre-approved session keys and granular policies, enabling seamless gasless or paymaster-backed transactions for end users and automated flows.

Core Features & Use Cases

  • Policy Definitions: Define which contracts and entrypoints your app can call, including human-friendly names and descriptions for user approval flows.
  • Spending Limits & Approvals: Configure token spending limits for approve-style methods, with support for max uint limits and USD price visibility when available.
  • Signed Message Policies & Verified Sessions: Pre-approve typed message schemas and submit configs for verification to streamline trust and UX.
  • Error Handling & UX Modes: Choose modal, notification, or silent error display modes and opt into error propagation for custom handling.
  • Use Case: Mobile dApps and web games can create sessions at login that allow the frontend to execute frequent contract calls and signed messages without interrupting the user for each transaction.

Quick Start

Configure your SessionPolicies object with the required contracts, methods, and message schemas, then initialize Controller or SessionConnector with those policies so users can approve a session once and execute pre-approved transactions thereafter.

Frequently Asked Questions about controller-sessions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enable gasless transactions for session-based contract calls in my dApp?

Gasless transactions are enabled by configuring pre-approved session keys and policies through Cartridge Controller. You define which contracts and entrypoints your app can call, allowing users to approve a session once and execute pre-approved transactions thereafter without repeated interruptions.

What are session policies and how do they work for Cartridge Controller?

Session policies are definitions that specify which contracts, entrypoints, and typed message schemas your app can call. They include human-friendly names for user approval flows and can set token spending limits for approve-style methods, streamlining trust and UX for automated execution.

How do I set token spending limits for session keys to pre-approve transactions?

Token spending limits are configured within your SessionPolicies object for approve-style methods. You can specify maximum spending amounts, utilize max uint limits, and display USD price visibility when available to control how much token value a session can spend.

Can I use session policies for signed messages and typed message schemas in mobile apps?

Yes, session policies support pre-approving typed message schemas and submitting configs for verified sessions. This applies to mobile dApps and web games, allowing frontends to execute frequent contract calls and signed messages without prompting the user for each transaction.

What is the best way to handle session error display modes for pre-approved transactions?

You can choose between modal, notification, or silent error display modes for session execution. The configuration also allows you to opt into error propagation, enabling custom handling of errors that occur during gasless or paymaster-backed session transactions.

Do I need Cartridge Controller to configure session keys for my web game?

Yes, configuring session keys and pre-approved policies requires initializing Controller or SessionConnector with your SessionPolicies object. This setup applies to dApp integrations, local development, and mobile apps requiring session-based execution of contract calls.