Live
TREX updated TradeUpXTREX published MarketXTREX published BankXTREX published ItemXTREX published TradeUpXMabel reacted 🔥 to GolemsBrad Copp published GolemsEM$Ø published Welcome to the Jungle EventEM$Ø published Satellite Strike EventRazor updated Water Dragon BossTheGamingChurch published Scrap YardBarry_Allenn updated MBPromoCodeRazor updated Boss ScorpionRazor updated The CarnivalRazor updated Boss DragonMayonnaiseScc reacted 👍 to BoxLabelsYac Vaguer published BoxLabelsYac Vaguer reacted 🔥 to Water Dragon BossYac Vaguer updated UAV: Radar Enemies DetectionYac Vaguer updated Simple Patrol SignalRazor updated Alien TripodHA1FAL1VE reacted 🔥 to Water Dragon BossDark’Karis reacted 🔥 to Water Dragon BossRazor updated Water Dragon BossRazor published Water Dragon BossRazor updated Animal FarmBxcas published GameSentry: Stats, Maps & Admin PanelVoodooLights updated My Timed EventsFastBurst updated Furnace Splitter0g Ghost reacted 🔥 to FarmersMarket

MarketX

TREX★ 0.0 (0)v1.0.0OxideCarbon#pve#Market#shop#auctions
MarketX1 / 16
A real stock-exchange for Rust items: order book, buy and sell orders, price charts, auctions and player shops with safe escrow.
Description

MARKETX

MarketX is a real stock exchange for Rust items. Players post buy and sell orders for any tradable item, orders match automatically at the best price, and everything bought or earned waits in a personal Claim box, even while the player is offline. Limit, stop and instant orders, candlestick charts, an order book with depth view, timed auctions, player shops and a weekly top-traders board turn trading into a game of its own.

Built for server owners who care about their economy: every trade is escrowed, every fee is tracked in a treasury, a server market maker keeps the book alive from minute one, and anti-RMT, combat block and crash-safe saving keep the market clean. Scrap by default, or any item, Economics or ServerRewards as the currency. Works on Oxide and Carbon with no required dependencies.

In-Game Admin Page
Run the market from an ADMIN button on the market's own rail (permission marketx.admin):

  • Market Maker: add the item in your hand, remove items, and edit spread, depth and stock in place.
  • Treasury & Fees: total collected, base fee, every VIP profile and the auction fee at a glance.
  • Anti-RMT: daily cap, minimum playtime and flag thresholds, plus the list of flagged trades with a REVIEW window (seller, buyer, quantity x price, market price, value moved) and MARK REVIEWED, logged with the admin's name.

- Core Features -

Order Book Trading

  • Every tradable item has its own order book: sell orders on one side, buy orders on the other, best price first.
  • Orders fill at the waiting order's price, best price first, then oldest first. Partial fills are fine; the rest keeps waiting.
  • A buy order that fills below its price gets the difference back automatically.
  • Click any price in the book to use it; the price field starts at the best waiting order or the item's usual price, never at a last trade one alt could fake.
  • A player's own orders never trade with each other.
  • Market list with category buttons, search, 24h change, volume, trend sparkline, lowest sell and highest buy.

Order Types

  • INSTANT: trades at once with the best orders. A slippage guard refuses the order if prices moved more than 5% (configurable) since the player looked; nothing is taken.
  • LIMIT: waits in the book at the player's price.
  • STOP: a sell stop triggers when the price falls to the trigger, a buy stop when it rises to it, then trades within the slippage limit. Stops stay private and out of the book.
  • Order validity per order: 1H, 24H, 7D or GTC, with an optional server-wide maximum.
  • EDIT open orders without cancelling: lowering the units keeps the queue position, escrow adjusts exactly.
  • Large orders and bids ask for a confirmation first (10,000 by default).

Price Chart & 24h Stats

  • Candlestick chart with volume bars and a last-price line, ranges 1H, 24H, 7D and 30D (31 days of history).
  • 24h high, low and volume-weighted average, 24h volume and change.
  • BOOK / DEPTH toggle: a cumulative depth chart of buys and sells.
  • Price band protection: trades far from the item's usual price are left out of charts, stats and stop triggers, so one fake trade can't spoof them.

Claim Box & Escrow

  • Selling takes the items and buying takes the money the moment the order is placed: no unbacked orders, ever.
  • Bought items, sale money, refunds, outbid money and returned items all land in the Claim box, online or offline.
  • Take items one by one or all at once; what doesn't fit stays in the box. Collect money in one click.
  • Chat message on every fill, expiry or removal, and a reminder on login when the box is not empty.

