Skip to main content

Content model

All content follows Project → Campaign → Quest.

Project​

FieldDescription
Name, slug, logo, coverbranding; the cover drives social cards
Description, website, socials, categorythe public project page
Membersproject admins and moderators (seats per plan)
Plansubscription plan and its monthly verification quota
IntegrationsDiscord bot, Telegram bot, GitHub repositories, REST signing secret
Reward tokenstokens the project pays in, inspected and approved by Dyma
SEO profiletitle, description, keywords, card overrides
Statusdraft → pending approval → live, or suspended (owners never write it; see below)

Projects are submitted for review; automatic approval is on by default (Dyma can turn it off and can always suspend a project).

Campaign​

FieldDescription
Name, description, covercampaign page and social card
Start / endrequired for automatic distribution; optional for manual
Statusdraft · pending review · scheduled · active · paused · ended (lifecycle)
Distributionmode (manual / automatic), reward token, pool, minimum payout, cap per earner, review grace, challenge window
Eligibilityverified e-mail, minimum account age, required linked accounts, allowlist
Questsordered list

Quest​

FieldDescription
Title, description, instructions, logowhat earners see
Task typefrom the global catalog (Task types); admins can disable types
Verification methodplatform API, on-chain, project REST, manual, hybrid (Verification)
Rewardpoints (DP) and XP, stored on each submission when it is verified
Configurationtype-specific settings (channel, repository, chain rule, quiz questions…), validated before the quest goes live
Input schemafields the earner fills in, for review-based and REST quests
Recurrence and limitsonce, interval, unlimited; max per earner; max in total (recurring quests)
Unlock rulesprerequisites (complete another quest first) and date rules
Positiondisplay order in the campaign
Statusdraft · live · paused · archived

Submission​

One earner's attempt at a quest: inputs, files (private evidence), status (started · verifying · claimed · rejected), the points and XP credited, the period it belongs to (the UTC day for check-ins, the interval for repeatable quests), verification attempts and the review decision.

Distribution​

One per campaign: mode, status (not configured → awaiting funding → funded → active → … → completed), token, pool, settings, the frozen allocation (one row per earner: payout address, points, weight, amount, status, payout transaction) and every tracked chain operation. Automatic campaigns also have an escrow record mirroring the on-chain contract.