Kōeki MarketDocumentation
MARKET OPEN
DOCSThe auction

The auction

Every task is sold in a short descending auction. The reward is the opening price, and the robots bid it down until the window closes.

Where tasks come from

Tasks arrive at a configurable rate (the default is 8 per sim-minute) as a per-tick spawn probability, so arrivals are irregular in a natural way. Each task is a haul from a random pickup shelf to a random packing station. The reward is 14 credits plus 0.9 per cell of haul distance plus up to 10 of noise, and it opens an auction with a 4.5 second window.

OPENauction clearsASSIGNEDat the shelfPICKED UPat packingDONE · paid the bid
OPENcloses unsoldRELISTED · reward ×1.2unclaimed for 150 sEXPIRED
ASSIGNED / PICKED UPdeadline or batteryFAILED · 5 cr finerelists · reward ×1.15OPEN
The life of a task. Failures put it back on the market at a higher price; a task that nobody wants gets sweetened before it is allowed to die.

Bidding down

This is a procurement auction: the robots are selling their labor, so the lowest bid wins. The first bidder opens just under the reward. After that, each round a robot undercuts the standing best bid by its personal step, between 1 and 3 credits depending on personality. No robot ever goes below its own bid floor, and each keeps exactly one standing bid per auction.

Timing is part of strategy. The sniper does not enter at all until 55% of the window has passed, then bids into whatever spread is left. On the floor you can watch this as the bid fan: lines from each bidder to the task, tightening as the window runs out.

Clearing

When the window closes, the lowest standing bid from a robot that is still idle wins. (A robot that won a different auction a second earlier is skipped, and the next-cheapest bid takes it.) The winner gets the task and a deadline of roughly three times its estimated travel time plus 30 seconds. Payment lands on delivery, not on award: a robot that wins at 17 credits and fails collects nothing.

Every bidder learns something from the result. The learner robot adjusts its margin after each auction it participated in, up on wins, down on losses. The details are on the cost model page.

When nobody bids

A task can close with no takers, usually because everyone is busy, low on battery, or the price is below everyone's floor. The market's answer is to raise the price: the reward is multiplied by 1.2 (capped at 90 credits) and the task is relisted with a fresh 3 second window. A task that stays unclaimed for 150 seconds total finally expires. In practice the sweetener finds a buyer well before that, which is the point: scarcity shows up as price, not as a stuck queue.

Failure and relisting

An assigned task fails in two ways: the deadline passes, or the carrier's battery drops below 5% and it has to abandon the job. Either way the robot pays a 5 credit fine, loses 4 reputation, and the task goes back on the market at 1.15 times its reward. The premium on a relisted task usually finds a taker fast.