Guide · Updated 25 Oct 2026
RedM auction house script: how players buy and sell to each other
A RedM auction house script lets players sell items to each other while they are offline: the seller leaves an item with an auctioneer, other players bid on it or buy it out, and the money and the item are delivered to a mailbox when the listing ends. To add one well you need three things on top of the script: auction houses in towns players already visit, a listing deposit and a sales tax so the market takes money out of the economy instead of adding junk to it, and a rule for where money sits while a bid is open. This guide walks through a listing from start to finish, then buy orders, the fees, and the settings that protect your economy.
Why a RedM server needs an auction house
Trading in person needs both players online at once. An auction house does not: a hunter who plays in the morning sells pelts to a tailor who plays at night, at a price players actually pay.
- It finds prices. Shops set prices; an auction finds out what things are worth.
- It works across time zones. Listings run for hours, so nobody has to be online for the sale.
- It gives gatherers a buyer. Raw goods have somewhere to go besides an NPC counter.
For the economy around it, the money sources and sinks and the starting numbers, read RedM server economy first. This guide is only the auction house.
How a RedM auction works, step by step
This is how Auction House ($49.99) handles one listing. Most auction scripts differ mainly at steps 3 and 5.
- The seller walks up to the auctioneer and presses G. Four auction houses ship: Valentine, Blackwater, Saint Denis and Armadillo, each with an auctioneer and a map blip. Listings are shared across all of them.
- They pick an item from the satchel, a quantity, a starting price per piece and, if they want, a buyout price per piece. The buyout must be higher than the starting price. Blacklisted items cannot be listed at all;
id_cardandweapon_licenseare on the list by default. - They choose how long it runs and pay a deposit. The item leaves their satchel at once and the deposit is taken. The deposit is never returned.
- Other players browse, bid or buy it out. A bidder's money is taken when they bid. A seller cannot bid on or buy their own listing.
- The listing ends. With a buyout, it ends the moment someone pays. Otherwise the leading bid wins when time runs out, or the item goes back to the seller if nobody bid.
- Everyone collects from the mailbox. The winner's item, the seller's money less the sales tax, and any refunds all land there, one entry at a time or all at once.
Durations and deposits
| Listing length | Deposit (not refunded) |
|---|---|
| Short, 2 hours | 5% of the starting price |
| Medium, 8 hours | 10% |
| Long, 24 hours | 15% |
| Very long, 48 hours | 20% |
Lengths and percentages are in Config.Auction.Durations.
Bids, buyouts and what happens to the money
Players trust an auction house when they know where their money is while they bid. A script can collect from the winner at the end, which fails when the winner has spent it, or take the money when the bid is placed and hand it back if someone beats it.
Auction House ($49.99) does the second:
- Only the leading bid holds money. The moment a bid is beaten, the full amount goes back to that player's mailbox, online or not.
- Each bid must beat the last by a step. The step is 0.50 or 5 percent of the current bid, whichever is higher, so a bid of 20 must be beaten by at least 21. That stops one-cent bidding wars.
- A buyout refunds the leader. If someone buys the item out while another player is winning, the leader's bid goes back to their mailbox.
- Sellers cannot pull a listing once someone has bid, unless you turn on
AllowCancelWithBids. Without bids, a seller can cancel and the item comes back; the deposit does not.
A worked example
A hunter lists 10 pelts at 2 a piece to start, with a buyout of 4 a piece, for 24 hours. The starting price is 20 in total, so the deposit is 15 percent of that: 3. A tailor buys them out for 40. The 5 percent sales tax takes 2, and 38 lands in the hunter's mailbox. After the deposit the hunter is 35 better off, and 5 has left the economy.
Buy orders: want requests
An auction only works when someone is selling. A buy order works the other way round, and it is the part most auction scripts leave out. In Auction House ($49.99) it is the Want Requests tab:
- A player posts the item, how many they want and the price per unit. The full amount is held from that moment.
- Other players fill it in full or in part. Each one is paid in cash as they deliver, less an 8 percent tax, and the goods go to the requester's mailbox.
- Requests run 4, 12, 24 or 72 hours, or stay open until filled or cancelled.
- When a request ends, the money not spent goes back to the requester.
For an owner, unfilled want requests are a list of what players want and nobody is supplying. Running a RedM player economy covers what to do with that list each week.
Keeping the auction house from wrecking your economy
An auction house moves money between players; it does not create any. The risks are one player flooding the board, money piling up, and prices with no ceiling. These settings in config.lua, also editable in game under /poggy → Auction House, handle them.
| Setting | Default | What it guards against |
|---|---|---|
SalesTaxPercent | 5 | Money piling up. A cut of every sale leaves the economy. |
DepositEnabled | On | Junk listings left up at silly prices. |
MaxActiveListings | 20 per player | One player flooding the board. |
MaxStartPrice, MaxBuyoutPrice | 100,000 and 500,000 | Absurd prices used to move money between characters. |
MaxMailboxItems | 50 | Uncollected entries piling up; a player over the limit cannot list until they collect. |
Config.BlacklistedItems | ID card, weapon licence | Items that should never be bought, such as documents and licences. |
Lower the price limits to fit your economy: a 100,000 starting price is mostly useful for moving money between alts.
A price ceiling: the supply catalogue
The Order Catalogue tab sells 74 raw goods from six suppliers: lumberjacking, mining, farming, hunting, fishing and crafted. Prices move up to 5 percent each time it opens, a 12 percent shipping fee is added, and each order goes through Processing, In Transit and Out for Delivery, between 5 and 15 minutes per stage by default (5 to 10 for the last). It can be cancelled with a full refund while still processing.
Because anyone can order at a known price, nobody pays a player far more than catalogue price plus shipping. Price the catalogue above what players can gather for and gathering stays worth doing. A catalogue item only shows when its item exists in your items table; adding items to a RedM server covers that.
Pairing it with player shops
With Poggy Markets ($99) running, the order form gets a Deliver to Shop ID box. Shop owners, and staff whose role lets them deposit items, can send an order straight into the shop's storage; if the shop is full, it goes to the mailbox instead.
Staff tools and logs
- Live tables in
/poggy. Cancel a listing and return the item, extend it by 1 to 720 hours, see its bids and remove one. Refund or deliver a catalogue order. Cancel a want request and refund what is left. Changes apply at once and are saved in the hub's History. - Discord logging for listings, sales, bids, expiries and cancellations, each switchable. It is off until you paste a webhook in
Config.Discord;/auctiondiscordsends a test. /auctionrefreshsettles every listing whose time is up, now. Otherwise they are settled every 60 seconds./auctionpurgecancels every active listing and does not return the items. To cancel one listing and give the item back, use the live table instead.
Admin commands work for the admin, superadmin and god groups, and from the console.
Free alternatives
An auction does not have to be a script. A live auction run by staff in a saloon, with donated items and an auctioneer, is one of the best events a roleplay server can hold; RedM server event ideas has the details. A Discord trading channel works for small communities, though nothing holds the money or the item. For a free script, search the Cfx.re forum and GitHub for "RedM auction house", check it supports your framework, and check the one thing that matters most: whether the money is taken when a bid is placed, or only promised.
Installing it
Auction House ($49.99) needs Poggy Core (Free) 0.27.0 or newer and oxmysql, and runs on VORP Core, RSG Core and QBCore RedM. Add ensure poggy_auction below oxmysql and poggy_core in server.cfg, and below poggy_markets if you use it. The database tables are created on the first start, so there is nothing to import. config.lua, translations.lua and the whole interface are open to edit. New to installing resources? Start with how to install a RedM script.


































