Vetox capabilities
Vetox Leveling, XP and rank rewards — capability reference
Vetox Leveling — three XP tracks, a 101-step curve, unlimited free rank rewards, scheduled resets, double-XP events, daily streaks and battle passes.
- Key
- VX-003
- Section
- Vetox capabilities
- Read
- 14 min
- Checked
- 30 August 2026
What it is
XP awarded for messages, voice time and reactions, mapped onto a fixed 101-step level curve. Text and voice are two separate tracks with their own totals, levels and leaderboards. Levels grant roles automatically. Around that core sit three timing systems — scheduled double-XP events, daily streaks, and a seasonal battle pass with quests.
The problem it solves
An active member and someone who joined yesterday look identical in a Discord member list.
Operators want a visible, automatic record of participation that survives staff turnover, cannot be faked by one burst of messages, and can gate role access without a moderator approving each promotion.
There is a second problem underneath, and it is the one most levelling bots do not address. A single accumulating counter eventually stops motivating anyone: a member at level 60 has nothing left to chase, and the curve rewards volume rather than habit. Streaks measure whether someone keeps showing up. A season is a bounded contest with a finish line and a fresh start.
How it works
Text XP on each message: eligibility check, then cooldown, then a uniform random amount between the configured minimum and maximum, then multipliers.
Eligibility skips bots, blacklisted users, excluded roles, excluded channels including threads whose
parent is excluded, messages beginning with #, and messages that are purely numeric.
Multipliers resolve by the highest single value, never by stacking. Role multipliers, channel multipliers and an active XP event all pass through one maximum. This is deliberate: stacking multipliers make an XP economy impossible to reason about, and impossible to tune once someone finds the combination.
Voice XP runs on its own cycle, awarding minutes multiplied by a random per-minute rate. It has its own totals and its own leaderboard.
Level lookup is a binary search over a fixed cumulative threshold table. Level 1 sits at 70 total XP. Level 100 sits at 950,000. XP past level 100 is tracked as overflow while the level stays capped.
Rank rewards are evaluated on every text award — not only on level-up. When a member does not level up, the same function runs as a reconciliation pass. A member who was offline when they crossed a threshold, or who lost a role, gets it back the next time they earn XP.
What is configurable
XP sources and rates
| Setting | Range | Default |
|---|---|---|
| Text XP enabled | on/off | on |
| Voice XP enabled | on/off | on |
| Reaction XP enabled | on/off | off |
| Text XP per message | 1–100 minimum, 1–500 maximum | 5–45 |
| Voice XP per cycle | 1–100 minimum, 1–500 maximum | 2–5 |
| Reaction XP | 1–100 minimum, 1–500 maximum | 5–15 |
| Text cooldown | 0–3,600 seconds | 240 |
| Voice award cycle | 1–60 minutes | 4 |
| Reaction cooldown | 0–3,600 seconds | 300 |
Exclusions and blocking
Excluded roles, excluded text channels and excluded voice channels, each unbounded. Plus five behavioural switches, all off by default: block muted users, block deafened users, ignore members alone in a voice channel, reset XP when a member leaves, reset XP on ban.
The muted and deafened switches are the ones that decide whether an AFK member farms voice XP overnight.
Multipliers
Per-role and per-channel multipliers from 0.25× to 5.0×. Values below 1 are accepted, so a low-value channel can be worth less rather than being excluded outright.
Validation rejects duplicate roles, duplicate channels, and anything appearing in both the exclusion list and the multiplier list — a contradiction that silently produces the wrong answer in most systems that allow it.
Scheduled resets
Daily, weekly and monthly reset times, each configurable to the hour and minute, with a weekday for weekly and a day-of-month for monthly that auto-clamps to the month’s end.
Reset boundaries use the server’s own timezone from Server Setup, not UTC and not the administrator’s browser. A weekly reset at midnight means midnight where the community actually lives.
Level-up announcements
Four independent announcements — text level-ups, voice level-ups, reaction level-ups, and a DM. Each has its own switch, its own type (plain text or embed), its own channel and its own body up to 2,000 characters.
Rank rewards
Each reward row carries a text-level threshold, a voice-level threshold, and an AND/OR operator. An unused axis is stored as zero and is trivially satisfied, so a single-axis reward works exactly as expected; the operator only matters when both thresholds are set.
Per row: whether to strip lower reward roles when a higher one is earned, whether to DM the member, and whether the role appears on the leaderboard. Stack-or-replace is per row, not global — a server can run a stacking cosmetic ladder alongside a replacing rank ladder in the same configuration.
XP Events
| Setting | Range | Default |
|---|---|---|
| Multiplier | Exactly one of 1.5×, 2×, 2.5×, 3×, 4×, 5× | 2× |
| Scope | Text, voice, or both | Both |
| Duration | 1 minute to 7 days | Required |
One event runs at a time. While it runs the dashboard shows live totals — XP, text XP, voice XP, messages, participants and top contributors — and when it ends those numbers freeze into a permanent history entry. That history is the part that matters: it answers whether the boost actually produced turnout, which is otherwise a matter of opinion.
The event multiplier folds into the same maximum as role and channel multipliers, and it applies after every eligibility check, so it can never bypass an exclusion.
Streaks
Consecutive days on which a member met a server-defined activity bar — a message count, a voice-minute count, either, or both. Day boundaries are computed in the server’s timezone, with a configurable grace window after midnight so a message at 00:10 still counts for the previous day.
Freezes absorb a missed day. Milestones can announce, grant a role, and append the current streak to the member’s nickname. Anti-farm checks cover per-user cooldowns, identical-message deduplication, excluded roles and channels, and a minimum account age.
Battle Pass
Time-boxed seasons: quests pay Battle Pass XP, XP fills numbered tiers, tiers hold claimable rewards. Up to 50 tiers per season and 25 rewards per tier on every tier that has access. Battle Pass XP is stored entirely separately from levelling XP and never touches it.
Quests can target voice time, channel breadth, reactions, ticket help and suggestions — behaviours an operator actually wants, rather than message volume alone.
Tier availability
| Capability | Starter | Basic | Max | Black |
|---|---|---|---|---|
| Text, voice and reaction XP; levels; exclusions; level-up messages; public board | Yes | Yes | Yes | Yes |
| Rank reward roles | Unlimited | Unlimited | Unlimited | Unlimited |
| Role and channel XP multipliers | — | Yes | Yes | Yes |
| Custom XP rates, cooldowns and blocking rules | — | Yes | Yes | Yes |
| Custom scheduled-reset times | — | — | Yes | Yes |
| XP Events — all six multipliers, up to 7 days | Yes | Yes | Yes | Yes |
| Streaks — accrual, decay, milestones, nickname display, reminders | Yes | Yes | Yes | Yes |
| Monthly streak freezes | 0 | 2 | 4 | 8 |
| Streak milestone roles | 1 | 5 | 15 | Unlimited |
| Custom streak emoji | — | Yes | Yes | Yes |
| Battle Pass access | Preview only | Yes | Yes | Yes |
| Custom quests per season | 0 | 10 | Unlimited | Unlimited |
| Seasons per server | 0 | 1 | 3 | Unlimited |
Two lines are worth reading twice. Rank reward roles have no cap in the code at any tier, which is the capability most often metered in this category. And XP Events and the streak system are free in full — the free tier gets every multiplier value, the full seven-day duration, the whole streak mechanism and its milestones.
Starting freezes, set per server from 0 to 10, are free on every tier. The monthly grant is the part that scales.
Commands
| Command | Options | Who | Cooldown |
|---|---|---|---|
/rank | user, theme (dark or light) | Anyone | 10 s |
/top | duration (global, day, week, month), role | Anyone | 15 s |
/setlevel | user, type (text or voice), level — accepts N, +N, -N | Manage Server | 5 s |
/setxp | user, type, xp — same relative syntax | Manage Server | 5 s |
/reset | type, user — omit the user to reset everyone | Manage Server | 5 s |
The relative syntax on /setlevel and /setxp is the difference between correcting a member’s
total and recalculating it by hand.
Dashboard surface
/server/:id/leveling, four tabs:
| Tab | Covers |
|---|---|
| Main Settings | XP rates, cooldowns, exclusions, multipliers, blocking, resets, board visibility |
| XP Event | Start, stop, live statistics, event history |
| Leveling Up Messages | The four announcements |
| Reward Roles | The level-to-role ladder |
The public board is served at /leaderboard/:serverId, and its visibility is a per-server toggle
defaulting to private.
Streaks and Battle Pass have their own pages.
Permissions required
| Purpose | Bot permission |
|---|---|
/rank cards | Attach Files |
| Level-up announcements | View Channel, Send Messages in the target channel |
| Rank reward roles | Manage Roles, and a role position above every reward role |
| Streak nickname display | Manage Nicknames |
The role-position requirement is the single most common cause of “the reward is configured but nothing happens” — see the permissions reference.
Leaderboard visibility and the XP reset endpoints require server ownership or Administrator, above the ordinary dashboard permission layer.
What it connects to
- Rank rewards live in the same document as levelling and save through the same endpoint. They are not a separate system.
- XP Events write into the same multiplier resolution.
- Streaks feed member profiles and the logging timeline.
- Battle Pass draws quest progress from levelling, streaks, games and tickets — support work counts toward a season.
- Giveaways can gate entry on a minimum level.
- Membership applies a personal XP multiplier, on the global track only. A member’s paid multiplier never inflates a server’s own leaderboard.
- Leaderboards read the XP store; the bot is its only writer.
The chain: Leveling → Rank Rewards → Leaderboards, with
XP Events → Leveling and Streaks + Games + Tickets → Battle Pass.
Who it is for
Servers with a role ladder to gate — verified, regular, veteran channels earned rather than granted.
Gaming and study communities where voice hours matter as much as messages, and where a text-only XP system measures the wrong thing entirely.
Servers running seasonal competition through periodic resets, where the point is the current period rather than the all-time total.
A server whose activity is a handful of people talking in one channel gets very little from any of this, and should say so rather than installing a levelling bot and wondering why nobody cares.
Practical use cases
A voice community that stops rewarding AFK. Voice XP on, block muted and block deafened both on, ignore-alone on, a 4-minute award cycle. Voice hours count and an idle connection does not.
A stacking cosmetic ladder next to a replacing rank ladder. Colour roles at levels 5, 10, 20 with strip-lower off, so they accumulate. Access roles at levels 15, 40, 70 with strip-lower on, so a member holds exactly one. Both in the same list, distinguished per row.
A double-XP weekend you can actually evaluate. Start a 2× event scoped to both tracks for 60 hours before a game launch. When it ends, the frozen history entry shows participants, messages and XP awarded — evidence for whether to run the next one.
Habit over volume. Streaks with a 3-message daily bar, milestone roles at 7, 30 and 100 days, and the streak count appended to nicknames. The member who writes three good messages a day for a hundred days becomes visibly more established than the one who dumped a thousand messages in a week.
A season with a finish line. A 50-tier battle pass with quests covering voice time, channel breadth and ticket help, so progress rewards the behaviours the server wants rather than the ones that are easiest to spam.
How it compares
Criteria first: what a levelling bot is judged on is whether voice XP costs money, how many role rewards the free tier allows, whether the XP economy is tunable without paying, and whether anything exists beyond a single accumulating counter. Not install count. On those four, the most complete free levelling in the table below is Vetox’s, and the strongest on configurability and portability is Lurkr’s.
| Capability | Vetox | Arcane | Amari | Tatsu | Lurkr | ActivityRank | Cakey Bot |
|---|---|---|---|---|---|---|---|
| Message XP | Free | Free | Free | Free | Free | Free | Free |
| Voice XP | Free | Paid, needs a separate bot invited | Paid, off by default even when paid | Not offered at any price | Not offered | Free | Free |
| Role rewards, free cap | No cap | 15 total, 1 per level | No published cap | 10 | 50 total, 3 per level | No published cap | 10 (20 paid) |
| Custom XP rates | Basic | Paid | Paid | Free | Free | Free | Free |
| Custom XP curve | Fixed 101-step | Not offered | Not offered | Not offered | Free — polynomial, 2–5 coefficients | Free, published formula | Not published |
| Multipliers | Basic | 1 role + 1 channel free, unlimited paid | Zero on free | Not offered | 5 free, multiplicative, values below 1 allowed | Not published | 5 free, 10 paid |
| Scheduled double-XP | Free | Not offered | Not offered | Not offered | Not offered | Not offered | Not published |
| Daily streak | Free | Not offered | Not offered | Not offered | Not offered | Not offered | Yes |
| Seasonal pass | Basic | Not offered | Not offered | Not offered | Not offered | Not offered | Not offered |
| Web dashboard | Free | Free | Not offered — /dashboard returns 404 | Free | Free | Not offered — “planned, but we can’t give an ETA” | Free |
| Import from another bot | Not offered | Not offered | Not offered | Not offered | Free — from MEE6 | Not offered | Not offered |
| Price | $0 / $4.99 | $7/mo, $75/yr per server | ~$6.99 one-time per user | $4.99 / $8.99 per server | $5/mo per server | Not published | $4.99/mo per server |
Beyond these, levelling is paid at MEE6, Dyno and Carl-bot, and free at ProBot, Koya, Atlas, Maki, Loritta, Miki, NadekoBot and Pancake.
Lurkr leads on configurability and data portability, clearly and by a distance. Fifty free role rewards at three per level, a polynomial custom XP curve, five free multiplicative multipliers that accept values below 1, free custom rank-card backgrounds, free import from MEE6 and free instant export of your own data. If the ability to leave is part of your criteria, Lurkr is the only one of the five that treats it as a feature.
ActivityRank gives voice XP away, with mute, deafen and solo exclusions, and publishes its XP formula. It has no dashboard, which is the trade.
Arcane is the one product selling unlimited role rewards and voice XP together, at $7 a month. Nothing else in the category sells both.
Three things separate the Vetox shape from the field, and the third is the structural one.
Voice XP is free. It is the most reliably paywalled capability in the category — Arcane and Amari charge for it, Tatsu and Lurkr do not sell it at any price, and only ActivityRank and Cakey Bot give it away.
Rank rewards have no cap. Against Arcane’s 15, Tatsu’s 10, Cakey Bot’s 10 and Lurkr’s 50, an uncapped free ladder is a different shape of offer.
The design space above a single counter is thinly occupied, and the scope of that statement matters more than the statement. Scheduled XP events, daily streaks, streak freezes and a seasonal track are absent from all five levelling specialists in the table above and from the sixteen all-in-one bots examined.
It is not true of the wider market, and several products prove it. Kiai ships a deep XP streak system — consecutive-day tracking, milestone announcements, bonus XP per streak day and a streak leaderboard — alongside a well-designed API authorisation model. Cakey Bot ships activity streaks. StreakBot is a dedicated streaks specialist listed in Discord’s own directory, and it keeps a streak alive with photos, videos, GIFs, stickers and voice rather than messages, which is a different mechanic rather than a worse one. ScopliDrop uses daily streaks as a giveaway entry condition. And on the seasonal side, NextPanel — Discord-verified — advertises a battle pass with tier rewards and a season leaderboard. Anyone writing that nobody else has streaks or a season is wrong.
Of the three mechanisms, the one that survived every check as genuinely uncontested is narrower and duller than the headline: a scheduled, server-wide, time-boxed XP multiplier with frozen post-event statistics. Not a vote boost, not a permanent purchased multiplier, not a rolling weekly leaderboard — a window an operator opens deliberately and can afterwards evaluate.
Sources
Checked
- docs.vetox.io — Leveling (opens in a new tab)
- docs.vetox.io — XP Events (opens in a new tab)
- docs.vetox.io — Streaks (opens in a new tab)
- docs.vetox.io — Battle Pass (opens in a new tab)
- Arcane documentation (opens in a new tab)
- Amari documentation (opens in a new tab)
- Tatsu — features and pricing (opens in a new tab)
- Lurkr documentation (opens in a new tab)
- ActivityRank — FAQ (opens in a new tab)
- Cakey Bot — premium (opens in a new tab)
- Kiai — features and API (opens in a new tab)