Skip to content

expTrade

Trade XP levels with other players via commands. Send offers or requests, accept or decline with clickable chat buttons. Accurate per-level XP math ensures fair transfers. Includes admin controls and per-player thresholds.

FabricNeoForgePaperPurpur
Loaders
FabricNeoForgePaperPurpur
Downloads on Modrinth
606
Followers on Modrinth
0
versions
5
Updated
September 24, 2026Sep 24
Published
in 2026

At a glance

Runs on Fabric, NeoForge, Paper and Purpur
For Minecraft 1.21–26.3
Server only — players don't need to install it
Latest version — 1.3.2 from September 24, 2026
License MIT — free
Where it's needed
In gamenot neededOn serverrequired

Install on the server only; players don't need it

Game versions1.21–26.3

💱 expTrade

Trade XP between players

Fabric NeoForge

Download on CurseForge Discord GitHub

Minecraft 26.x & 1.21.x Single Player & Server Fabric API required on Fabric MIT License


Ever finished a mob grinder with 40 spare levels while a friend is scraping to enchant their first pickaxe? expTrade lets players hand XP back and forth like any other resource — give it, ask for it, and confirm the exchange through a clean chest-GUI queue. No dropping bottles o' enchanting on the floor, no trust games: every transfer is explicit, previewed before it happens, and time-boxed so stale offers clean themselves up.

🆕 New in 1.3.2: one jar now runs on every Minecraft 26.x release — 26.1, 26.1.1, 26.1.2, 26.2 and 26.3.

It's fully server-side — a vanilla client can join a modded server and it just works. Runs in single-player too. No new blocks, no new items, no library mods: just /exptrade and a virtual chest menu built from vanilla items.

Why expTrade?

expTrade
💱 DirectionGive XP away or request it — the other player always confirms
📊 UnitsWhole levels, exact raw XP, or all — the mod does the curve math
📦 QueueA live chest-GUI queue with per-player TTL and countdown clocks
🛡️ SafetyPersonal level thresholds + re-validation at the moment of accept
🎒 ClientServer-side only — vanilla clients connect and play as normal

✨ Key features

  • 💱 Give or request, either direction. Push your own XP to someone with give, or ask them for some with request. The other player always gets the final say.
  • 📊 Levels or raw XP. Trade a round number of levels or an exact raw XP amount — or all to empty your bar in one go. The mod does the vanilla XP-curve math for you.
  • 📦 A live chest-GUI queue. /exptrade pending opens a virtual chest showing every incoming offer as its own row: a clock ticking down the time left, the sender's player head, an offer/request marker, a details page, and one-click Accept / Decline buttons.
  • ⏳ Per-player queue with TTL. Each player has their own incoming queue (default cap 10). Offers expire automatically after a timeout (default 60s), notifying both sides — nothing lingers forever.
  • 🛡️ Threshold protection. Set a personal level floor with /exptrade threshold and the mod refuses any trade that would drop you below it — great insurance against fat-fingering give … all.
  • 🔍 Balance preview before you commit. Every offer shows a before → after readout of both players' levels and XP, so nobody agrees blind.
  • 🖱️ Clickable chat controls. Offers come with [View Queue], [Cancel], and (for admins) [Confirm] / [Cancel] buttons wired straight to the commands.
  • ✅ Double-checked at execution. Amounts are validated when the offer is made and re-validated the instant it's accepted — if the giver spent their XP in the meantime, the trade fails cleanly instead of going negative.
  • 🛠️ Admin transfers. Operators can move XP between any two online players with a two-step confirm, bypassing thresholds — handy for events, refunds, and prizes.
  • 🔒 No item risk. The GUI slots are display-only; you can't pull items out or drop your own in. The only interactive slots are Accept and Decline.

⌨️ Commands

Everything lives under /exptrade. `targets are online players; amounts are positive integers, or the literalall` to move your entire bar.

CommandWhat it does
`/exptrade give levels `Offer that many levels to a player
`/exptrade give levels all`Offer all your XP (expressed as levels)
`/exptrade give exp `Offer that many points of raw XP
`/exptrade give exp all`Offer all your raw XP
`/exptrade request levels `Ask a player for that many levels (converted to raw XP at your level)
`/exptrade request levels all`Ask a player for all their XP
`/exptrade request exp `Ask a player for that much raw XP
`/exptrade request exp all`Ask a player for all their XP
`/exptrade accept []`Accept the first offer in your queue — or the one from a specific ``
`/exptrade decline []`Decline the first offer — or the one from a specific ``
/exptrade cancelCancel your own outgoing offer
/exptrade pendingOpen the chest-GUI trade queue
`/exptrade threshold `Set your personal minimum level floor (0 = no floor)

Admin commands

Require operator / gamemaster-level permission.

CommandWhat it does
`/exptrade admin transfer levels|exp `Stage an XP transfer between two players (bypasses thresholds)
`/exptrade admin transfer levels|exp all`Stage a transfer of all the source player's XP
/exptrade admin confirmConfirm your staged transfer
/exptrade admin cancelDiscard your staged transfer
`/exptrade config timeout `Set the offer timeout (10–300s) and save
`/exptrade config maxqueue `Set the per-player queue cap (1–50) and save
/exptrade config reloadReload the config file from disk

⚙️ Configuration

Settings live in config/exptrade.json (created on first launch). Both values are also editable live in-game via /exptrade config …, which writes the file for you; /exptrade config reload re-reads it from disk.

KeyDefaultRangeMeaning
timeoutSeconds6010–300How long a pending offer stays in the queue before it auto-expires
maxQueueSize101–50Maximum number of pending offers a single player can have waiting at once

Per-player thresholds set with /exptrade threshold are stored separately in config/exptrade/playerdata.json and persist across restarts.

✅ Compatibility

LoadersFabric and NeoForge — one jar
Minecraft26.1 – 26.3 — one jar, v1.3.2 · 1.21.11 and 1.21.9 – 1.21.10 — v1.3.0
Fabric APIRequired on Fabric · not needed on NeoForge
SideServer-side — vanilla clients supported, single-player too
Extra librariesNone — standalone

Enjoying it? Hop in the Discord · ⭐ the repo · explore the rest of Lunixia's Minecraft QOL Mods

⛏️ Small, focused mods that cut out the boring stuff.

FAQ

How to install expTrade?

Install Fabric for your Minecraft version, download expTrade for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does expTrade support?

expTrade has builds for Minecraft 1.21–26.3.

Is expTrade needed on the server?

Server only — players don't need to install it

License and source
MIT Licensefree to use and share with credit to the author
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More