Skip to main content

Platform topology

Production is split across independent surfaces that share auth via dyma-api and UI primitives via shared packages.

Domains​

DomainRepositoryAudiencePurpose
dyma.iodyma-landing + dyma-clientPublic + earnersMarketing landing and user app
studio.dyma.iodyma-studioProject teamsCampaign and quest management
admin.dyma.iodyma-adminDyma operatorsPlatform config, moderation, pricing
api.dyma.iodyma-apiAll appsREST API, verification, auth, billing

Routing on dyma.io​

PathApp
/Marketing landing
/app/*Authenticated user client
/projects/:slugPublic project pages (SEO)
/campaigns/:idPublic campaign pages (SEO)

Cross-domain auth​

Session cookies on .dyma.io (or SSO tokens) recognize a wallet connected on dyma.io when the same user has roles on studio.dyma.io.

Backend responsibilities​

The API orchestrates:

  • Wallet auth (Cosmos signed messages) and email link/unlink
  • Social OAuth (X, Discord, GitHub)
  • Verification (indexer, platform APIs, project REST proxy, manual queues)
  • Dynamic plan enforcement (quotas, features, moderator seats)
  • Notifications, billing webhooks, analytics, OG image generation

OpenAPI documentation is served at api.dyma.io/docs when deployed.

Smart contracts​

ContractFunction
Reputation NFTSoulbound, upgradable DR levels
EscrowCampaign fund locking and settlement
Token factoryProject token minting on Safrochain
Campaign registryOn-chain campaign rules where applicable

Contract source: dyma-contracts (CosmWasm on Safrochain).