Register

Traffick: Trade & Barter Overhaul

An Add-on Module by Bakshi’s Bazaar

Publisher: Bakshi’s Bazaar Purchase: Publisher Foundry Versions 14.367+ (Verified 14.367) Last Updated 2 days, 15 hours ago

Traffick: Trade & Barter Overhaul

A premium Bakshi’s Bazaar module for Foundry VTT.

Trade items with the party, publish merchant stock, and configure appraisal and identification checks.

Traffick version 14.0.4 Foundry VTT 14.367 Requires dnd5e 5.3.3 or later

Features · Preview · Installation · Compatibility · Roadmap · Community · AI Use · License


Feature Index

Feature Why it matters
Trade with the Party Invite several characters to one merchant session and review their offers together.
Merchant Catalog Choose which wares players can browse and give them optional public names and images.
Quantities & Containers Trade part of a stack or a loaded container while keeping the remaining items with their owner.
Real & Perceived Prices Choose whether players see an item's real price or a perceived value set by the GM.
Appraisal & Identification Let characters judge value or identify an item through GM-configured checks.
Inventory Drag Tools Optionally use quantity prompts and move behavior outside the trade panel.

Players edit their own offers and approve proposed trades. The GM manages merchant offers and completes each exchange. Traffick moves items between inventories.


Preview

Trading items between a GM-controlled merchant and the party

Trading items between a GM-controlled merchant and the party.


Features

Trade with the Party

Bring the whole party into one merchant session.

Open trade setup from an actor's right-click menu, its sheet's handshake control, or Shift+T. Choose actors or scene tokens as sources and participants. Players accept or decline their invitations; GM-controlled participants join immediately.

Each accepted participant has their own offer column. Offers update across connected clients, and the GM can manage several sessions at once. After an exchange, the same session stays open for another round.


Merchant Catalog

Let players browse the wares you choose to put on display.

Use the eye controls to publish individual merchant items or a selected group. Players browse published wares with stock remaining in the session. The GM chooses which items to offer to each participant.

With Enable Merchant Catalog Aliases turned on, give a ware a public name or image without renaming the original item. The alias is for the catalog; transferred items keep their underlying item data.

Merchant inventory with published catalog wares and hidden stock

Merchant inventory with published catalog wares and hidden stock.


Quantities & Containers

Trade a few supplies or a packed container without sorting everything by hand.

Choose a quantity when offering a stack, then use + / − to adjust it. Drag a container to offer its contents together, expand its rows, and remove or reduce individual contents before proposing the trade.

Completed trades move the agreed quantities. Matching loot and consumable items can merge into existing stacks; items with meaningful differences stay separate. Items excluded from a departing container remain with the source actor.


Real & Perceived Prices

Keep the true value in view while controlling what players know.

Enable Prices / Enable alternate player prices to add a perceived value beside the normal dnd5e price. The GM chooses which price players see on supported item sheets, inventory rows, tooltips, and trade views. Unidentified items keep their prices hidden in those views.

GM price previews show the true value alongside the relevant character's estimate, with an option to keep details on hover. Manual overrides are labelled Player price. Optional Custom Currency 5e integration supplies custom denominations and conversion rates.

GM item sheet showing the true value and appraisal requirement

GM item sheet showing the true value and appraisal requirement.


Appraisal & Identification

Let characters discover what an item is and what it might be worth.

Configure skill, ability, or tool checks in Configure Traffick / Appraisal or Identification. Players use Appraise Item on eligible inventory, catalog, or merchant-offer rows. Their estimate can be accurate or misleading, depending on the roll and your rules, and they can share a numeric appraisal.

Identification checks are configured separately. When enabled, players make identification checks in their own roll dialog; a success identifies the shared item for everyone. Both features are off by default.

Appraising an item and viewing the result

Appraising an item and viewing the result.


Inventory Drag Tools

Choose quantities and move items directly between supported inventories.

Set Quantity Picker Scope to All Item Drags to prompt for ordinary stack transfers between supported actor and container sheets. Enable Always Move Items on Drag to make supported inventory drops move items by default. Exact-match loot and consumable stacks can merge during these transfers too.

Drags from an open container item sheet still default to copying. Use the system's move modifier when you want to remove an item from that panel.

