The unit
1 credit = $0.01 of raw model cost. Credits are denominated in what the model actually costs, so there’s no hidden markup that varies by model. An expensive model burns credits faster; that’s the whole difference. Charges are fractional. A small call can cost0.003 credits. Whole numbers
are a display convenience only.
What a session costs
Measured raw cost for a heavy 5-hour session (~29M cached + 1.2M fresh input + 0.36M output):
A ~115× spread between cheapest and most expensive. This is why the
Auto router is the default and why
/bias economy is a real lever.
Cache reads are most of the bill
Agent sessions resend a growing conversation every turn, so the majority of tokens are cache reads: billed at a fraction of fresh input. 9p sets cache breakpoints automatically on models that support them. In practice a warm session runs 95%+ cached, and the cache-hit rate is the single biggest factor in what a session costs. Two habits protect it:- Don’t switch models mid-task. A new model means a cold cache. (Auto resolves once per message for exactly this reason.)
- Use
/clearbetween unrelated tasks, not in the middle of one.
Seeing your usage
In-session:Limits and resets
Two rolling windows apply: a 5-hour session budget and a weekly ceiling. When one is exhausted, 9p reports which and when it clears:Session resets
A reset clears the spent counter for that window immediately.
Capped at 5 resets per rolling week: past that, wait or upgrade.
Payments land in the next milestone. During private beta resets are recorded and
capped but not charged.

