# Barter marketplace

## overview.md
```yaml
id: barter-marketplace
title: Barter marketplace
area: design
summary: Player-to-player item exchange with no in-game currency — pure barter, with both a web interface and an in-game interface.
repo: land-of-lor
depends_on: ["server-architecture"]
```

## What this is

The system by which players trade items and blueprints with each other. **Load-bearing design constraint: there is no in-game currency.** All exchange is barter — a player can offer N units of a common item for one rare item, or offer a wide bundle of assorted items seeking one specific ingredient they lack. This exists almost independently of the game itself, with **both** a web interface and an in-game interface to the same underlying marketplace.

## Why it exists

Currency-free barter follows directly from settled design pillars, not as an arbitrary constraint:

- **"Everything is priced — no god-mode"** (`docs/README.md` §4): conservation of matter means nothing is free, but value is expressed as trigram opposing pairs and composition, never a scalar. A single fungible currency would reintroduce exactly the kind of scalar power-ranking the four-axes system is built to prevent.
- **Blueprints are tradeable by construction** — "the pattern works whether or not you own the blueprint, which makes blueprints tradeable and gives an economy for free" (§8, and workspace `CLAUDE.md`'s settled pillars). The marketplace is where that tradeability actually gets exercised.
- Cooperation-over-PvP (a recurring thread across all three LoR attempts, per workspace `CLAUDE.md`) — trading is one of the explicitly-named cooperative mechanics, alongside joint machines and consensual arena wagers.

## Scope

- Listing mechanics: offer X of item A for one of item B; offer a bundle for one specific rare ingredient.
- Both interfaces to the same marketplace state: an in-game UI (presumably reachable from the Ingredients/Blueprints inventory tabs, per `thought-specs/inventory-interface.md`) and a standalone **web interface** — meaning this may need its own client, separate from the game client, talking to the same server-side marketplace data.
- Ownership/authority: the server (see `server-architecture`) is the single source of truth for what any player holds, which this marketplace depends on directly.

## Non-goals

- Not introducing any currency, exchange rate, or scalar pricing mechanism, even as an internal implementation detail — if a "value score" creeps in to make matching easier, treat that as a design red flag against the no-currency constraint, not a shortcut.
- Not the recipe/blueprint system itself (see `spell-crafting-interface`) — this epic only concerns exchanging what already exists between players.

## Key open questions

- How offer-matching actually works without a common unit of value — direct 1:1 listings (I have this, I want that) seem straightforward; open-ended "best offer" matching across dissimilar bundles is genuinely harder and undesigned.
- Whether the web interface is a full second client or a lightweight read/list/offer view.
- Anti-abuse: since there's no currency to launder, what does scarcity/fraud even look like here (fake listings, duping) — not yet considered in any source doc.
- **Half-formed, worth carrying forward:** if `object-system-experiments`' gatherability-tiering idea lands (a small arena-gatherable ingredient core vs. a long tail reached by crafting/trade), does this marketplace end up implicitly specializing around trading *for* arena-viable ingredients specifically — i.e. does "what's tradeable" and "what's arena-legal" collapse into nearly the same question? Or do they stay genuinely separate (the marketplace trades the full 64; arenas just restrict what you can *bring in*, not what exists)? Nothing decided — flagging so it isn't lost.

## Relevant docs

- `land-of-lor/docs/README.md` §4 (no god-mode, opposing pairs over scalars), §8 (blueprints as tradeable knowledge).
- `land-of-lor/docs/thought-specs/inventory-interface.md` — the Ingredients/Blueprints inventory tabs this likely surfaces from in-game.
- `land-of-lor/CLAUDE.md` — cooperation-over-PvP as a recurring cross-attempt thread.

## status.md
```yaml
updated: 2026-08-05
parked: true
tasks: {"backlog":1,"needs-input":0,"ready":0,"doing":0,"review":0,"done":0}
open_questions: []
tag: parked
next: Parked — nothing to do here until server-architecture's ownership model exists to design against.
```

## Task summary

1 backlog · 0 ready (parked, so nothing is marked ready regardless of what's underneath). This epic isn't being worked right now.

## Open questions

None tracked. The real open design questions (offer-matching without a value unit, web-interface scope, anti-abuse) are recorded as plain prose in `overview.md`'s "Key open questions" — they'll be answered naturally when this epic is actually picked up, not generated ahead of time.

## Next

Nothing — this is parked. Revisit once `server-architecture` has a concrete ownership/inventory model, or if Kris explicitly asks for it.

## tasks/ (1)

### barter-marketplace/001 — Spec the listing/offer data model
```yaml
id: barter-marketplace/001
title: Spec the listing/offer data model
epic: barter-marketplace
state: backlog
priority: 1
blocked_by: ["server-architecture/002"]
estimate: M
created: 2026-08-05
updated: 2026-08-05
claimed_by: null
claimed_at: null
delivers: []
review_artifact: null
```

## What to do

Design the listing/offer data model for player-to-player barter — direct 1:1 listings and bundle-for-one-rare-ingredient offers, per `overview.md`'s scope. Needs a real inventory/ownership data shape to design against, which depends on `server-architecture` settling how player inventory is authoritatively stored.

## Definition of done

A data model doc: listing shape (offered items, wanted item(s)), how a match/acceptance is recorded, and how it ties into whatever ownership model `server-architecture` lands on. No currency, no scalar value field — see `overview.md`'s non-goals.

## Where the work lands

`land-of-lor` repo.

## Docs to read first

`overview.md`'s no-currency constraint (read this first, it's load-bearing) and its open question on offer-matching without a common value unit; `server-architecture`'s eventual ownership/inventory model.

## questions/ (0)

## deliverables (0)