Choosing an item quantity during an inventory transfer

Choosing an item quantity during an inventory transfer.

Starting and managing a trade
  1. As a GM, choose Open Trade from an actor's right-click menu, use its sheet's handshake control, or press Shift+T.
  2. Add merchants to Sources and trading characters to Participants. Drag actors or current-scene tokens into either column, or use the searchable actor/token browser.
  3. Controlled tokens appear in Selected Tokens. Add or drag them into a column deliberately; selecting tokens alone does not assign them a role.
  4. Choose Open Trade. Each source opens its own session. Player-controlled participants receive invitations; GM-controlled participants join immediately.

World actors, linked tokens, and unlinked tokens are supported. Traffick skips pairings that would trade with themselves or use the same shared inventory on both sides.

While a session is open, the GM can drop an actor or current-scene token onto the participant pane to add it. Dropping one onto the merchant pane replaces the source only while the offer table is empty. Actor headers and container rows can be collapsed to make room.

Offers, approvals, and completing an exchange
  • Drag items into the matching offer column. Players edit their own participant offers; the GM controls merchant offers and can adjust participant offers too.
  • With the quantity picker enabled, stacks prompt for an amount. Use + / − to adjust an offer and X to remove it. Inventory panes show stock remaining after offers in that session.
  • Catalog wares are available to browse, not automatically offered. Merchant offers are read-only on player clients.
  • Choose Propose Trade once an accepted participant has an offer. Every accepted player-controlled participant must approve; GM-controlled participants count as ready immediately.
  • The GM chooses Execute Trade after approvals are complete. Either side can cancel before execution begins.
  • Offer edits and relevant item or presentation changes reopen negotiation and clear approvals. Execution checks live actors, items, and quantities before applying the exchange.
  • A completed exchange clears the offers and returns the session to negotiation. It does not close the window.

Trading supports weapons, equipment, consumables, tools, loot, and containers. A container offer includes nested contents; excluded items stay with the source and are detached from the departing container. Auto-stacking is limited to matching loot and consumables, including their item properties, so a shared name alone is not enough.

If an exchange fails, Traffick attempts to restore earlier changes and clears the approved offers. Some items may need manual correction if Foundry cannot save the recovery changes. Follow the error notice and review both inventories before building a new offer.

Catalog aliases and perceived prices

Merchant items are private by default. Use an item's eye control or select rows and use the header eye controls to publish or hide stock. With catalog aliases enabled, the mask control edits its public name and image. Aliases do not change the original item's name, native unidentified name, stack matching, or transferred data.

With value obfuscation enabled, dnd5e's Price remains the real value. The GM edits Player price on the item sheet and uses the header tag toggle to choose what players see. Right-clicking a price cell on a supported actor or container inventory toggles it too. The trade panel's tag control edits the manual player price during a session.

GM price previews use a borderless two-line display: the true value above the character's estimate. Choose Always visible or On hover in Configure Traffick / Prices. Each GM client can follow the world preference or choose its own.

View Character information shown to the GM
Character inventory The owning character's estimate.
Merchant offer The estimate belonging to the character in that participant lane.
Merchant stock or standalone item Known character estimates listed in the tooltip.

Hover shows labelled values, the character's name, and any sharing source. Unappraised characters show Not appraised, and manual overrides are labelled Player price. Unidentified items keep both prices hidden from players in Traffick's supported views.

Custom Currency 5e is optional. Traffick uses its active currency definitions when available and otherwise falls back to dnd5e's definitions. This integration covers denominations, labels, and appraisal conversion; it does not add automatic payments or regional-market pricing to trades.

Appraisal and identification — check rules

Open Configure Settings / Traffick / Configure Traffick. The Appraisal and Identification tabs contain everyday check options. Advanced contains estimate ranges, currency and ability overrides, and a repeatable 100 gp example.

Players roll through the normal dnd5e dialog, with advantage, disadvantage, and bonuses; the GM resolves the result automatically. The DC is omitted from the player's roll. Both features are off until enabled; see Settings and defaults below for the starting rules.

Choose the appraisal behavior that fits your game:

