---
title: Holds
description: 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](/money/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`](/mcp-tools/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](/money/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](/money/free-and-failures).

## `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`](/mcp-tools/runs-evidence) shows the one attempt's
own receipt and cost.

<Related />
