Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Marketplace
Server-wide marketplace: sell items for coins, post buy orders and paid jobs with escrow, keep coins in a server-side bank. Valheim-styled UI, English and Polish.
| Last updated | a day ago |
| Total downloads | 105 |
| Total rating | 1 |
| Categories | Mods Misc Utility Deep North Update |
| Dependency string | Northarun-Marketplace-1.5.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.29.0README
Marketplace — server-wide trading board for Valheim
Join the Northarun Discord — news, help and feedback. The link is also in the top-left corner of the marketplace window.
A trading board for every player on the server. Anyone can list any item from their inventory at their own price, and others can buy it — even while the seller is offline. Players can also post what they need (buy orders) and jobs for other players, paid in coins. The currency is regular Valheim coins, and every player gets a server-side bank for storing them safely.
How to use
Press F7 (configurable) to open the marketplace. Esc or F7 closes it.
| Tab | What it does |
|---|---|
| MARKETPLACE | All listings on the server, with search (item or seller name), a category filter and sorting. Pick a listing, set the amount (- / + / Max) and click Buy. |
| SELL | Items from your inventory. Pick one, set the amount and price per piece, click List for sale. The item leaves your inventory and waits for a buyer. |
| BUY ORDERS | What players want to buy. Deliver items to an order and get paid instantly, or post your own (see below). |
| JOBS | Paid jobs posted by players — build a bridge, gather materials, escort someone. Take a job, do it, get paid (see below). |
| MY LISTINGS | Your active listings. Cancel any of them to get the item back. |
| MAILBOX | Items from cancelled or expired listings and deliveries to your buy orders. Collect all moves them to your inventory. |
| BANK | Your coin balance and transaction history. Deposit / Withdraw a chosen amount, or everything at once. |
- Sale income goes straight to your bank balance. If you are online, you get a notification.
- Purchases are paid from your balance first; if it is too low, the rest is taken from coins in your inventory.
- Bought items go straight to your inventory. If it is full, the rest is dropped next to you.
- You can buy part of a stack (e.g. 20 out of 100 wood).
- Quality, variant, durability, crafter and other mods' item data (
m_customData) are preserved. - Equipped items and coins cannot be listed.
Prices, hints and categories
-
Market price. The server records every trade between players: market purchases and deliveries to buy orders. When you buy, list an item or post a buy order, the details panel shows the volume-weighted average price, the price range and the number of trades, from the last 20 trades of that item. The SELL list and the buy order item picker show the market average next to each item. Item quality is not taken into account.
-
Market hints. A small ! badge appears next to the price field when there is a match on the other side:
- listing an item that someone has a buy order for → "Ana is buying 50× at 45 coins each",
- posting a buy order for an item that is already on the market → "Bob sells 20× at 35 coins each".
Hover the badge for details, click it to jump straight to that order or listing. The badge is orange when the other side is at least as good as the price you typed, and grey otherwise. It never pops up on its own.
-
Categories. Weapons, Armor, Tools, Materials, Food, Potions, Other — taken from the game's own item types, so modded items are sorted correctly too. Available in MARKETPLACE and in the buy order item picker (where a category alone is enough to browse).
Buy orders
The marketplace the other way round: players post what they need, and the coins are locked on the server the moment the order is posted, so the other side knows the money is there.
"Buying 50× Black Metal at 40 coins each."
- + Post a buy order → search for the item, set the amount and price per piece → Post buy order. The full amount (here 2000 coins) is taken from your bank balance (the shortfall from your inventory) and locked in the order.
- Anyone who has the item opens the order, sets how many pieces to deliver and clicks Sell. They get paid immediately, and the items go to the buyer's MAILBOX. Partial deliveries are fine.
- The buyer can cancel at any time — the coins still locked in the order go back to their balance.
Expired orders (
ExpireHours) are refunded the same way.
Any quality of the item is accepted.
Jobs
"Build a bridge over the river near spawn — 500 coins."
- + Post a job → title, description, reward → Post job. The reward is locked on the server.
- A contractor clicks Take this job. From now on nobody else can take it.
- When the work is done, the contractor clicks Report as done.
- The poster checks the work and clicks Confirm & pay (the reward goes to the contractor's balance) or Reject (the contractor continues and reports again).
| Who | Can |
|---|---|
| Poster | Cancel while nobody has taken the job. Confirm (pay) at any point after it has been taken. Reject a report. Cancel a taken job if the contractor has not reported it as done within BountyClaimTimeoutHours. |
| Contractor | Report as done. Abandon the job (it becomes open again). |
| Server admin | Pay out or cancel any taken job and cancel any buy order — for resolving disputes. |
Open jobs nobody takes expire after ExpireHours and are refunded. The tab label shows
how many reports wait for your confirmation, e.g. JOBS (1).
Installation
The mod must be installed on the server and on every client. Jotunn rejects players without it.
Requirements: BepInExPack_Valheim, Jotunn 2.29.0 or newer.
- Copy the
Northarun-Marketplacefolder toBepInEx/plugins/. In r2modman: profile → Browse profile folder →BepInEx/plugins. - On a dedicated server, copy the same folder to the server's
BepInEx/plugins/. - Start the server once — the config file
BepInEx/config/adrian.valheim.marketplace.cfgis created.
Configuration
| Section | Setting | Default | Description |
|---|---|---|---|
| 1 - Client | Hotkey |
F7 |
Key that opens the window. |
| 1 - Client | Language |
English |
English or Polish. Can be changed in game (e.g. with Configuration Manager). |
| 2 - Server | FeePercent |
0 |
Percentage deducted from every payout (sales, deliveries to buy orders, job rewards), 0–50. The fee removes coins from the economy. |
| 2 - Server | MaxListingsPerPlayer |
25 |
Simultaneous listings per player. |
| 2 - Server | ExpireHours |
168 |
Real-time hours until a listing, buy order or untaken job is returned or refunded. 0 = never. |
| 2 - Server | MaxPricePerUnit |
100000 |
Highest allowed price per piece. |
| 2 - Server | BlockedItems |
(empty) | Comma-separated prefab names that cannot be listed or requested in buy orders, e.g. DragonEgg,Wishbone. |
| 3 - Order Board | MaxBuyOrdersPerPlayer |
10 |
Simultaneous buy orders per player. |
| 3 - Order Board | MaxBountiesPerPlayer |
10 |
Simultaneous jobs per player. |
| 3 - Order Board | BountyClaimTimeoutHours |
72 |
If a contractor does not report a taken job as done within this time, the poster may cancel it and get the reward back. 0 = only admins can cancel taken jobs. |
Server settings are taken from the server's config file; clients receive them together with the listings.
The config keys for jobs keep their original names (…Bounties…, Bounty…) so existing config files keep working.
Integrations with the Northarun mod pack
- Guilds: the guild founding fee can be paid from the bank, and members move coins between their bank balance and
the guild treasury. The bank history shows guild payments and payouts. Other mods can use the public bank API
Marketplace.MarketplaceApi(server side:GetBalance,TryDebit,Credit).
Data and security
- The server keeps listings, buy orders, jobs, price history, mailboxes and bank balances in
BepInEx/config/Marketplace/<world name>.dat. It saves after every change and keeps the previous version as.dat.bak. Each world has its own marketplace. - Every operation is appended to
BepInEx/config/Marketplace/<world name>.log: listing, purchase, cancellation, expiry, deposit, withdrawal, buy orders and their deliveries, every job step (take, report, confirm, reject, cancel), with the balance after the operation. Use it to settle job disputes. - Coins locked in buy orders and jobs never leave the server: they are either in an order or on someone's balance.
- Only the server changes balances. A withdrawal is checked against the server balance before any coins are sent.
- Players are identified by the character ID from their in-world object, not by what the client claims.
- Every rejected operation returns the item or coins.
- As everywhere in Valheim, the inventory belongs to the client. A modified client could fake a deposit or a listed item, so an anti-cheat (e.g. AzuAntiCheat) is recommended.
Building from source
Windows with .NET Framework 4 is enough (the csc.exe compiler ships with the system):
powershell -ExecutionPolicy Bypass -File build.ps1
Languages
The window is in English by default. Polish is also included: set Language = Polish
in BepInEx/config/adrian.valheim.marketplace.cfg. Each player picks their own language;
server messages are translated on the client side.