Holds
How a run reserves its estimated cost, settles at the actual charge, releases what is left, and what reconciliation_pending means for the hold.
A run never charges your balance directly. It reserves first, then settles.
Reservation
When a run is admitted, looot reserves the endpoint’s estimated cost from your available balance.
You see it under reserved in looot balance for as long as the run is in flight. A fallback
run reserves once, for the whole route: see Cost cap.
Settle
When the provider answers, the hold closes. A completed run is charged its actual cost
(actualCost), and whatever is left of the hold returns to available. For a flat per-call
price, the charge equals the price inspect showed. For a price per result, the hold covers an
upper bound on results and you pay for what actually came back, up to the settlement ceiling: see
Settlement ceiling.
Release
A run that fails at the provider is charged $0 and the whole hold is released. A run refused before it starts never takes a hold at all: see What’s free.
reconciliation_pending
When the outcome of a run is uncertain, for example a worker died mid-flight and the provider’s
answer was never confirmed, the run parks at status: "reconciliation_pending". The hold is
retained, not released, and the evidence gathered so far is kept until a platform operator reviews
it and settles the run by hand.
Worked example
Run job:company.enrich on {"domain": "example.com"} with an estimatedMaxCost of $0.05.
looot balance shows reserved go up by $0.05. The provider answers, the actual charge is
$0.0245, and available gets the $0.0255 difference back. runs_evidence shows the one attempt’s
own receipt and cost.