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/appsGET /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.