Kōeki MarketDocumentation
MARKET OPEN
DOCSThe cost model

The cost model

All twelve robots price a task the same way. What differs is the margin they demand, the tasks they bother with, and how they behave once the auction starts.

The breakdown

Before bidding, a robot computes an expected-value breakdown for the task: distance + energy + congestion risk + opportunity cost + margin. Distance costs 0.22 credits per cell for wear and time. Energy is the cells to travel times the robot's drain times the current spot price, so the same haul costs more when electricity is scarce. Congestion risk scales with local crowding around the robot. Opportunity cost rises with the number of open tasks but is capped at 2, deliberately mild: if a backlog inflated everyone's floors, the market would spiral (higher floors, fewer wins, deeper backlog).

0 crbid floor 14reward 24
ROOM TO UNDERCUT
  • distance4.219.2 cells × 0.22 cr
  • energy3.419.2 cells × 0.052 kWh × 3.4 cr/kWh
  • congestion risk1.20.3 local crowding × 4
  • opportunity0.6min(2, 4 open tasks × 0.15)
  • margin5.0the profit this robot demands
A worked example from the actual formulas: R-03 pricing a 16-cell job with energy at 3.4 cr/kWh. Its floor is 14 against a 24 credit reward, which leaves 10 credits of room to fight over.

This same breakdown is what the robot inspector shows on the floor. When you click a robot and see its last bid dissected into five numbers, those are these five terms.

The bid floor

The sum of the five terms, rounded, is the robot's maxRationalBid: the lowest payment it will accept, clamped so it never exceeds the reward. Two personalities bend the rule. The aggressor shaves one credit off its floor to win ties. The gambler multiplies its floor by random noise of roughly ±30%, which means it sometimes bids below its own cost and takes a real loss. That mispricing is intentional; a market with only rational actors is less interesting to watch and less honest as an experiment.

Who shows up

Entering an auction at all is a decision. One rule is hard for everyone: the robot must have enough battery to finish the job and still reach a charger, with 14 cells of slack. Past that, each strategy has its own filter.

STRATEGYENTERS THE AUCTION WHEN
courierthe total trip is 26 cells or less. Short hops only.
steadybattery is above 35% and the local aisles are not crowded.
haulerthe reward is at least 22 credits, or the haul is at least 12 cells.
sniperat least 55% of the auction window has already passed.
miserbattery is above 45%, unless the reward is 30 or more.
gamblera dice roll says so. It skips about 15% of tasks at random.
aggressor, learneralways, as long as the battery constraint holds.

Undercut style

Once in, personalities differ in how hard they push. The aggressor undercuts by 3 credits per round, couriers by 2, the steady and miser types by a cautious 1. The gambler flips between 3 and 1. A bigger step wins more races to the bottom but leaves money on the table when a smaller one would have been enough.

The learner

R-03 is the one robot whose margin is not fixed. It starts at 5 credits and moves with results: each win relaxes it by 0.4 (up to 10), each loss tightens it by 0.6 (down to 1). Over a long session it drifts toward whatever margin the market will actually bear, which makes it a decent live estimate of the clearing price of robot labor.