Auctions

  • Hold an item and auction a lot: starting bid, optional buy-out, 1h, 6h, 24h or 48h.
  • Bids are held in escrow; an outbid player gets the money back at once. Raising your own bid only takes the difference.
  • Minimum bid increment (3% by default) and anti-snipe: a late bid extends the auction (2 minutes by default).
  • ENDING SOON, NEWEST and MY BIDS views, a detail page with bid history.

Player Shops

  • Every trader has a shop: open limit orders with BUY FROM / SELL TO buttons that prefill the trade.
  • Reputation: trades, volume, completion rate and open orders.
  • Open from the leaderboard, from an auction's seller name or with /market shop <name>.

Market Maker (NPC)

  • A server-owned trader keeps a buy and a sell order on the items you choose, so the market is never empty after a wipe.
  • Fair price from the median of the last 25 player trades, or a fixed base price. Spread, depth per side and refill timer per item.
  • Unlimited or capped stock. Its trades never count for charts, stats, stop triggers, alerts, the leaderboard or anti-RMT.
  • Every posting is logged with running money totals.

Fees, Treasury & VIP

  • The seller pays the fee: 2% by default, fixed when the order is placed.
  • Category fees replace the base fee for chosen categories (e.g. weapons 3%, custom items 5%).
  • VIP profiles: any number of permissions, each with a fee multiplier and extra open orders.
  • Auction fee (5% by default) taken from the winning bid.
  • Exact rounding: an order always pays floor(total x rate), however it is split into fills.
  • Every fee goes into a treasury, shown on the admin page and readable by other plugins.

Price Alerts & Watchlist

  • WATCH any item; the WATCHLIST category shows only watched items.
  • Alerts for "lowest sell drops to X" and/or "highest buy rises to Y", delivered in chat and as a toast.
  • Alerts of offline players wait and fire when they connect. Up to 10 per player by default.

Top Traders

  • Weekly leaderboard by volume or by profit, with the time left until the reset.
  • Real profit: sale money after fees minus the price the seller paid for those items on the market.
  • Configurable reset day and hour (UTC).

Bulk Sell

  • SELL ITEMS lists everything in the inventory; tick items or SELECT ALL to see what they bring after fees.
  • SELL SELECTED NOW sells each one under the slippage guard; LIST AT BEST ASK places a limit sell at the lowest ask.
  • Items that can't be sold (skinned, worn, loaded, not genuine) are listed with the reason.

