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:
| unit | fields | hard cap |
|---|---|---|
result | maxResults, maxItems, limit, … | 1000 |
token | maxTokens, tokens, maxOutputTokens | 1e6 |
character | maxCharacters, characters | 1e6 |
second | maxDuration, maxSeconds, duration | 3600 |
byte | maxBytes | 1e9 |
{ "kind": "PER_UNIT", "unit": "token", "flatUsdMicro": 0, "perUnitUsdMicro": 5 }Lifecycle
- Hold — worst-case spend, also capped at remaining wallet / budget / key limit.
- Settle —
costFor(pricing, billedUnits), never above the hold. - 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.
ToolPlexer