🟧🖤ACReS - a NIP-15 proposed extension

Reviews are anchored to real commerce, public by default, and optionally sealed by sellers using cryptographic attestations using proposed event Kind 30021: Anchored Commerce Review ACReS (Anchored Commerce Review System) defines a trust‑forward, censorship‑resistant review layer for Nostr marketplaces.

Filing this in an article to put some of the research and concepts into motion. Thanks for all involved and for any advice on better ways to accomplish this. -Steve


Mockup

1️⃣ Add to Kinds section

### Kind 30021: Anchored Commerce Review

`kind:30021` defines a signed commerce review event anchored to a NIP-15
marketplace listing or order reference.

This event kind is intended to be used in conjunction with **NIP-59
Gift Wrap** to support privacy-preserving or pseudonymous reviews.

Clients and relays that do not recognize this kind MUST ignore it.

2️⃣ Add ACReS Overview subsection

## Anchored Commerce Review System (ACReS)

The Anchored Commerce Review System (ACReS) extends NIP-15 by defining a
verifiable review mechanism that is cryptographically anchored to
marketplace listings or orders.

ACReS is composed exclusively of:
- NIP-15 (Marketplace Events)
- NIP-59 (Gift Wrap)

No additional NIPs are required.

3️⃣ Event definition block

### Anchored Commerce Review Event

An Anchored Commerce Review is represented by a `kind:30021` event.

The event MAY be published publicly, or MAY be wrapped using NIP-59
to provide reviewer privacy.
{
  "kind": 30021,
  "created_at": "unix timestamp",
  "pubkey": "reviewer pubkey",
  "content": "review text",
  "tags": []
}

4️⃣ Required tags table

### Required Tags (kind:30021)

| Tag | Description |
|-----|-------------|
| `e` | Event ID of the NIP-15 listing or order being reviewed |
| `p` | Pubkey of the merchant or listing owner |
| `rating` | Integer rating value (recommended range 1–5) |
| `anchor` | Stable review anchor (SKU, order ID, or content hash) |

Example

"tags": [
  ["e", "listing_event_id"],
  ["p", "merchant_pubkey"],
  ["rating", "5"],
  ["anchor", "sku:survival-seasoning-batch-2"]
]

5️⃣ Optional tags block

### Optional Tags (kind:30021)

| Tag | Description |
|-----|-------------|
| `title` | Short review title |
| `quality` | Product quality rating |
| `delivery` | Delivery or fulfillment rating |
| `service` | Merchant service rating |
| `confidence` | Reviewer confidence score (0–100) |
| `proof` | Optional proof-of-purchase commitment |

6️⃣ NIP-59 Gift Wrap integration (key part)

### Gift-Wrapped Reviews (NIP-59)

When reviewer privacy is desired, the entire `kind:30021` event MUST be
wrapped using NIP-59.

Relays MUST treat wrapped review events as opaque payloads and MUST NOT
require decryption in order to accept or propagate them.

Wrapped example

{
  "kind": 1059,
  "content": "encrypted kind:30021 event",
  "tags": [
    ["p", "recipient_pubkey"],
    ["kind", "30021"]
  ]
}

7️⃣ Relay behavior section

### Relay Behavior

Relays that support NIP-15 marketplaces:

- SHOULD index `kind:30021` events
- SHOULD associate reviews with referenced listings
- MUST NOT reject gift-wrapped reviews

Relays MAY provide aggregated rating metadata as a non-consensus feature.

8️⃣ Client behavior section

### Client Behavior

Marketplace clients implementing ACReS:

- SHOULD display aggregated review data per listing
- SHOULD indicate whether a review is public or gift-wrapped
- MUST respect NIP-59 encryption boundaries

9️⃣ Spam & abuse mitigation (lightweight, non-authoritative)

### Spam Considerations

ACReS does not mandate global enforcement.

Clients and relays MAY apply heuristics such as:
- One review per anchor
- Optional proof-of-purchase commitments
- Temporal or reputation-based weighting

🔟 Compatibility note (important for reviewers)

### Backwards Compatibility

This extension does not alter existing NIP-15 behavior.

Clients and relays unaware of `kind:30021` will safely ignore review
events without impact.

No comments yet.

Highlights (1)

Filing this in an article to put some of the research and concepts into motion. Thanks for all involved and for any advice on better ways to accomplish this. -Steve

Filing this in an article to put some of the research and concepts into motion. Thanks for all involved and for any advice on better ways to accomplish this. -Steve