REWARDS

Reward System

DigitalSquid Games features two main reward systems: Single Play rewards based on entry fees and platform fees, and Tournament rewards with fixed prize pools. Both systems are enhanced by achievement bonuses and multipliers.

Reward Types

Single Play Rewards

Rewards for individual and team matches.

Solo Victory95% of Prize Pool
Team Victory90% Split
Mixed Battle Win92% Split
Runner-upProportional Share

Tournament Rewards

Weekly tournament prize distribution.

1st Place44,000 $DSG
2nd Place22,000 $DSG
3rd Place11,000 $DSG
4th-10th1,571 $DSG each

Achievement Bonuses

Special rewards for accomplishing specific feats.

Perfect Game1,000 $DSG
Win Streak (5)500 $DSG
Team MVP250 $DSG
AI Master300 $DSG

Reward Multipliers

AI Difficulty

Basic AI
1.0x
Advanced AI
1.2x
Expert AI
1.5x

Staking Amount

1,000 $DSG
1.1x
5,000 $DSG
1.3x
10,000 $DSG
1.5x

Performance History

3 top 10 finishes
1.2x
5 top 5 finishes
1.4x
Previous winner
1.6x

Reward Calculations

Single Play Prize

Total Entry Fees × (1 - Platform Fee)

// Example calculation
const calculateSinglePlayPrize = (
  entryFee: number,
  players: number,
  platformFee: number
): number => {
  const totalFees = entryFee * players;
  return totalFees * (1 - platformFee);
}

// 4 players, $500 DSG entry, 7.5% fee
const prize = calculateSinglePlayPrize(500, 4, 0.075);  // 1,850 $DSG

// Distribution example for team game
const teamDistribution = {
  first: prize * 0.5,    // 925 $DSG
  second: prize * 0.3,   // 555 $DSG
  third: prize * 0.2     // 370 $DSG
};

Tournament Prize

Fixed Prize Pool with Position-based Distribution

// Example calculation
const calculateTournamentPrize = (
  position: number,
  prizePool: number = 88000
): number => {
  const distribution = {
    1: 0.5,    // 50% for 1st = 44,000 $DSG
    2: 0.25,   // 25% for 2nd = 22,000 $DSG
    3: 0.125,  // 12.5% for 3rd = 11,000 $DSG
    other: 0.125 / 7  // ~1.8% each for 4th-10th = 1,571 $DSG
  };
  
  return prizePool * (position <= 3 
    ? distribution[position] 
    : (position <= 10 ? distribution.other : 0));
}