Pricing

PER_CALL, PER_RESULT, PER_UNIT — hold, settle, release.

Amounts are integer micro-dollars (1e6 = $1). No floats.

Kinds

PER_CALL — flat fee per execution.

{ "kind": "PER_CALL", "flatUsdMicro": 3000 }

PER_RESULT — base + per item. Hold uses maxResults / maxItems / limit / count from input (cap 1000).

{ "kind": "PER_RESULT", "flatUsdMicro": 2000, "perResultUsdMicro": 1000 }

PER_UNIT — same math, named unit. Input caps:

unitfieldshard cap
resultmaxResults, maxItems, limit, …1000
tokenmaxTokens, tokens, maxOutputTokens1e6
charactermaxCharacters, characters1e6
secondmaxDuration, maxSeconds, duration3600
bytemaxBytes1e9
{ "kind": "PER_UNIT", "unit": "token", "flatUsdMicro": 0, "perUnitUsdMicro": 5 }

Lifecycle

  1. Hold — worst-case spend, also capped at remaining wallet / budget / key limit.
  2. Settle — costFor(pricing, billedUnits), never above the hold.
  3. Release — unused hold.

billedUnits: 0 is always free. Provider HTTP >= 400 is not charged. Platform faults are not charged.

A workspace per-run cap blocks (does not silently clamp) when the quoted hold exceeds it.

On this page