Skip to content

Mission System

The mission system is the primary engagement mechanism — users participate in gamified tasks, challenges, and tournaments to earn SUDIGITAL tokens and XP.

Mission Types

TypeDescriptionDifficulty
TaskComplete specific actionsEasy-Hard
ChallengeSkill-based competitionsEasy-Hard
QuizKnowledge testsEasy-Hard
TournamentMulti-round competitionsEasy-Hard
PredictionOutcome forecastingEasy-Hard
SocialCommunity engagementEasy-Hard

Fair Reward Distribution

80% Winners / 15% NFT Holders / 5% Ecosystem

Mission Pool: $1,000 (example)
├─ Winners (80%): $800 split among participants
├─ NFT Holders (15%): $150 distributed to NFT share holders
└─ Ecosystem (5%): $50 burned + development fund
PoolBasis PointsPercentage
Winners8,00080%
NFT ID Holders1,50015%
Ecosystem Fund5005%

This distribution is enforced on-chain — not configurable per mission.

Mission Parameters

EVM Constraints

ParameterValue
Min Entry Fee0.001 ETH
Max Entry Fee1,000 ETH
Min Participants2
Max Participants10,000
Min Winners1
Max Winners100
Min Duration5 minutes
Max Duration30 days
Auto-Start Threshold50% of max participants
Max Reward Pool1,000 ETH

Solana Constraints

ParameterValue
Max Rank100
Proof Validity300 seconds (defined but not enforced in code)
Max Batch Size10 (for batch operations)

Note: Solana mission escrow uses native SOL (lamports), not SPL tokens. EVM supports both ETH and ERC-20.

Architecture

Missions use a hybrid on-chain/off-chain architecture:

  • On-chain: Escrow deposits, winner recording, reward claims, holder reward distribution
  • Off-chain: Mission creation, participant tracking, leaderboards, complex game logic
Backend creates mission (PostgreSQL)

Creator deposits escrow (on-chain)

Users participate (off-chain tracking)

Backend determines winners (game logic)

Backend signs winner proofs (ECDSA/Ed25519)

Winners recorded on-chain (proof verification)

Winners claim rewards (on-chain, self-service)

NFT holders claim their 15% share (on-chain)

On-Chain Functions

EVM (MissionModule)Solana (sudigital-mission)
depositEscrow(missionId, paymentToken, amount, expiresAt)deposit_escrow(mission_id, total_amount)
recordWinner(proof)record_winner(mission_id, winner, rank, reward_amount, proof)
claimReward(missionId)claim_reward(mission_id)
refundEscrow(missionId)refund_escrow(mission_id)
setHolderShares(missionId, holders[], shares[])set_holder_share(mission_id, holder, shares)
claimHolderReward(missionId)claim_holder_reward(mission_id)
batchRecordWinners(proofs[]) (max 100)batch_set_holder_shares(mission_id, holders)

EVM supports both ETH and ERC-20 payments — pass address(0) as paymentToken for native ETH, or any ERC-20 address.

XP Rewards from Missions

Missions award XP that contributes to the leveling system:

ActionBase XP
Create a Mission100 XP
Participate in a Mission75 XP
Win a Mission500 XP

XP determines your level (0-10) and multiplier (1.0x-2.0x), which amplifies future mission rewards.

Security

  • Rate Limiting — 10 deposits/hour, 50/day; 20 claims/hour, 100/day
  • Circuit Breaker — auto-triggers after 5 consecutive failures, 1-hour cooldown
  • Anti-Replay — monotonically increasing nonces per user per mission
  • Pull-Payment — failed ETH transfers stored for later withdrawal (EVM)
  • Backend-Signed Proofs — only the trusted backend authority can authorize winner recording

One backend. Three products. One token.