Appraisal results Successful check Failed check
Exact value on success Reveals the full value. Gives no new estimate.
Estimates that may be wrong → On any success (default) Reveals the full value. Gives a misleading estimate.
Estimates that may be wrong → On exceptional success Gives a range; exceptional success reveals the full value. Gives a misleading estimate.

With On exceptional success, the default threshold is DC + 10. Advanced lets you change that margin and the ordinary-success range width. The width defaults to 25%, includes rounding, and is remembered when switching modes. A 500 gp item's successful range is therefore at most 125 gp wide under that setting. Changing the reveal policy or range width affects future appraisals and preserves existing estimates and attempt limits.

Player cards give the character's estimate. Outcome labels and the true-value comparison appear only on the GM's result card. Appraisal does not rewrite the item's real price or manual player price.

Identification success reveals the shared item for everyone. Failure leaves it unidentified. Cancelled or expired roll requests consume no attempt; requests expire after five minutes. If the resolving GM disconnects, start a fresh request after reconnecting.

Character knowledge, sharing, and GM cards

Knowledge and attempts belong to characters. A new numeric appraisal replaces that character's earlier estimate, even if less accurate; a nonnumeric result preserves an existing estimate. Different characters controlled by one user keep separate knowledge. Linked tokens share their actor's knowledge, while unlinked tokens have their own. Choose Appraise as in a merchant catalog when controlling several participants; merchant offers use their participant lane.

Share Appraisal with Party sends the estimate to accepted characters in the current trade, or players' assigned characters outside a trade, including offline recipients. Each recipient keeps their own personal estimate when present. Sharing records the original appraiser and does not consume the recipient's attempt. All owners of a character see that character's knowledge.

GM cards show the true value, character and player, estimate, roll, DC, accuracy, sharing recipients, and a snapshot of known character estimates. Allow another attempt clears that character's attempt limit for the relevant check while keeping their estimate. Reset Appraisals clears knowledge for an item. Both appraisal and identification have independent retry settings.

Settings and defaults

Open Configure Settings → Traffick → Configure Traffick. World settings apply to everyone. Client settings apply only to your browser or app.

Use the Trading, Prices, Appraisal, Identification, and Advanced tabs in Configure Traffick. Disabled features collapse their options without discarding configured values. Save commits the draft; Cancel discards it; Reset changes only the draft until saved.

These are the defaults for new or reset configurations; saved preferences may differ.

Setting Default
Quantity picker On, for trades only
Always move items on drag Off
Alternate player prices / merchant catalog aliases Both off
GM price preview Always visible; each GM client follows the world preference
Appraisal / identification Both off
Appraisal check Intelligence (Investigation), DC 15
Identification check Intelligence (Arcana), DC 15
Appraisal results Estimates that may be wrong
Reveal exact value On any success
Roll visibility / retries, for both checks Player and GM / Unlimited
Automatic appraisal sharing This character
Debug logging / developer diagnostics Both off

Trading controls item moves and quantity prompts. Prices controls alternate player prices, GM price hints, and merchant listing aliases. Advanced includes detailed appraisal tuning and developer diagnostics.

Personal controls are marked This device only, and reload-dependent controls are marked Reload required. Changing multiple reload-dependent options produces one reload prompt. Players can edit only their applicable client preferences.

Upgrading — saved settings and appraisal records

An existing exceptional-only exact-reveal setting is preserved. Configurations that previously gave ranges on every successful check adopt On any success; the former no-exact option is no longer supported. Existing range and failure tuning is retained where applicable.

When upgrading from account-based appraisal records, the previous knowledge store is archived once in the GM-owned appraisal journal, and character knowledge starts empty. Old browser caches are discarded. The archive is retained for reference, without guessing which character made an old appraisal.

Troubleshooting

Confirm Traffick is enabled in a supported dnd5e world and reload connected clients. A GM must be connected to start and complete trades and resolve appraisal or identification requests. Trade sessions live on the initiating GM's client and do not survive its reload.

If a player's catalog is empty, confirm the participant accepted the invitation, the GM published the wares, and stock remains in that session. If a price is hidden, check identification, obfuscation, and assessment rules. If a quantity prompt is missing outside the panel, check its scope and reload after changing it.

Enable Debug Logging and inspect the browser console for messages prefixed with traffick |. Leave Enable MCP Diagnostics off unless support asks you to enable it. Some diagnostics create and remove temporary test actors and tokens; run those only in a separate test world you can discard.

