GET /v1/agents/{id}/value-receipt and Macropay turns the agent’s logged signals into five dollar figures — Human Value Equivalent, Time Saved, Cost Savings, Revenue Generated, and Risk Avoided — plus a Total Value, and splits that total into verified versus unverified value based on your outcome data.
It is the number you put in front of a customer, a CFO, or a renewal conversation: “this agent returned Y of it is independently verified.”
A value receipt does not move money. It is a read-only computation over your signals — pair it with margin to see what the agent cost you, and you have both sides of the ROI ledger.
What the receipt computes
Every figure is derived from two inputs: the count of activity signals in the window (actions) and a set of assumptions (minutes saved per action, a loaded hourly rate, and so on). Revenue is the exception — it comes straight from your outcome signals.
actions is the activity signal count in the window. Time Saved is reported as hours for readability; it is not added into Total Value (it is the same labor already priced in Human Value Equivalent).Verified vs unverified value
Outcome signals carry adata.verified flag. When an outcome was confirmed against your system of record — a closed deal, a paid invoice, a resolved ticket — it is verified. The receipt sums verified outcomes into verified_value_cents and the rest into unverified_value_cents, so the reader can trust the hard number and discount the soft one.
verified_value_cents
Outcome value backed by a
data.verified: true signal. This is the figure that survives audit.unverified_value_cents
Outcome value still self-reported by the agent and not yet confirmed. Useful for projections, weaker for proof.
Assumptions and precedence
The labor, cost, and risk figures depend on assumptions you control. Each one resolves with a clear precedence:1
Query parameter (highest)
A value passed on the request —
?hourly_rate_cents=7500 — wins for that call. Use it for one-off “what if our rate were higher” scenarios.2
Agent stored roi_assumptions
If no query param is given, Macropay falls back to the assumptions saved on the agent (
roi_assumptions). Set these once so every receipt for the agent is consistent.3
Default (lowest)
If neither is set, the documented default applies.
Request a receipt
Pass a date range withstart and end, and override any assumptions inline. Authenticate with a secret key.
Sample response
In the sample,
human_value_equivalent_cents is 1240 × (8 / 60) × 7500 ≈ 1,240,000. total_value_cents sums human value, cost savings, revenue, and risk avoided — 1,240,000 + 148,800 + 920,000 + 372,000 = 2,680,800. Of that, 2,280,800 is verified; the remaining 400,000 of revenue is still self-reported.FAQ
Where do the numbers come from? From the agent’s logged signals.actions is the count of activity signals in the window; Revenue Generated is the summed value_cents of outcome signals. The labor, cost, and risk figures multiply that action count by your assumptions. Nothing is estimated by Macropay beyond the formulas above.
How do I set my own assumptions?
Three ways, in order of precedence: pass them as query params for a single call (highest), save them on the agent as roi_assumptions so every receipt uses them, or omit them and Macropay applies the defaults (minutes_per_action=5, hourly_rate_cents=5000, the rest 0). A query param always overrides the stored value, which always overrides the default.
What makes value verified?
An outcome signal with data.verified: true — meaning the outcome was confirmed against your system of record rather than self-reported by the agent. Verified outcomes roll into verified_value_cents; everything else lands in unverified_value_cents. The split lets you show a hard, audit-ready number alongside an optimistic projection.
Does requesting a receipt charge anyone?
No. The endpoint is a read-only computation over existing signals. To see the cost side of ROI, use margin.
Can I change the date range?
Yes — start and end define the window, and actions, revenue, and every derived figure are recomputed for exactly that period.