🔨 NB Auction House | RedM + VORP
A full player-driven marketplace for your RedM server. Players visit an auctioneer NPC to run timed auctions, post fixed-price listings and place buy orders. Cash and items sit in escrow the whole time, so nothing is lost if someone logs off mid-deal.

✨ Features
Three ways to trade
Auctions: set a starting bid and an optional buy now price. The highest bid wins when the timer ends.
Sell orders: list an item at a fixed price and the first buyer takes it.
Buy orders: post the item you want and the price you’ll pay. Anyone holding it can sell straight into your order and gets paid immediately. Partial fills are supported.
Built for real servers
Escrow on everything: items and cash are held safely until the deal completes.
Collect tab: anything that can’t be delivered on the spot (player offline, inventory full) waits at the auction house, and unclaimed items and cash are never deleted.
Direct delivery: online players with room to carry get items and money straight away.
Auto-refunds: the previous high bidder is refunded the instant they’re outbid.
Anti-sniping: a bid in the last 2 minutes extends the auction by 2 minutes.
Item properties travel with the item: graded and durability items keep their metadata when auctioned or sold at a fixed price.
Multiple auctioneers: two example NPCs are included (Valentine, Saint Denis). Stand anywhere, run
/ahhere, and paste the printed line into your config.Optional Discord sales log via webhook.
Clean, modern UI
Browse, search and sort (ending soon, newest, price low/high), and filter by auctions or fixed price.
My Activity tab shows what you’re selling, winning, and where you’ve been outbid.
Item images load from
vorp_inventoryautomatically, with a configurable icon path.Built with safe DOM rendering, so seller names and item labels can’t inject markup.
💰 Server Economy Controls
Every number is yours to tune in config.lua:
Setting
Default
Listing fee
2% (min $0.25), paid upfront
Sale cut
5% of the sale price
Buy order fee
1% of order value, paid upfront
Min. bid increment
5% or $0.10, whichever is higher
Durations
1 / 6 / 12 / 24 / 48 hours
Limits
15 listings and 10 buy orders per character
Max price / quantity
$50,000 / 500
History cleanup
14 days
Plus a blocked items list, an allowed items whitelist, a buyout toggle, and a toggle for whether sellers can cancel an auction that already has bids.
🛡️ Security
Server-side validation on every action.
Optional server-side proximity check (the player must be next to an auctioneer).
Requests are locked while being processed, so double-clicks and spam can’t duplicate items or money.
📦 Requirements
vorp_corevorp_inventoryoxmysql
OneSync is needed for the proximity check. You can disable it with Config.RequireNearNpc = false.
🔧 Installation
Drop
nb_auction_houseintoresources/.Add
ensure nb_auction_houseafter the requirements inserver.cfg.Start the server. The database tables are created automatically (
sql/install.sqlis included if you prefer to run it yourself).Move the example auctioneers to your preferred spots with
/ahhere.
📝 Good to Know
Cash only (VORP currency 0).
Weapons are not VORP items and are not supported.
Buy orders request plain items only, so items with properties can’t fill them.
English locale included, and all messages are editable.
🔓 Open Files (Escrow)
config.lua, locales, server/bridge.lua and sql/ are left open so you can edit them. All VORP calls (character, cash, inventory) live in bridge.lua, so porting to another framework means editing that one file.
Version 1.0.1 · Lua 5.4 · RedM