For sheet, inventory, or price conflicts, reproduce the issue in a test world with Traffick alone, then add Custom Currency 5e if the issue involves custom denominations. Send the details listed under Community to the Bakshi’s Bazaar Discord.


Installation

  1. Join Bazaar Patron.
  2. Link your Patreon account to your Foundry VTT account from your Foundry profile.
  3. In Foundry's Setup screen, open Add-on Modules → Install Module, filter by Premium Content, and install Traffick: Trade & Barter Overhaul.
  4. Open your dnd5e world, enable Traffick in Manage Modules, and reload connected clients.

If access is missing, refresh the Patreon link and check your Foundry account's subscribed content. See Foundry's premium activation and installation guide.

Requirement Version
Foundry VTT 14.367 minimum; manifest verified version 14.367
dnd5e 5.3.3 minimum; manifest verified version 5.3.3
Additional modules None required
Custom Currency 5e Optional; manifest minimum and verified version 14.1.3

Compatibility

Traffick is built for Foundry VTT 14.367 and dnd5e 5.3.3, the minimum and verified versions declared in its manifest. Custom Currency 5e is optional; Traffick works with native dnd5e denominations without it.

GMs start sessions, configure merchant stock and prices, and execute trades. Players manage and approve offers for participants they control.

Sheets, privacy, and compatibility limits
  • Native sheets: the integrations use dnd5e actor and container sheets, physical item price fields, inventory rows, and item tooltips. Replacement sheets and modules that change the same methods or markup may need separate integration. Compatibility with every combination or later version is not established.
  • Privacy: hidden prices and catalog filters affect what players see in the interface. The character ledger stays in a GM-owned journal, and Traffick sends only permitted character projections and separate private cards. Foundry can still send underlying item documents and world settings, including configured checks/DCs, to clients; interface concealment does not encrypt that data.
  • Unidentified items: Traffick uses dnd5e's unidentified names and images in its views. Make sure imported items have an unidentified name set in dnd5e. Other sheets still use the system's naming rules.
  • Sessions and stock: offers reserve quantities within a session. Separate sessions are not a shared stock reservation system; execution checks current quantities. GM reloads discard active sessions.
  • Checks and identification: appraisal and identification require a connected GM to resolve player rolls. Successful identification applies to the shared item, not just the identifying player. Coordinate assessment work when several GMs are active.
  • Compatibility evidence: the versions above are the existing manifest declarations. Local automated checks do not establish live multiplayer, third-party sheet, or later-version compatibility.

Roadmap

Future priorities will be shaped by real campaign workflows and reported issues along with any that I feel would be appropriate but Share a feature request on the Discord! with an example of what you are trading and where the current tools get in your way.

Suggestions are welcome, but they are not commitments or commissions. Development priorities remain mine.


Community

Support is handled through the Bakshi’s Bazaar Discord. Patrons receive priority support, without guaranteed response or resolution times.


AI-Assisted Development

This module is developed and maintained with the help of AI-assisted tools for coding, debugging, and testing.

I care about the quality, behavior, performance, security, and long-term maintainability of this module, and I take full responsibility for what ships. AI assistance does not replace review, testing, debugging, or security and design judgment.

AI is used here as a tool under my direction to make Foundry better and allow for long term mod support while still having a life outside of building and maintaining my free and premium modules.

If you are uncomfortable using software developed with AI-assisted tools, this module is not for you.


⚖️ License & Permissions

Premium License

Traffick is a paid, premium module. Refer to the shipped LICENSE.txt for usage and redistribution permissions.

Commercial Licensing

For bundling, commercial integrations, or custom feature development, contact GnollStack to discuss licensing and permission.

Contact

For licensing inquiries or permission slips:


Author: GnollStack · Compatibility: Foundry VTT 14.367 / dnd5e 5.3.3

⬆ Back to Top

Supported Game Systems

  1. Dungeons & Dragons Fifth Edition

    Latest Version: Version 6.0.5 Last Updated 5 days, 23 hours ago

Categories

Available Versions

  1. Version 14.1.0

    2 days, 15 hours ago
    Foundry Version 14.367+ (Verified 14.367) Manifest URL