Custom Items Support

  • Trade your own skinned items (tokens, keys, crafted gear) as separate markets with their own name, category and image.
  • Identified by shortname + skin + exact name (+ optional item text), so skin plugins can't be used to forge them.
  • Item text is restored on delivery, so data-carrying items from other plugins survive the trade.
  • Blacklist by shortname, by skin or every custom skin of an item (rifle.ak#*).

Anti-RMT & Combat Block

  • Daily volume cap per player and minimum playtime before trading.
  • Trades priced far above or below market are flagged: admins are told in chat, it is logged, posted to Discord and listed for review. Nothing is reversed automatically.
  • Optional block on trades between team members; team trades never count for prices or the leaderboard.
  • Combat block: no market actions while wounded, downed, dead or asleep, or for 30 seconds after fighting a player, scientist or animal, so dying players can't stash their loot. Browsing always works.
  • Rate limits on every action and click.

Security & Save Safety

  • "Save Only On World Save": the market saves together with the world, so after a crash inventories and market roll back to the same moment. No duplicated or lost items.
  • Plugin reloads keep the live market without saving ahead of the world.
  • Three rotating save slots; a broken file is never overwritten and trading pauses instead of starting empty.
  • Currency change protection: amounts are never reinterpreted; adopt a new currency with an exchange rate in one command.
  • Only genuine items trade: condition check (full condition by default), no attachments, contents or loaded ammo, skinned items only as configured custom items. Fuel in chainsaws and flamethrowers is kept.
  • Every order, trade, auction, admin action and wipe can be written to log files.

Wipes

  • Map wipes are detected, even if they happened while MarketX was unloaded.
  • ReturnEscrow (default) returns every open order and auction to the Claim boxes; ClearAll starts fresh; Keep changes nothing.
  • Separate resets for price history, alerts and watchlists, market maker, treasury and leaderboard.

Discord

  • Webhook posts for big trades (100,000 and up by default), ended auctions and flagged trades.
  • Queued (at most one post every 2 seconds) and never pings anyone.

- What you can change in the config -
(oxide/config/MarketX.json; run /market reload after editing)

General

  • Chat Command, Permission (empty = everyone).
  • Currency: Type (Item, Economics, ServerRewards), Item Shortname, Item Skin, Item Name (required for a skinned currency item), Label.
  • Fee Percent (paid by the seller), Min Price Per Unit, Max Price Per Unit.

Orders

  • Max Open Orders Per Player, Order Expiry Days, Default Order Validity (1H, 24H, 7D, GTC).
  • Min Condition Percent, Max Instant Price Slippage Percent, Confirm Orders Worth At Least.
  • Combat Block Seconds, Chart Price Band Percent, Closed Orders Kept Per Player, Max Price Alerts Per Player.

Fees

  • Category Fee Percent (category name: percent), Auction Fee Percent.
  • VIP Profiles: Permission, Fee Multiplier, Extra Open Orders.

Market Maker

  • Enabled, Display Name.
  • Per item: Item (shortname or shortname#skin), Spread Percent, Depth Units Per Side, Max Stock (-1 = unlimited), Refill Minutes, Reference Price (Median, Base), Base Price.

Anti-RMT

  • Daily Volume Cap Per Player, Min Playtime Minutes Before Trading, Flag Trades Above / Below Market By Percent, Block Trades Between Team Members.

Auctions

  • Enabled, Max Running Auctions Per Player, Min Bid Increment Percent, Anti-Snipe Seconds.

Leaderboard

  • Weekly Reset Day, Weekly Reset Hour (UTC).

Discord

  • Webhook URL, Post Trades Worth At Least, Post Ended Auctions, Post Flagged Trades.

Items

  • Categories (Name, Rust Categories), Blacklist (shortname or shortname#skin).
  • Custom Items: Name, Shortname, Skin, Category, Image URL, Item Name Must Match, Item Text.

Wipes, Logs & Saving

  • Wipe Handling (Keep, ReturnEscrow, ClearAll), Reset Price History / Alerts And Watchlists / Market Maker / Treasury / Leaderboard And Reputation On Wipe.
  • Log Trades To File, Save Only On World Save.

- Languages -
10 languages included, and each player sees MarketX in their own game language:
English, Romanian, German, Spanish, French, Italian, Japanese, Brazilian Portuguese, Russian, Simplified Chinese.

- Commands -
Chat (the command name is set in the config):
/market - open the market
/market shop <name or id> - open a player's shop

Admin (chat with marketx.admin, or server console / F1; every admin action is logged):
/market list [item] or marketx.list [item] - list open orders, all or for one item
/market cancel <id> [reason] or marketx.forcecancel <id> [reason] - cancel any order; the owner gets the rest back and is told why
/market clear <item> [reason] or marketx.clearbook <item> [reason] - cancel every order of one item
/market reload or marketx.reload - reload the config
/market currency or marketx.currency - show the saved and the configured currency
/market currency adopt <rate> or marketx.currency adopt <rate> - switch the market to the configured currency at an exchange rate

- Permissions -
marketx.use - open the market and trade (name set in the config; empty = everyone)
marketx.admin - admin commands, the ADMIN page and flagged trade notices; also allows trading
marketx.vip - default VIP profile: half fee and 10 extra open orders (add any number of profiles in the config)

- API for Developers -
Call with MarketX.Call<T>("Name", args). Keys are the item shortname, or shortname#skin for custom items.

long GetBestBid(string key) - highest buy price per unit, 0 if none
long GetBestAsk(string key) - lowest sell price per unit, 0 if none
long GetLastPrice(string key) - last valid trade price per unit, 0 if none
long GetTreasury() - total fees collected
string PlaceOrder(BasePlayer player, string key, bool buy, long qty, long price) - place a limit order for an online player with every normal check (permission, combat block, funds, limits, anti-RMT, hook); returns null on success, otherwise the reason

- Hooks -
object CanMarketXOrder(BasePlayer player, string key, bool buy, long qty, long price) - before any order, edit, auction or bid; return a string (shown to the player) or any non-null value to refuse it
void OnMarketXTrade(string key, ulong seller, ulong buyer, long qty, long price, long fee) - after every fill; the market maker's id is 0
void OnMarketXAuctionEnd(string key, long qty, ulong seller, ulong winner, long price) - when an auction ends; winner and price are 0 when there were no bids

Default configuration
MarketX.json
json
1{
2 "Chat Command": "market",
3 "Permission (empty = everyone)": "marketx.use",
4 "Currency": {
5 "Type (Item, Economics, ServerRewards)": "Item",
6 "Item Shortname": "scrap",
7 "Item Skin": 0,
8 "Item Name (optional, for a skinned currency item)": "",
9 "Label (empty = automatic)": ""
10 },
11 "Fee Percent (paid by the seller)": 2.0,
12 "Min Price Per Unit": 1,
13 "Max Price Per Unit": 1000000,
14 "Max Open Orders Per Player": 20,
15 "Order Expiry Days (0 = never)": 0.0,
16 "Default Order Validity (1H, 24H, 7D, GTC)": "7D",
17 "Min Condition Percent": 100.0,
18 "Max Instant Price Slippage Percent": 5.0,
19 "Confirm Orders Worth At Least (0 = never)": 10000,
20 "Combat Block Seconds (0 = off)": 30,
21 "Chart Price Band Percent (0 = off)": 100.0,
22 "Closed Orders Kept Per Player": 20,
23 "Max Price Alerts Per Player": 10,
24 "Wipe Handling (Keep, ReturnEscrow, ClearAll)": "ReturnEscrow",
25 "Reset Price History On Wipe": true,
26 "Reset Alerts And Watchlists On Wipe": false,
27 "Reset Market Maker On Wipe": true,
28 "Reset Treasury On Wipe": false,
29 "Reset Leaderboard And Reputation On Wipe": true,
30 "Log Trades To File": true,
31 "Save Only On World Save": true,
32 "Fees": {
33 "Category Fee Percent (category name: percent)": {},
34 "VIP Profiles": [
35 {
36 "Permission": "marketx.vip",
37 "Fee Multiplier (0.5 = half the fee)": 0.5,
38 "Extra Open Orders": 10
39 }
40 ],
41 "Auction Fee Percent (paid by the seller)": 5.0
42 },
43 "Market Maker": {
44 "Enabled": true,
45 "Display Name": "Market Maker",
46 "Items": []
47 },
48 "Anti-RMT": {
49 "Daily Volume Cap Per Player (0 = off)": 0,
50 "Min Playtime Minutes Before Trading (0 = off)": 0.0,
51 "Flag Trades Above Market By Percent (0 = off)": 300.0,
52 "Flag Trades Below Market By Percent (0 = off)": 90.0,
53 "Block Trades Between Team Members": false
54 },
55 "Auctions": {
56 "Enabled": true,
57 "Max Running Auctions Per Player": 5,
58 "Min Bid Increment Percent": 3.0,
59 "Anti-Snipe Seconds": 120
60 },
61 "Leaderboard": {
62 "Weekly Reset Day": "Monday",
63 "Weekly Reset Hour (UTC)": 0
64 },
65 "Discord": {
66 "Webhook URL (empty = off)": "",
67 "Post Trades Worth At Least (0 = off)": 100000,
68 "Post Ended Auctions": true,
69 "Post Flagged Trades": true
70 },
71 "Categories": [
72 {
73 "Name": "WEAPONS",
74 "Rust Categories": [
75 "Weapon"
76 ]
77 },
78 {
79 "Name": "AMMO",
80 "Rust Categories": [
81 "Ammunition"
82 ]
83 },
84 {
85 "Name": "ARMOR",
86 "Rust Categories": [
87 "Attire"
88 ]
89 },
90 {
91 "Name": "RESOURCES",
92 "Rust Categories": [
93 "Resources"
94 ]
95 },
96 {
97 "Name": "COMPONENTS",
98 "Rust Categories": [
99 "Component"
100 ]
101 },
102 {
103 "Name": "CUSTOM",
104 "Rust Categories": []
105 }
106 ],
107 "Blacklist (shortname, or shortname#skin)": [
108 "blueprintbase",
109 "note",
110 "photo",
111 "door.key",
112 "cassette",
113 "cassette.medium",
114 "cassette.short",
115 "water",
116 "water.salt"
117 ],
118 "Custom Items": []
119}
Sponsored
Pine Hosting
Pine Hosting

Trusted hosting partner. Affordable game servers with solid support and panels.

Visit site ↗
$19.99
Views5
Downloads0
Purchases0
Rating★ 0.0
Version1.0.0
PlatformRust
CategoryPlugins
CompatibleOxide · Carbon
Size161 KB
PublishedNov 11, 2026
UpdatedNov 11, 2026
✓ Reviewed for safety and integrity