controller-native

Integrate Cartridge Controller session authentication and local transaction signing into native mobile apps.

1|Updated Mar 7, 2026
One-click install
npx skills add https://github.com/shariqazeem/Prophecy-Roguelite --skill controller-native-shariqazeem
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: controller-native
Source: https://github.com/shariqazeem/Prophecy-Roguelite/tree/main/.agents/skills/controller-native
Command: npx skills add https://github.com/shariqazeem/Prophecy-Roguelite --skill controller-native-shariqazeem

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a platform-specific integration guide to add Cartridge Controller session authentication and local transaction signing to native mobile apps and web wrappers, eliminating wallet popups and unreliable webview authentication for Starknet transactions.

Core Features & Use Cases

  • Native Bindings (Controller.c / UniFFI): High-performance FFI bindings for iOS (Swift) and Android (Kotlin) to create SessionAccount or ControllerAccount and execute transactions locally.
  • SessionConnector & Capacitor: Deep-link browser-based auth flows and Capacitor configuration for handling auth callbacks on iOS and Android web wrappers.
  • React Native support: TurboModules and a prebuild workflow to include native Controller bindings for React Native apps.
  • Passkeys & AASA: Guidance for Apple App Site Association to enable passkey sign-in and notes on limited Android WebAuthn support in webviews.
  • Security guidance: Recommendations for secure key storage, environment secrets, and warnings against committing private keys.

Quick Start

Generate a local keypair, implement deep-link authentication with SessionConnector, and use the provided Controller.c or UniFFI bindings to sign and send transactions to your Starknet RPC.

Frequently Asked Questions about controller-native

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

FAQPage Schema
How do I integrate Cartridge Controller into a React Native app for Starknet transactions?

Integrating Cartridge Controller into React Native uses TurboModules and a prebuild workflow to include native Controller bindings, enabling local session key authentication and popup-free on-device Starknet transaction signing.

How do I set up deep-link authentication for a Capacitor web wrapper on iOS and Android?

Setting up deep-link authentication uses SessionConnector flows and Capacitor configuration to handle auth callbacks, enabling browser-based authentication within iOS and Android web wrapper applications.

Can I use passkeys for sign-in with native mobile apps using Cartridge Controller?

Passkeys are supported for native sign-in by configuring Apple App Site Association (AASA), though Android WebAuthn support remains limited when using webviews for authentication.

What is the best way to execute Starknet transactions locally without wallet popups in mobile games?

Executing Starknet transactions locally without popups uses Controller.c or UniFFI high-performance FFI bindings to create SessionAccount or ControllerAccount instances for iOS and Android.

Do I need to configure a Starknet RPC for headless accounts and session keys?

Configuring a Starknet RPC is required for both session and headless accounts, allowing your app to sign transactions locally via Controller bindings and send them to the network.

What are the limitations of using webview authentication for Starknet transactions on Android?

The main limitation is restricted Android WebAuthn support within webviews, making browser-based authentication unreliable and necessitating native bindings or Capacitor deep-link flows.