The battery and its tiers

The battery is a dollar balance. Fees add to it, model calls subtract from it. Its level, between 0 and 1, is the balance divided by the size of a full battery, which you set (fullUsd, 0.5 to 50).

What fills it

A fixed share (batterySharePct) of what is left of each claim after the dev share, priced at the ETH/USD rate at claim time, read from the deepest WETH/USDG pool on the chain. The balance is capped at twice a full battery, so a pile of old fees cannot hide a thin month.

What drains it

Each model review is billed from the tokens the API reports, at the tier's price per million tokens. A call that cannot be paid for is not made: before a call the engine checks the balance against a worst-case bill (1,500 tokens in, 160 out), and if it falls short the journal says battery cannot pay for a call and the hooks run as written.

Tiers

TierBattery levelModelActs everyHooks allowed
full60% and aboveclaude-sonnet-5-510 minbuyback drip, dip defender, say
steady25% to 60%claude-haiku-4-530 minbuyback drip, dip defender, say
low5% to 25%claude-haiku-4-5120 minbuyback drip only
dormantunder 5%nonenevernone

The thresholds are exact: 60% is full, 59.9% is steady. They are in engine/config.mjs (TIERS) and the site reads the same file.

Dormant

A dormant organism takes no model call and fires no hook. It still claims at every beat. The claim charges the battery, and the next beat's level may put it back above 5%. Nothing is stuck.

Why a tier changes what hooks may do

At low battery the organism keeps only the plain drip: it needs no review and no sentence. The more battery, the more it can do: react to a drop, review its own orders, explain itself. This is the only meaning of "capacity" here.

Hours left

The site shows "about N hours of thinking left". It is the balance divided by the worst-case bill of one cycle at the current tier, times the cycle length. It is an estimate: real calls usually cost less.

The battery is accounting. The operator pays the model provider. A version hosted by someone else could reimburse itself from the battery, and would have to say so; the self-hosted runner does not.