Live
prepare_payment warns at prepare when unreserved cash is insufficient or unknown; it becomes a refusal at a future execution launch. Stored snapshots older than 24 hours are unknown by default. Execution is not enabled.View as Markdown

Cash buckets

Agent Pay status: Approve does not execute. Execution: not enabled. ACH settlement: not enabled. prepare_payment never moves money. Machine-readable: /docs/agents/status.json.

A balance is not all spendable while drafts or holds are outstanding. POINTS splits it into three buckets.

BucketMeaning
UnreservedSpendable: the balance minus reserved and escrowed amounts, never below zero
ReservedAmounts held by outstanding drafts and approvals
EscrowedAmounts held for escrow-before-work drafts (requires execution (not enabled))

How agents see it

get_account_summary returns the available balance as the unreserved amount, and the agentPaySpend object breaks out all three buckets. Balances on the account summary are labelled sandbox.

Rules

  • Prepare checks unreserved cash against the stored balance snapshot. Today it warns (cash_check on the prepare result and on the approval card), using unreserved_cash_insufficient or unreserved_cash_unknown; it becomes a refusal with the same codes at a future execution launch. A snapshot older than 24 hours counts as unknown by default. The check includes all outstanding owner reservations and performs no provider read. No payment is sent by prepare.
  • Drafts reserve as soon as they are prepared. Reserved cash counts toward the operator's daily and monthly limits.
  • Reservations are released when a draft is rejected, expires, or is revoked.
  • Over-commitment fails closed. If reservations exceed the balance, unreserved is zero.
  • A read error fails closed. If reservations can't be read, the whole balance is treated as committed.

Reserving cash does not move it. Approve does not execute.