Reading a receipt

The fields on a receipt, what each one holds, and where to read it.

A receipt is the accounting for one answer: which model sat in each seat, how the judge scored it, what it cost and how long it took. The request_id comes back with the call that produced the answer. Read the receipt with the get_receipt tool or GET /v1/receipts/{request_id}. In Chat, select the Quorum mark under an answer.

What each surface shows

Chat opens the receipt in a panel: the question, the pre-score (task type, difficulty, hallucination risk, seats selected), estimated against actual rounds, time and tokens, a timeline, each seat's answer, the judge's verdict and the synthesis. The API and MCP return the fields below as JSON, including each seat's fee line.

Per seat

Each seat row carries the following.

FieldWhat it holds
roleseat1, seat2 or seat3. This is the only seat identity. A seat answers once per round, so key on role and round_number, not on array position.
model_usedThe model that answered.
judge_scoreThe judge's score for that answer. is_best_seat marks the winner.
fallback_used, original_modelSet when the seat ran on a backup. original_model is the engine the Mode asked for.
tokens_in, tokens_out, latency_msWhat the seat consumed and how long it took. started_at and ended_at give the instants.
sourceThe source that served the seat.
real_cost_usdWhat that source billed for the seat.
fee_rateThe platform fee rate on the seat: 5% on Quorum's keys, 0.5% on your own key, unless the source sets its own.
fee_usdreal_cost_usd times fee_rate, recorded in full. A call over its ceiling keeps its fees and is settled by the cap credit.

The fee fields are filled on API-billed seats. null means no fee was recorded, and calls billed to a plan record none.

Judge, synthesis and grounding

The staff object names the engines that scored and wrote the answer.

The bill

billed_usd is what the call was charged. It is the sum of three parts: tokens, the seat fees and the Quorum surcharge, minus any cap credit. token_charge_usd, q_surcharge_usd and cap_credit_usd are returned as stored.

A call that goes over its ceiling is charged in full: tokens, seat fees and the Quorum surcharge. The amount over the ceiling is then credited back as a cap credit, so you pay the ceiling. That credit is cap_credit_usd, the amount by which the call went over its per-call ceiling. status reads capped and the response carries quorum.capped: true and quorum.cap_credit_usd. cap_credit_usd is 0 on a call under the ceiling. null means no credit was recorded, which is not the same as $0.00. On the usage page, the receipt shows the credit as Cap credit and the total as Amount paid.

Seats and staff that could not run

When a Mode picked an engine and nothing the Mode approved could run, the receipt says so: unavailable: reason. Refused seats appear in seats_unavailable and refused staff in staff_unavailable, each as a role and a reason. Chat prints the same line above the receipt.

When a Mode is resolved, its approved engines are the only ones that can fill a seat.