Transaction Receipt
Provenance receipt with verification hash for completed actions.
Answers: Transaction Receipt, Audit Triad.
Install
npx ax-depute@latest add transaction-receiptpnpm dlx ax-depute@latest add transaction-receiptyarn dlx ax-depute@latest add transaction-receiptbunx ax-depute@latest add transaction-receiptOverview
Transaction Receipt is the audit-log component. After an irreversible action passes a gate, the supervisor needs a record of the outcome. A hash or signature shown here is supplied by your backend. The component does not create one.
Pass approvalReceipt when the gate emitted an ApprovalReceipt. The card shows that document's hash, checks it with verify, and downloads the JSON. It still does not sign.
Basic Usage
<TransactionReceipt
transactionId="TX-98765"
title="Wire Transfer Complete"
status="success"
timestamp="2026-03-19T14:30:00Z"
agentId="payment-agent-01"
hash="0xabcdef1234567890abcdef1234567890fedcba09"
lineItems={[
{ label: 'Amount', value: '$5,000.00', highlight: true },
{ label: 'From', value: 'Account ****4521' },
{ label: 'To', value: 'Account ****8903' },
]}
/>Solution Patterns
This component acts as the final terminal output of an OrchestratorView node, replacing a generic ArtifactCard when the event is financial or structurally immutable.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
transactionId | string | — | Unique identifier |
title | string | — | Title of the receipt |
status | 'success' | 'failed' | 'pending' | 'reverted' | 'success' | Current status |
timestamp | string | — | Completion timestamp |
lineItems | ReceiptLineItem[] | — | Key-value pairs of the transaction |
hash | string | — | Hash supplied by your backend. Display only. |
signature | string | — | Signature supplied by your backend. Display only. |
onVerify | (proof) => void | — | Your app's check for the displayed hash and signature. |
agentId | string | — | ID of the acting agent |
copyableHash | boolean | true | Allow copying the hash |
Design rationale
Why show a hash? A receipt is easier to trust when the backend's own proof is visible. TransactionReceipt displays the hash and signature you pass in. It does not compute them. Verification belongs in onVerify, which your app implements.
