Depute

Transaction Receipt

Provenance receipt with verification hash for completed actions.

Answers: Transaction Receipt, Audit Triad.

Install

npx ax-depute@latest add transaction-receipt
pnpm dlx ax-depute@latest add transaction-receipt
yarn dlx ax-depute@latest add transaction-receipt
bunx ax-depute@latest add transaction-receipt

Overview

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.

Interactive StorybookView all states, toggle props, and test edge cases.

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

PropTypeDefaultDescription
transactionIdstring—Unique identifier
titlestring—Title of the receipt
status'success' | 'failed' | 'pending' | 'reverted''success'Current status
timestampstring—Completion timestamp
lineItemsReceiptLineItem[]—Key-value pairs of the transaction
hashstring—Hash supplied by your backend. Display only.
signaturestring—Signature supplied by your backend. Display only.
onVerify(proof) => void—Your app's check for the displayed hash and signature.
agentIdstring—ID of the acting agent
copyableHashbooleantrueAllow 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.

On this page