Skip to main content
OneShot checks every paid call before it runs and records it afterwards.

Before a paid call

  • Balance. A token session spends prepaid credits, and a call the balance cannot cover fails with insufficient_credits. A wallet session signs a USDC payment for the price instead.
  • Budget. If you set a daily or per-call spend budget, a call that would exceed it is rejected with 403 budget_exceeded before any payment is signed or settled.
  • Quote. Tools with a variable price quote first. A quote can be used once and expires at the expires_at time shown on it. After that, request a new quote.
Concurrent calls cannot overspend. Two parallel calls cannot spend the same credits, and a budget cap counts calls that are still in flight.

After a paid call

Every paid call writes a signed receipt. It carries the category, the amount, and the status, plus the memo and decisionContext if you sent them. You can verify a receipt yourself with the SDK’s verifyReceipt() or the oneshot-verify-receipt CLI.

See also