Page cover

πŸ“‚Configuration

Complete guide to configuring your economy system

Introduction

The Economy addon configuration file (economy.json) controls every aspect of your server's virtual currency system. This guide will walk you through each section to help you create a balanced and engaging economy.


Part 1: Coin Rewards

Understanding Coin Rewards

The coins section defines how many coins users earn for different activities. Setting a value to 0 disables coin rewards for that activity.

coins: {
    message_sent: 1,
    invite: 150,
    game_played: 5,
    game_won: 15,
    counting_game: 3,
    level_up: 100,
    daily: 125,
    weekly: 1000,
    calltime_minute: 15,
    approved_suggestion: 200,
    suggestion_vote: 25,
    poll_vote: 25,
    birthday: 5000,
    starboard_message: 200,
    punishment: -5000,
}

Activity Breakdown

Social Activities

message_sent

  • Coins earned per message sent in chat

  • Recommended: 1-5 coins

  • Too high = spam encouragement | Too low = no incentive

invite

  • Coins earned when a user's invite brings a new member

  • Recommended: 100-500 coins

  • High value encourages organic growth

calltime_minute

  • Coins earned per minute in voice channels

  • Recommended: 10-30 coins

  • Encourages voice activity and community engagement

suggestion_vote & poll_vote

  • Coins earned for voting on suggestions or polls

  • Recommended: 10-50 coins each

  • Encourages community participation in decisions

approved_suggestion

  • Bonus coins when your suggestion is approved

  • Recommended: 100-500 coins

  • Rewards quality suggestions

starboard_message

  • Coins earned when your message gets starred

  • Recommended: 100-300 coins

  • Rewards popular/quality content


Game Activities

game_played

  • Coins earned just for playing a game

  • Recommended: 1-10 coins

  • Participation reward

game_won

  • Coins earned for winning a game

  • Recommended: 10-50 coins

  • Should be higher than game_played

counting_game

  • Coins earned per successful count in counting channel

  • Recommended: 1-5 coins

  • Small but consistent reward


Progression Activities

level_up

  • Bonus coins when reaching a new level

  • Recommended: 50-200 coins

  • Scales with your leveling system difficulty

daily

  • Base reward for daily claims

  • Recommended: 100-500 coins

  • Influenced by streak bonuses (see Streaks section)

weekly

  • Base reward for weekly claims

  • Recommended: 500-2000 coins

  • Should be significantly higher than daily

birthday

  • Special reward on user's birthday

  • Recommended: 1000-10000 coins

  • Once-per-year celebration bonus


Punishment

punishment

  • Coins deducted when a user is punished (warned, muted, etc.)

  • Recommended: -1000 to -10000 coins

  • Use negative values to deduct coins

  • Serves as an economic deterrent for rule-breaking


Part 2: Shop Items

Understanding Shop Structure

Shop items appear in the /shop command and can be purchased with earned coins. Each item has rewards that are automatically delivered upon purchase.


Item Configuration Options

Basic Properties

id (Number)

  • Unique identifier for the item

  • CRITICAL: Never reuse IDs, even after deleting items

  • Used to track who purchased what

  • Start at 0 and increment for each new item

emoji (String)

  • Emoji displayed next to the item in the shop

  • Use any Discord emoji or Unicode emoji

  • Example: 'πŸ‘‘', '🎁', 'πŸ’Ž'

name (String)

  • Display name of the item

  • Keep it short and descriptive

  • Shown in shop list and purchase confirmations

description (String)

  • Longer explanation of what the item does

  • Tell users exactly what they're buying

  • Example: "Permanent VIP role with exclusive perks"

cost (Number)

  • Price in coins

  • Must be greater than 0

  • Consider your coin earning rates when pricing


Requirements

rankId (Number)

  • Minimum economy rank required to purchase

  • Set to 0 for no requirement

  • Higher ranks = more exclusive items

  • Use for progression-locked rewards

oneTimePurchase (Boolean)

  • true = Can only buy once per user

  • false = Can buy unlimited times

  • Use true for roles and permanent items

  • Use false for consumables (boosters, lootboxes)


Reward Types

Each item can have multiple rewards. When purchased, all rewards are given simultaneously.

ROLE Reward

Grants a Discord role to the purchaser:

  • target = Role ID (right-click role with Developer Mode enabled)

  • Bot must have permission to assign roles

  • Bot's role must be higher than the target role


BOOSTER Reward

Gives a coin multiplier booster:

  • target = Booster ID from your booster configuration

  • Format usually: booster_coin_<duration>_<multiplier>

  • Examples: booster_coin_1h_2 = 2x coins for 1 hour

  • Users activate boosters with /booster activate


LOOTBOX Reward

Adds lootboxes to the user's inventory:

  • target = Always null for lootboxes

  • amount = Number of lootboxes to give

  • Lootboxes contain random rewards when opened


CHANNEL_MESSAGE Reward

Sends a predefined message to a specific channel:

  • target = Channel ID where the message will be sent

  • predefined_id = ID of your saved message template

  • Create templates using /sendmsg and /editmsg commands

  • Useful for announcing purchases or sending instructions


