The ledger
Receipt format
A versioned task receipt keeps execution details and payment evidence in separate fields.
Receipt fields
| Field | Purpose |
|---|---|
| schema / demo | coresrent.task-receipt.v1 and the explicit demonstration marker. |
| id / serviceId | The demo job identifier and selected service. |
| provider | Local demo fixture; no external supplier executed this job. |
| createdAt / completedAt / status | Local demo lifecycle timestamps and state. |
| inputSha256 / budgetUsdc | Hash of trimmed UTF-8 input and the selected maximum USDC budget. |
| network | Configured cluster and mint/recipient, with missing addresses represented by null. |
| usage / result | Sample request count and the local output plus its input. |
| scenario / events | Preset or custom demo identity and the recorded lifecycle events. |
| referenceSample | true only for a predefined homepage example; not a workspace execution. |
| quote | Unique demo quote ID, service, estimated cost and fee, expiry and demo marker. |
| payment | null in the demo: actual payment is 0 USDC. |
| outputSha256 / limitations | Digest of JSON.stringify(result) UTF-8 bytes and the stated demo limitations. |
Illustrative demo receipt
{
"schema": "coresrent.task-receipt.v1",
"id": "demo-example",
"demo": true,
"serviceId": "text-inference-v1",
"provider": "Local demo fixture",
"createdAt": "2026-10-28T00:00:00.000Z",
"completedAt": "2026-10-28T00:00:00.000Z",
"status": "completed",
"inputSha256": "<SHA-256 of trimmed UTF-8 input>",
"budgetUsdc": "2.00",
"network": {
"cluster": "devnet",
"mint": null,
"recipient": null
},
"usage": {
"requests": 1,
"source": "demo"
},
"quote": {
"id": "demo-quote-example",
"serviceId": "text-inference-v1",
"taskCostUsdc": "0.90",
"platformFeeUsdc": "0.10",
"totalUsdc": "1.00",
"expiresAt": "2026-10-28T00:05:00.000Z",
"demo": true
},
"payment": null,
"result": {
"text": "Illustrative local result",
"input": "Example input"
},
"outputSha256": "<SHA-256 of JSON.stringify(result) UTF-8 bytes>",
"limitations": "Demo task only. No payment, supplier execution or on-chain transaction. A receipt and payment proof do not prove computational correctness."
}The full unique id is visible in the task table and details. Input and output hashes can be checked after downloading the actual JSON. quote contains a per-task estimate of 1.00 USDC; payment: null means actual payment was 0 USDC. Cumulative estimated fees add quote totals across the stored demo history and are separate from actual payments.
Live fields
The live adapter must define and version its schema, binding the receipt to a persisted quote and provider job. Payment details must include the verified successful finalized transaction, configured cluster, token program, mint, recipient, exact amount and checked quote reference. Optional provider signatures need an authenticated key and documented verification algorithm; no signer or signature guarantee is implied by this demo.
Versioning
Consumers must reject unsupported versions or missing required fields. Preserve the original receipt bytes when checking an external signature. Changes to a schema require an explicit version update.
Last updated 29 October 2026.