DocumentationModules Catalog
DOCS

Modules Catalog

Fourteen core modules across nine domains, each a typed contract behind the plugin host - use them, override them, or swap their adapters.

Introduction

Openora.ai ships fourteen core modules, grouped into nine domains. Each is a typed contract behind the plugin host, so you can use it as-is, override individual operations, or swap out its adapters. All fourteen load by default; a gated add-on loads only when you allowlist it.

Platform

  • IAM - admin roles, a permissions matrix, and admin invitations.
  • Identity - sessions, registration, password reset, two-factor, lockout.
  • Audit - append-only, sha256 hash-chained log of every state-changing action.
  • Notifications - delivery behind a swappable adapter.
  • Compliance - KYC verification, responsible gaming (limits, cool-off, self-exclusion), geo rules.

Player-facing

  • Wallet - deposits, withdrawals, auto-withdrawal rules, multi-currency transaction history, idempotency on the money path.
  • Gaming - game catalogue and game rounds.
  • Lobby - lobby categories and featured slots.
  • Chat - rooms, messages, user blocks, pushed over SSE.
  • Profile - the player's own profile and status.
  • Tag - player segmentation and rule-driven tagging.

Backoffice

  • Admin console - admin routes behind a single AdminGuard enforcement point.
  • Player note - operator notes against a player.
  • CMS - pages and banners.

Plus one gated add-on, player-management (the admin PAM surface), which loads only when listed in the OSS_ADDONS allowlist.

Adapter ports

Every third-party integration sits behind a typed token. A mock implementation ships as the reference; you bind the real vendor in your own plugin.

  • PAYMENT_ADAPTER - your PSP.
  • KYC_ADAPTER - your verification vendor.
  • GAME_ADAPTER / AGGREGATOR_ADAPTER / RNG_ADAPTER - your game providers.
  • NOTIFICATION_DELIVERY_ADAPTER, SEND_EMAIL - your delivery channels.
  • JOB_QUEUE, CACHE, RATE_LIMITER - in-process by default, Redis-backed when REDIS_URL is set.
  • MESSAGE_BROKER, REALTIME_TRANSPORT - in-process bus and SSE by default.

No production vendor implementation ships in the framework today. That is deliberate: the port is the contract, and the binding is yours.

Extend in one command

In your own repo, pnpm gen plugin <name> scaffolds an overlay under extensions/<name>/, and pnpm gen adapter binds your vendor over a shipped mock - both registered in extensions.config.ts, zero files forked. The module, route, config, event, service and app generators are core-only - they throw outside the framework monorepo.

What isn't here

There is no sportsbook, no bonus/promotions engine, and no affiliate module. Those are domains you build on top of the same wallet, identity, compliance and audit foundation - see Solutions.

Next: read Compliance & Audit Trail before you go live with real-money flows.

Updated 1 day ago