controller-setup

Integrate Cartridge Controller wallet into Starknet apps with session keys and paymaster signing.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers integrate the Cartridge Controller smart-contract wallet into Starknet applications, eliminating guesswork and common pitfalls when installing packages, instantiating Controller, selecting connectors, configuring chains and RPCs, and preparing local Katana environments for testing.

Core Features & Use Cases

  • Installation guidance: Which packages to install and compatible versions to avoid runtime errors.
  • Connector selection: When to use ControllerConnector for web apps versus SessionConnector for native/mobile flows.
  • Session policy requirements: Explain why session policies are required for execute() and how to configure them.
  • Chain and Katana configuration: How to register RPC endpoints, set defaultChainId, and enable paymaster/controllers in Katana genesis.
  • Developer ergonomics: Lazy-loading iframe behavior, cookie and HTTPS requirements, and common troubleshooting tips for local dev.
  • Use Case: Set up a web frontend to authenticate users via Cartridge, obtain session keys, and send signed transactions to a local Katana instance for end-to-end testing.

Quick Start

Install the @cartridge/controller and @cartridge/connector packages, configure Controller with the desired chains and session policies, then call controller.connect() to obtain an account and begin executing transactions.

Frequently Asked Questions about controller-setup

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

FAQPage Schema
How do I integrate a Cartridge Controller wallet into my Starknet application?

To integrate a Cartridge Controller wallet, install the @cartridge/controller and @cartridge/connector packages, configure Controller with desired chains and session policies, then call controller.connect() to authenticate users and execute transactions.

When should I use ControllerConnector versus SessionConnector for Starknet wallet setup?

Use ControllerConnector for web applications and SessionConnector for native or mobile flows. Selecting the correct connector during wallet setup ensures proper session key handling and transaction signing across different Starknet platforms.

Why are session policies required for the execute() function in Cartridge Controller?

Session policies are required for execute() to define transaction permissions and limits. Configuring session policies during Controller setup ensures your Starknet app securely signs transactions via passkeys and paymaster-supported flows.

How do I configure Katana for local Starknet Controller wallet testing?

To configure Katana for local testing, register RPC endpoints, set the defaultChainId, and enable paymaster and controllers in the Katana genesis file to support end-to-end transaction signing.

Does the Cartridge Controller iframe require HTTPS and specific cookie settings for local development?

Yes, the Cartridge Controller iframe relies on lazy-loading behavior that requires HTTPS and proper cookie configurations. Addressing these requirements during local development prevents common authentication and connection errors.

What packages do I need to install to set up Cartridge Controller session keys?

Install the @cartridge/controller and @cartridge/connector packages to set up session keys. Ensuring you use compatible package versions prevents runtime errors when instantiating the Controller wallet in your Starknet app.