How to set up a Discord economy bot
A Discord economy bot gives your community a virtual currency and a few concrete ways to earn and spend it. The Economy module in Build Discord Bots combines daily rewards, work payouts, member transfers, wallet and bank balances, and a server shop. It is a Pro module. This guide builds a small test economy around a collectible shop item, then checks the balances and purchase result before you invite the whole server to participate.
Start freeStart free. Pro is $9.99/month.
Before you start
- Create your bot, invite it to a server you control, and keep it online with Pro. Economy requires Pro; its virtual coins do not pay for your subscription.
- Use a quiet text channel where the bot can read commands and send replies with embeds. Prepare a staff account with Manage Server for configuration and shop management, plus an ordinary member account for the earning and purchase test.
Enable Economy and define the currency
On the dashboard, open your bot’s Modules and enable Economy. Open its Settings and select the server you want to configure. Decide what the virtual currency represents in your community before setting rewards: a playful participation score is easier to explain than a balance with vague promises attached. Keep this walkthrough entirely within the bot’s virtual economy. There is no cash withdrawal step here. Choose a short, recognizable currency name so members can read a balance without wondering whether the number means real money, experience points, or a separate website credit.
Staff can inspect the configuration in Discord with !econconfig and change the name with !econconfig currencyname coins. The symbol can be changed through !econconfig currencysymbol followed by your chosen symbol. All examples assume the default ! prefix; replace it if your bot uses another prefix. These settings apply to the current server. Confirm the name in a reply before creating public instructions, particularly when the same bot serves multiple communities. Choose one staff owner for reward changes so the daily payout and shop prices remain understandable together.
Set predictable earning rules
For the example, set the daily reward with !econconfig daily 100. The daily configuration command accepts whole amounts from 1 through 10000. That range belongs to this module setting and is unrelated to subscription credits. Set a work range with !econconfig workmin 50 and !econconfig workmax 200, then use !econconfig workcooldown 1h for an hour between successful work claims. Keep the maximum at least as large as the minimum. These sample amounts also match the module’s normal defaults, making it easier to compare your test replies with an untouched setup.
Economy also has optional competitive behavior, including robbery and chance-based games. For a calm first walkthrough, turn robbery off with !econconfig rob off and focus your instructions on earning, banking, and the shop. That command disables robbery only; it is not a switch for every game or a promise that members cannot spend coins elsewhere. Explain the activities your community intends to use before promoting the economy. Avoid advertising a guaranteed daily profit from random outcomes. The goal of this test is to understand a few predictable balance changes, not to exercise every available command.
Claim rewards and verify the cooldowns
From the member account, check !balance, then claim !daily and check the balance again. The daily command adds the configured reward to the wallet when the account is eligible. It uses a rolling one-day cooldown from the last successful claim, rather than resetting at a particular local midnight. Try it again immediately and confirm that the bot reports a cooldown without adding another reward. This is a useful acceptance check before launch: members should understand why a second request is refused instead of interpreting the message as a broken bot.
Next, try !work and inspect the reply and wallet. A successful attempt awards a random whole amount within your configured work range and starts the work cooldown. Repeating the request too soon should not award another payout. The work response is flavor text for the virtual reward; it does not create an actual job or require a separate task submission. If a cooldown is surprising, inspect the server’s configuration and the previous successful claim before changing settings. Record the balance after each successful action so later transfers and purchases can be checked against a known starting point.
Move coins between wallet, bank, and members
The balance reply separates the wallet from the bank and also shows their combined total. Use !deposit with a positive whole amount to move coins from the wallet into the bank, then !withdraw with an amount to move them back. Both commands also accept all; !deposit all is convenient for moving a small test wallet. Compare both fields after each operation. Banking changes where existing coins are held; it does not create a new reward. Keep enough in the wallet for the shop because a bank balance alone does not cover a purchase.
To test a member transfer, use !pay followed by a real member mention and a positive whole amount that the sender can afford. The transfer uses the sender’s wallet. The module rejects a missing recipient, a transfer to yourself, a bot recipient, an invalid amount, or insufficient wallet funds. Have the recipient inspect their balance too, rather than relying only on the sender’s confirmation. Keep test transfers small and label them in your staff notes, so nobody confuses a setup exercise with a reward they earned under the published community rules.
Create a simple shop item and buy it
From the staff account, enter !shopadd 50 Trail Badge | A souvenir for our test shop. The price comes first, then the item name, followed by a vertical bar and its description. This example has no attached role, so it tests the purchase flow without requiring role assignment. Open !shop from the member account and confirm that Trail Badge appears at the expected price. The shop is scoped to this server and rejects duplicate item names without regard to letter case. Choose distinct names that members can type accurately from the listing.
Make sure the member has at least the item price in their wallet, then enter !buy Trail Badge. Check !inventory for the item and !balance for the reduced wallet. A successful purchase records ownership and deducts the price; the collectible itself does not automatically perform another action. An item without a role may be purchased more than once, and inventory groups repeated purchases by name. If the purchase fails for insufficient funds while the combined total seems large enough, check the bank field and withdraw the needed coins before trying again.
Review role rewards and prepare the public launch
Once the basic shop works, you can consider an item linked to a Discord role using the optional role field in !shopadd. Test with a harmless role that grants no administrative powers, and verify the bot can actually assign it. The current purchase flow deducts coins and stores the item before attempting role assignment. If Discord rejects that assignment, the purchase still counts, so a success reply alone is not proof that the member received the role. Inspect their roles directly and resolve a failed assignment with staff before offering that reward to everyone.
Use !shopremove followed by the item name when you want to remove the test listing. This removes the shop entry, not previously recorded inventory purchases. Members can view the economy ranking with !leaderboard, which displays wallet plus bank totals for the returned entries in this server. Before launch, publish the earning rules, where commands should be used, and whom to contact about a mistaken purchase. Keep reward changes deliberate so prices retain their intended meaning. Use the signup button below to create your own bot and test Economy on Pro.
Frequently asked questions
Can I keep the Economy module on Free?
Economy is a Pro module, so using it requires Pro.
Does the daily reward reset at midnight?
No. The daily command checks whether one day has elapsed since the last successful claim. Work uses its separately configured cooldown.
Why can I not buy an item when my total balance is high?
Purchases spend wallet coins, not bank coins. Check both fields in the balance reply and withdraw enough from the bank if needed.
Does buying a role item guarantee the role appears?
No. The purchase is recorded before role assignment is attempted. A permission or role assignment failure does not undo the purchase, so staff should test the actual role result.
