A staking operations platform for the Pocket Network ecosystem.
Igniter is an open-source platform for Pocket Network staking operations. It ships as two apps in a single monorepo — Provider and Middleman — sharing a database, workflow engine, and common packages.
-
Provider is the core software for node operators. It manages keys, address groups, relay miners, supplier lifecycles, and delegator relationships — everything needed to run Pocket Network infrastructure.
-
Middleman is a web-facing application that lets users stake tokens, track rewards, import suppliers, and manage their staking portfolio. Providers can optionally run Middleman alongside Provider to give their clients a direct interface for managing stake. Independent entities (like PNF) can also deploy Middleman as a standalone product, connecting users to any working Igniter-powered providers.
Since Igniter is open source, anyone can take Middleman as a base, extend it with additional features, and configure a service fee — a built-in mechanism that lets operators or third parties monetize the value they add on top of the platform.
Providers (Node Operators) run the Provider app to operate Pocket Network suppliers. Optionally, they can also run Middleman as a client-facing interface so their delegators can connect and manage stake directly.
Delegators / Stakeholders use a Middleman instance — whether run by their provider or by an independent entity — to stake tokens, track rewards, and manage their portfolio without touching backend infrastructure.
| App | Audience | Responsibilities |
|---|---|---|
| Provider | Operators | Keys, address groups, relay miners, delegator management, supplier lifecycle |
| Middleman | Delegators / Stakeholders | Staking, unstaking, import suppliers, overview dashboard, transaction history |
Both apps run alongside Temporal workflow workers that handle long-running operations (supplier staking, remediation, etc.) reliably in the background.
Shared packages provide common UI components, the database layer (Drizzle + PostgreSQL), GraphQL integration with Pocket Network, Temporal workflow definitions, and logging — so both apps stay consistent without duplicating code.
igniter/
├── apps/
│ ├── provider/ # Operator-facing admin panel
│ ├── provider-workflows/ # Temporal worker for Provider
│ ├── middleman/ # Delegator-facing staking interface
│ └── middleman-workflows/# Temporal worker for Middleman
├── packages/
│ ├── @repo/ui # Shared React component library
│ ├── @repo/db # Drizzle ORM + PostgreSQL schema
│ ├── @repo/graphql # Pocket Network GraphQL client
│ ├── @repo/pocket # Pocket Network SDK integration
│ ├── @repo/temporal # Temporal workflow definitions
│ ├── @repo/domain # Shared domain types and logic
│ ├── @repo/commons # Shared utilities
│ └── @repo/logger # Structured logging
├── docker-compose/
│ ├── dependencies/
│ └── apps/
├── docs/
│ ├── architecture.md
│ ├── guides/
│ │ ├── provider/
│ │ └── middleman/
│ └── reference/
│ ├── provider/
│ └── middleman/
├── CONTRIBUTING.md
└── DEVELOP.md
- docker-compose/ — Docker Compose deployment files
- docs/ — Guides and reference documentation
- DEVELOP.md — Development environment setup (Tilt + Kubernetes)
- CONTRIBUTING.md — Contributing guide
Igniter depends on two external services that you must provision — either self-hosted or cloud-managed:
- PostgreSQL — Stores all application data. For Provider deployments this includes encrypted private keys, so follow PostgreSQL security best practices for your environment.
- Temporal Server — Orchestrates long-running workflows (staking, remediation, etc.). Can be self-hosted or run via Temporal Cloud. Follow Temporal's security guidance for production deployments.
| I am a... | Start here |
|---|---|
| Developer contributing to Igniter | Use Tilt — run tilt up from the repo root for a full local dev environment |
| Provider or Delegator deploying Igniter | Use Docker Compose — production-ready deployment with per-app setup guides |
Each app has its own README with deployment, configuration, guides, and reference documentation:
- Provider README — For node operators
- Middleman README — For delegators and stakeholders
Bug reports and feature requests go to GitHub Issues.
See the Contributing Guide for development setup, coding conventions, and how to submit a pull request.
This project is funded by Pocket Network Foundation.