controller-backend

Integrate Cartridge Controller into Node.js, Rust, and C++ backends for programmatic Starknet transactions.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Enables server-side applications to perform pre-approved, programmatic Starknet transactions without interactive wallet popups, allowing game backends, bots, and automated services to operate securely and deterministically.

Core Features & Use Cases

  • Session-based Node.js integration: session creation and file-based session persistence for long-running Node services.
  • Native Rust and C++ support: controller SDK usage, controller deployment, and headless signing for non-browser environments.
  • Use Case: Run an automated game server that signs and sends on-chain prediction transactions using environment-stored signing keys and SessionProvider policies, while following secret-management best practices.

Quick Start

Create a server-side session and execute a test transfer using the SessionProvider or a headless Controller with your PRIVATE_KEY set in environment variables.

Frequently Asked Questions about controller-backend

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

FAQPage Schema
How do I execute Starknet transactions from a Node.js backend?

To execute Starknet transactions from a Node.js backend, set up a SessionProvider with file-based persistence to enable programmatic transaction execution without interactive wallet popups.

What is a headless Cartridge Controller and when do I need it for Starknet?

A headless Cartridge Controller enables non-browser environments like Rust, C++, and Node.js backends to sign Starknet transactions deterministically. You need it for automated game servers, bots, and service-side account management.

Can I use the Cartridge Controller SDK with Rust and C++ game servers?

Yes, the Cartridge Controller SDK supports native Rust and C++ environments for controller deployment and headless signing. This allows game servers to sign and send on-chain transactions using environment-stored keys.

How do I manage signing keys for automated Starknet bots?

Manage signing keys for automated Starknet bots by storing your PRIVATE_KEY in environment variables and applying recommended secret-management practices. The headless Controller uses these environment-stored keys to sign transactions securely.

What are the limitations of using SessionProvider for server-side Starknet transactions?

SessionProvider requires pre-approved policies to operate securely and deterministically without interactive wallet popups. It relies on file-based session persistence for long-running services, meaning session state must be managed and maintained locally.