Corporate Warfare Corporate WarfareDocumentation
↵
Play
Game Systems/The economy

The commodity exchange

Last updated 2026-10-29

Goods trade on one exchange that spans the whole scenario. Every plant that needs an input, in any region, sees every seller's stock in any region plus the outside market's import offer in its own region. The exchange fills the cheapest delivered offer first, so local producers feed local plants and the outside market is the last resort. Knowing how it ranks offers tells you where to build, what to charge and when to stockpile.

How it works#

Each week, before plants run, the exchange does this for every good:

  1. Each buyer states how much it needs and what it can pay.
  2. Each offer gets a delivered price: the seller's asking price plus freight over the cheapest route (see Freight). The outside market's import offer in the buyer's own region has no freight added.
  3. Offers are sorted from cheapest delivered price to dearest and filled in that order. Buyers tied on the same offer share it in proportion to what each still wants and can pay for.
  4. The seller receives its asking price. The buyer pays the freight to the carrier. Goods arrive within the week.
  5. Whatever is not filled is a shortage, and your plant runs below capacity.

Flow chart: a buyer need collects offers with freight added, sorts them by delivered price, fills the cheapest first, and turns any leftover into a shortage; the gateway offer at 115 percent of world price is the last resort.

The outside market is made of gateways: finite import and export offers at world price minus or plus 15 percent. A gateway sells to you at 115 percent of the world price and buys from you at 85 percent, so selling to it is a last resort too. Its capacity is limited, but it grows by 1 percent for every week your region's exports filled it.

Key numbers#

Item Value
Gateway sell price (import) 115 percent of world price
Gateway buy price (export) 85 percent of world price
Manual price limits 50 to 200 percent of reference price
Automatic price move per week At most 2 percent
Automatic price range Within 30 percent of reference
Plant yard (free storage) 6 weeks of that plant's inputs and outputs
Outside storage fee per lot per week Warehouse 80 cents, tank farm 120, silo 60, cold store 200
Spoilage per week Food 4 percent, groceries 4, livestock 3, grain 1.5
Spoilage cut in owned storage 80 percent
Buy to store Up to 5,000 lots per order, 400 lots per week, 6 orders, open 13 weeks
Longest stock target 26 weeks of inputs

Prices#

A good's price is set by its seller. On automatic pricing it follows sell-through:

Line chart: the price a seller wants rises from 70 to 130 percent of reference as buyer shortage grows from minus 5 to plus 5 weeks.

Local sellers therefore sit under the import price once freight is added, and local goods win. When local supply covers demand, the price eases back toward its reference.

World prices#

Eleven families of goods have a world price that moves every week: oil and fuel, natural gas, coal, iron ore and metals, steel, grain and farm output, fertilizer, chemicals and plastics, timber, rare earths and building materials. In Silicon Valley, chips and electronics follow a path too. The world price sets what gateways charge and pay. The path is chosen when you start a game:

Four small line charts of world price indices by family over the quarters of each scenario, with oil and steel highlighted.

Authored historical paths. Day one is 100. Variance mode shifts and rescales these shapes.

Mode What it does
Historical The scenario's real shape on the real dates. Identical every game.
Historical with variance The same shape, shifted in time by up to 20 weeks overall plus up to 10 per family, with each swing 60 to 140 percent as deep. Drawn from your game's seed.
Random A neutral drift around the starting price with no scripted busts. Busts come only from the business cycle.

A fall in world prices feeds the business cycle as a demand shock (see Governments and market laws). An index never leaves 20 to 800 percent of its day-one level.

Chains#

Plants can make several products at once. Oil is a real chain: wells pump crude oil and refineries turn it into gasoline, jet fuel and feedstock. Iron runs from blast furnace to pig iron to steel, with scrap from steel works feeding electric arc furnaces. Mixed farms grow grain and raise livestock, and food processing turns both into food. A plant that loses an input slows down, so a break in a chain spreads downstream.

Storage#

Goods take up space, and storage comes in four classes: warehouse (steel, consumer goods and other dry goods), tank farm (oil, gas, chemicals), silo (grain, ore, coal, fertilizer, building materials) and cold store (food, livestock, pharmaceuticals).

Line chart of stock remaining against weeks stored for food, livestock and grain, with and without owned storage.

Each operating plant brings a free yard that holds 6 weeks of its inputs and outputs. Stock beyond your yard and your own storage sits in the region's outside storage and pays a weekly fee per lot. Goods are never refused or destroyed for lack of room. Stock beyond the yard also pays a small holding cost, a weekly share of the good's reference value. Perishable goods spoil each week, and owned storage cuts the loss by 80 percent for the stock that fits in it.

Worked example. A steel plant in region A needs 50 lots a week. Steel's reference price is $400 a lot. Three offers reach it: a seller in region B asks $380 and freight over 500 km by truck adds $15 a lot (3 cents per lot-km), so $395 delivered; a local seller asks $430; the gateway imports at $460. The exchange fills B's $395 first, then the local $430, and touches the gateway at $460 only if both run out. If B has only 30 lots, the plant takes 30 at $395 and 20 at $430, an average of $408.

Storage example. You hold 1,000 lots of food in a region with a cold store that fits 600 lots. Food spoils 4 percent a week, cut to 0.8 percent for stock inside the cold store, so that 600 lots lose 4.8 lots a week and the other 400 lose 16, about 21 lots in all. Any lots beyond your yard and your cold store pay 200 cents a week each in outside fees.

What you can do#

Tips: store goods before an expected price rise and sell into a spike; spoilage makes storing food a poor bet without a cold store; and if a plant stops because its input sits in the next region, check the delivered price, not the asking price.

Connections#

Driven by

Affects

Status#

Live in every scenario and difficulty. What differs by scenario is the default world price path: Historical in Great Lakes 2000 and Ruhr and Rhine 1991, Historical with variance in Texas Oil Patch 1981 and Silicon Valley 1995 (see Scenarios). The strategic reserve and production quotas depend on which party is in government.

Last checked: 2026-10-29, version 1.8.0

Technical detail: every constant, formula and source file is in Exact rules at the end of this page.

Exact rules#

All rules run inside the weekly turn. Sources are in the game's public repository.

Delivered-price matching#

Source: crates/cw-sim/src/economy/markets.rs (clear_goods_exchange).

Sell-through pricing#

Source: crates/cw-sim/src/economy/pricing.rs.

World price paths#

Source: crates/cw-sim/src/economy/world_prices.rs, content/price-paths.json.

Storage#

Source: crates/cw-sim/src/economy/storage.rs, crates/cw-data/src/balance.rs, content/initial-balance.json.

Strategic reserve#

Source: crates/cw-sim/src/economy/reserve.rs. Buys under 85 percent of the 52-week average price (BUST_PCT), up to 300 lots a week per good (BUY_LOTS_PER_WEEK), up to 4,000 lots per good (MAX_STOCK_LOTS), spending at most 1/40 of its cash a week (BUDGET_DIVISOR). Sells over 120 percent of the average (SPIKE_PCT) or 110 percent of its purchase price (PROFIT_PCT), up to 150 lots a week per region (SELL_LOTS_PER_WEEK). Needs 26 weeks of price history (MIN_HISTORY).

Edge cases#

Ask