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.