↗ RateThis.infoBack to publisher
FOR CLIENT DEVELOPERS

Rating format v4

This publisher emits regular Nostr text-note events (kind 1) with application-specific tags. This is an experimental RateThis.info convention, not a standardized rating NIP. Other clients can query the indexed t and r tags and interpret the remaining fields.

{
  "kind": 1,
  "created_at": 1791741600,
  "tags": [
    ["t", "ratechain-rating"],
    ["r", "https://example.com/"],
    ["target", "resource"],
    ["dimension", "usefulness"],
    ["schema", "ratechain-rating/v4"],
    ["rating", "2", "-3", "3"],
    ["category", "very-helpful"]
  ],
  "content": "Usefulness: Very helpful (+2)\nhttps://example.com/"
}

The signer adds pubkey, id, and sig. Each numerical score identifies an ordered category; equal numerical steps do not claim equal psychological distances or measured utility. Aggregators choose their own value mapping, penalties, and trust weights.

ScoreCategoryLabel
+3extremely-helpfulExtremely helpful
+2very-helpfulVery helpful
+1helpfulHelpful
0neutralNeutral
−1not-helpfulNot helpful
−2misleadingMisleading
−3harmfulHarmful

Neutral and omission

Zero means the reviewer has seen the resource, has no opinion as to its usefulness, and does not consider it harmful. It is an explicit numerical assessment, distinct from no observation.

If the reviewer does not want to rate a resource, no event is published. There are seven numerical categories, with no separate uncertainty state and no additional flags. Optional explanation follows a blank line in content.

Reviewer targets

A reviewer assessment uses ["target", "reviewer"], ["p", "<32-byte lowercase hex public key>"], and ["dimension", "review-usefulness"] instead of a URL r tag. The event pubkey remains the author making the assessment. The target public key is the reviewer being assessed, never their private key. npub, nprofile, nostr: public-ID URIs, and hex inputs are normalized to the same target public key.

The same seven categories describe how useful the target reviewer's reviews are to the author. This is raw assessment data for later chained aggregation; the publisher computes no reputation or trust weights.

Objects and updates

URL identity uses the browser URL serializer. Query parameters and fragments are retained; there is no content fingerprint or automatic tracking-parameter removal. Consumers wanting equivalent-URL grouping must define their own rules.

Every publication is a regular event. For a current assessment, select the latest created_at for each (author pubkey, target type, target identifier, dimension, schema), breaking equal timestamps by the lexically lowest event ID. Relays may retain all publications; this publisher does not delete old events.

Version compatibility

v4 adds explicitly typed resource and reviewer targets. Resource scores retain v3 meanings. Earlier v1 events used 0–100, and v2 used −3…+3 with different neutral semantics and additional states. Preserve the meanings of older events.

Discover ratings

{"kinds":[1],"#t":["ratechain-rating"],"#r":["https://example.com/"]}

For reviewer assessments, use #p with the target hex key instead of #r, then validate target and dimension tags.

Verify signatures and validate the schema and tags before processing. Preserve the category distribution, positive/negative evidence, and amount of evidence rather than only a mean. A relay OK response confirms acceptance, not indefinite storage or delivery to every reader.

Signer support

This version supports NIP-07 browser signers and NIP-46 remote signers through bunker:// connection links. Private identity keys and drafts are not stored. The combined reader stores public reviewer identities and verified ratings in this browser using IndexedDB. Successfully published ratings are also saved locally for reading. Browser storage can be cleared; the reader offers backup export and import. Ratings are public and selected relay operators may retain connection metadata. Remote connections use an ephemeral client key kept in memory and discarded on disconnect or reload. The bunker transport key is distinct from the author identity key returned by get_public_key.