Skip to main content

App Namespace (app.*)

The app.* namespace defines a protocol-level application framework. It is not for hosting web apps on-chain. Instead, it provides standard registration, metadata, fee routing, and role management for modules that integrate with Olymp.

Why app.* exists

  • Create a uniform registry for modules and integrations.
  • Provide shared fee routing into the protocol treasury.
  • Enable app-specific roles without touching core PoD logic.
  • Keep app logic isolated from core data consensus rules.

Components

  • AppRegistry: registers app IDs, metadata, owners, and module lists.
  • AppPermissions: role-based access control per app ID.
  • AppFeeRouter: standard fee routing into ProtocolFeeCollector.
  • AppEntitlements: optional subscription/entitlement model.

Relationship to other namespaces

  • core.* handles Data Packages, anchors, scores, payments, and providers.
  • app.* handles application metadata, roles, and fee routing.
  • games.* is a specialized namespace for NFTs and game assets.

Games can optionally register a module in app.* for discoverability, but games contracts remain separate.

App registration flow

Fee flow

Discovery

Apps can be discovered via AppRegistry and optionally exposed through gateway endpoints:

  • GET /v1/apps
  • GET /v1/apps/:appId

Security and governance

  • App permissions are controlled by app owners (or governance in later phases).
  • The app layer cannot modify core data protocol registries.
  • Fee routing is explicit and auditable.