COUPON Reward

Generates a Tebex store coupon code:

  • target = Coupon value (percentage or fixed amount)

  • Requires Tebex plugin integration

  • Automatically generates and DMs the code to the user

  • Perfect for bridging virtual and real economy

triangle-exclamation

Shop Item Examples

Example 1: VIP Role

Permanent role requiring rank 5:


Example 2: Coin Booster

Consumable 2x booster for 1 hour:


Example 3: Lootbox

Random reward box:


Example 4: Announcement Purchase

Send a message to a public channel:


Example 5: Store Coupon

Real-money store discount:


Example 6: Multiple Rewards

Item granting multiple rewards at once:


Part 3: Streak Bonuses

Understanding Streaks

Streaks encourage users to claim their daily/weekly rewards consistently. Each consecutive claim increases their streak counter, which adds bonus coins on top of the base reward.


Streak Configuration

enabled (Boolean)

  • true = Streak bonuses are active

  • false = Only base reward is given (no streak tracking)

bonus (String - Formula)

  • Mathematical formula to calculate bonus coins

  • %streak% placeholder = Current streak count (0, 1, 2, 3...)

  • Can use operators: +, -, *, /, ( )


Streak Formula Examples

Linear Growth

  • Streak 0: 0 * 25 + 25 = 25 coins

  • Streak 1: 1 * 25 + 25 = 50 coins

  • Streak 5: 5 * 25 + 25 = 150 coins

  • Streak 10: 10 * 25 + 25 = 275 coins


Exponential Growth

  • Streak 0: 0 * 0 * 10 = 0 coins

  • Streak 1: 1 * 1 * 10 = 10 coins

  • Streak 5: 5 * 5 * 10 = 250 coins

  • Streak 10: 10 * 10 * 10 = 1000 coins


Capped Growth

For formulas, you'll need to handle caps in your economy system logic, but you can design slower growth:

  • Streak 0: 0 * 10 = 0 coins

  • Streak 10: 10 * 10 = 100 coins

  • Streak 30: 30 * 10 = 300 coins


How Streaks Work

  1. User claims their daily/weekly reward

  2. Base reward is given (from coins section)

  3. Streak counter increases by 1

  4. Bonus is calculated using the formula

  5. Bonus is added to the base reward

  6. If user misses the claim window, streak resets to 0

Example with Daily:

  • Base daily reward: 125 coins

  • User on 5-day streak

  • Bonus formula: %streak% * 25 + 25 = 5 * 25 + 25 = 150 coins

  • Total reward: 125 + 150 = 275 coins


Part 4: Game Wagers

Understanding Wagers

The wager system lets users bet coins on games. If they win, they get their wager back plus additional coins based on the multiplier.


Wager Configuration

enabled (Boolean)

  • true = Wager system is active for games

  • false = Wagers are disabled (only base game rewards apply)

max (Number)

  • Maximum coins that can be wagered on a single game

  • Prevents large losses/gains that imbalance economy

  • Recommended: 500-2000 coins

cooldown (String)

  • Time users must wait between placing wagers

  • Prevents rapid betting/grinding

  • Format: "5m", "1h", "30s"

  • Recommended: "5m" to "30m"

multipliers (Object)

  • Defines payout multiplier for each game type

  • Higher multiplier = Higher difficulty/risk

  • Format: game_name: multiplier


Game Multipliers

gtn (Guess The Number)

  • Recommended: 1.5 - 2.0

  • Easy game, lower multiplier

hangman

  • Recommended: 1.5 - 2.0

  • Medium difficulty

rps (Rock Paper Scissors)

  • Recommended: 1.5 - 2.5

  • Pure luck, moderate multiplier

trivia

  • Recommended: 2.0 - 3.0

  • Knowledge-based, higher multiplier


Wager Calculation Example

User wagers 500 coins on Trivia (2.5x multiplier):

If they win:

  • Wager returned: 500 coins

  • Winnings: 500 * 2.5 = 1,250 coins

  • Total gained: 1,750 coins (net +1,250)

If they lose:

  • Total lost: 500 coins (wager is taken)


Part 5: Cooldowns

Understanding Cooldowns

Cooldowns prevent spam and balance the economy by limiting how often certain actions can be performed.


Cooldown Configuration

spy (String)

  • Cooldown for /bank spy command

  • Prevents constant wealth checking

  • Recommended: "15m" to "1h"

rob (String)

  • Cooldown for /rob command

  • Prevents repeated robbery attempts

  • Recommended: "1h" to "6h"

  • Should be longer due to potential for large gains/losses

beg (String)

  • Cooldown for /beg command

  • Limits passive income from begging

  • Recommended: "30m" to "3h"


Time Format

Use these formats for cooldown values:

  • "30s" = 30 seconds

  • "5m" = 5 minutes

  • "2h" = 2 hours

  • "1d" = 1 day

  • "1w" = 1 week


Complete Configuration Example

Here's a balanced economy configuration for a medium-sized server:

Last updated