Skip to main content

Role-Based Rewards System

Configure Discord roles to provide loyalty bonuses to your community members.

Effect Types

EffectDescriptionExample
MultiplierMultiply base rewards1.5x = 50% bonus LTZ
Flat BonusAdd fixed amount to rewards+10 LTZ per claim
Cooldown ReductionReduce wait times25% faster daily reset
Event AccessUnlock exclusive eventsVIP-only drops
One-Time BonusGrant bonus on role assignment100 LTZ welcome gift

Configuration Commands

View Role Bonuses

/config role-bonus

Set Multiplier

/config role-bonus role:@VIP multiplier:1.5

Range: 1.0 to 5.0

  • 1.0 = No bonus (100%)
  • 1.5 = 50% bonus (150%)
  • 2.0 = Double rewards (200%)

Set Flat Bonus

/config role-bonus role:@Whale flat-bonus:25

Range: 0 to 1,000 LTZ

Adds fixed amount to every reward claim.

Set Both Effects

/config role-bonus role:@Booster multiplier:2.0 flat-bonus:10

Remove Role Bonus

/config role-bonus clear:@OldRole

Stacking Modes

When users have multiple roles with bonuses, effects combine based on stacking mode.

Configure Stacking

/config stacking MODE

Available Modes

ModeHow It WorksExample
MultiplicativeEffects multiply together1.5x × 1.2x = 1.8x
AdditiveEffects add together+50% + 20% = +70%
Highest OnlyOnly best effect applies1.5x wins over 1.2x

Calculation Examples

User has @VIP (1.5x) and @Booster (1.2x), base reward 100 LTZ:

ModeCalculationResult
Multiplicative100 × 1.5 × 1.2180 LTZ
Additive100 × (1 + 0.5 + 0.2)170 LTZ
Highest100 × 1.5150 LTZ

Partner Portal Configuration

Access

Integrations → Channels → Discord → Role Configuration

Settings Per Role

  1. Effect Type: Multiplier, flat bonus, cooldown reduction, etc.
  2. Effect Value: The bonus amount
  3. Priority: Higher = applied first
  4. Assignment Method:
    • Manual (admin assigns)
    • Balance threshold (auto-assign at LTZ amount)
    • Purchase (user buys with LTZ)

Common Role Configurations

Tiered Membership

RoleRequirementEffect
Bronze500 LTZ earned1.1x multiplier
Silver2,500 LTZ earned1.25x multiplier
Gold10,000 LTZ earned1.5x multiplier
Platinum50,000 LTZ earned2.0x multiplier

Server Booster Rewards

/config role-bonus role:@Server Booster multiplier:2.0 flat-bonus:10

Boosters get double rewards plus 10 LTZ on every claim.

VIP Perks

/config role-bonus role:@VIP multiplier:1.5

VIP members get 50% bonus on all rewards.


Auto-Assignment

Roles can be automatically assigned based on LTZ balance.

Configure in Partner Portal

Integrations → Discord → Role Configuration → Assignment Method

Set "Balance Threshold" and specify the LTZ amount.

Example Thresholds

RoleThreshold
Active Member100 LTZ
Regular1,000 LTZ
Veteran5,000 LTZ
Whale25,000 LTZ

Role Purchase

Allow users to purchase roles with their LTZ.

Setup

  1. Create a perk linked to the role in Partner Portal
  2. Set the price in LTZ
  3. Users purchase via /buy-role

Example

/perk create name:"VIP Access" price:5000 category:access

Users can then:

/buy-role role:@VIP

Best Practices

Balance Your Bonuses

  • Don't go too high: 5x multiplier makes other activities meaningless
  • Gradual progression: 1.1x → 1.25x → 1.5x → 2.0x
  • Mix effects: Combine multipliers with flat bonuses for variety

Consider Your Community

Community TypeRecommended Approach
CasualLower multipliers (1.1x-1.25x)
CompetitiveHigher multipliers (1.5x-2.0x)
E-commerceFlat bonuses work well
GamingTiered progression

Stacking Mode Selection

  • Multiplicative: For whale-friendly programs
  • Additive: For balanced progression
  • Highest: For simpler programs

Troubleshooting

"Role bonus isn't applying"

  1. Check role is configured: /config role-bonus
  2. Verify user has the role
  3. Check stacking mode settings
  4. Ensure bot role is higher than configured roles

"Bot can't manage roles"

  1. Verify "Manage Roles" permission
  2. Ensure bot role is above target roles in the hierarchy
  3. Run /config sync-roles to refresh

"Auto-assignment not working"

  1. Verify threshold is set correctly in Partner Portal
  2. Check bot has "Manage Roles" permission
  3. Confirm balance threshold is set (not manual assignment)