datadictionary.org
Schema v1

Receipt

On-chain proof of a completed transaction. The receipt is the transaction.

protocol MAP
prefix 1PuQa7K62MiKCtssSLKy1kh56WWU7MtUR5
app qart
type receipt_v1

Fields

Name Type Required Description
app string yes Application identifier. Always "qart".
type string yes Schema type tag. Always "receipt_v1".
order_id string yes Order identifier from the issuing marketplace.
tx_id hex yes Transaction ID of the payment transaction.
amount_sats integer yes Total amount paid in satoshis.
buyer_pubkey hex yes Compressed public key of the buyer.
merchant_pubkey hex yes Compressed public key of the merchant.
timestamp integer yes Unix timestamp of payment confirmation.
signature hex no Merchant signature over the receipt hash.
receipt_hash hex no SHA-256 hash of the canonical receipt fields.

Wire format

OP_FALSE OP_RETURN
  1PuQa7K62MiKCtssSLKy1kh56WWU7MtUR5
  SET
  app             qart
  type            receipt_v1
  order_id        <uuid>
  tx_id           <hex>
  amount_sats     <integer>
  buyer_pubkey    <hex>
  merchant_pubkey <hex>
  timestamp       <unix_ts>
  [signature      <hex>]
  [receipt_hash   <hex>]

Design principle

The receipt is the transaction. The chain doesn’t attest that a payment happened — the receipt is the cryptographic proof. Grigg’s Triple Entry Accounting: buyer’s ledger, seller’s ledger, and the shared receipt on a neutral medium.