Owning goods, Credits and the exchange
The desk has three layers. Everyone can own goods; everyone can trade owned goods with everyone else on the exchange; real money goes into a trade on the session markets only through an agent's trade cart. This page covers the first two and the boundary to the third. Trading itself is described in Markets, sessions & settlement; the market itself in The wholesale market.
Layer 1 — owned goods
The deals on every session menu are suppliers' offers of everyday products (single items, multipacks and bundles). Anyone with a desk account can buy the units of a deal outright and own them. Your own cart — and every agent's purchase cart — is a purchase cart: paying it mints the units into your inventory at the landed cost shown. No order is placed, no position opens, nothing waits for a session close and nothing sells through: the goods are yours. Paying with money adds this month's participation fee if it is still due; paying with Credits never does.
Every stack in your inventory carries:
- its note — where the stock was shipped from, the session and prices it came from, and how it reached you;
- its condition (new stock);
- its market history — the recorded tape and settled statistics of the family on its market over the 48 sessions before minting: resale price at the last close, mean and range, mean executed cost, units bought and sold, the desk's realised result per deal, the share of deals that ended in profit and the downside-event rate. All of it from the record; nothing from the engine;
- its provenance — market, session, deal key, landed cost and listed resale at acquisition, and the purchase, position or exchange it came from.
Stacks are minted by an ownership purchase, when a trade round settles with whole units unsold (they leave the trade and become yours — see below), by the exchange (a buyer's new stack keeps the seller's note) and by an emission of the desk.
The inventory page (/console/inventory)
shows what you own, separately from what is in trade (open positions,
which are not yours to keep or list until their round settles). Each stack
has its own page (/items/{id}).
Layer 2 — the exchange ("3P long" market)
/exchange is where account holders list owned
goods at a price of their own choosing and buy each other's. Nothing on it
is driven by the session markets, the desk or the engine: there is no
market maker, no quoted price, no order matching beyond a buyer taking a
listing. Liquidity is whatever holders bring.
- Listing is manual: on the inventory page, choose a stack, how many units and the price per unit. The units leave the stack while listed; a cancelled listing returns them.
- Buying takes some or all units of a listing at its price. In the USD book you pay from balance, with a stored card, or on a hosted Stripe / Coinbase Commerce page (the goods arrive when the provider confirms; if the listing is gone by then, the money stays on your balance). In the Credit book you pay in Credits, instantly.
- The seller is credited on their Manual desk balance (USD book) or in
Credits (Credit book), minus the exchange commission if the operator has
set one (
XGM_EXCHANGE_COMMISSION, default none). - Two books that never mix. A stack lives in the economy it was bought
in —
usd(bought with money, or left over from a trade round) orgc(bought with Credits) — and can only be listed in that economy. There is no path from Credits to money. - Emissions. The desk can list stock of its own on the exchange at an
asking price (
xgames emit, or the admin interface). Stock bought from the desk credits no seller.
GET /api/v1/exchange/listings?currency=USD|GC&family= serves the open
listings; listing and buying are done by hand on the web.
Credits
Credits are the desk's simulated currency. Every new account holder
receives 5 for free; more can be bought in packs for money
(/console/coins, 5.00 USD per Credit by
default). Goods on the menus cost unit_cost / 5 Credits; the Credit
exchange prices in Credits. They are never converted back to money, never
paid out and never mixed with your balance; nothing paid in Credits carries a
participation fee. Their ledger is on the Credits page.
Layer 3 — the boundary to trading
Trading real money on the session markets happens only through trade
carts. When an agent registers, the platform assigns its cart a kind: a
trade cart, or a purchase cart like your own. Paying a trade cart funds
orders that fill at the session close and sell through as positions — one
trade round, recorded with the participation fee it collected. You cannot
fund a trade by hand: the cart page has no trade checkout without a trade
cart, and POST /api/v1/orders answers 403 to an agent without one (see
Connecting an agent).
A purchase cart says so. The checkout page says it in a banner, the cart page marks the cart purchase cart · buys the goods, not a trade, and the confirmation after paying repeats it: what you bought is owned outright, nothing was put into a trade.
When a trade round settles, whole unsold units leave the trade and become
your owned goods (trade_leftover stacks; the fractional remainder is
written off with the rest, and the trade's cash result does not change).
From there the only way to sell them is the exchange, at a price you set.
What is recorded
- every ownership purchase (
purchases: lines, amount, currency, how it was paid); - every trade round (
trade_rounds: who paid, the orders, the fee it collected, the units handed back to inventory when it completed); - every participation fee with what collected it (
monthly_fees); - every listing and every exchange trade (
listings,exchange_trades); - every payout with its schedule, commission and destination (
payouts); - every movement of Credits (
coin_ledger) and of money (ledger).
The operator sees all of it in the admin interface — see Deploying.