Verify Reputation DVM
This service returns reputation information about a pubkey, including a list of pubkeys who follow it sorted by an algorithm. Try it live here.
Example use-cases:
- Helping users assess the reputation of a npub
- Showing relevant followers of that npub
- Reducing the probability of successful impersonators
Kinds
- Request: 5312
- Response: 6312
- Error: 7000
Request parameters
Param | Type | Description | Default Value | Max |
---|---|---|---|---|
source |
string | The source pubkeys used for personalized algorithms | The pubkey signing the DVM request | 1 |
target (required) |
string | Pubkey the requester is interested in | - | 1 |
sort |
string | Algorithm used to sort results | globalPagerank |
1 |
limit |
int | Maximum number of results returned in a response | 5 |
1000 |
Pubkeys can be in either hex or npub format.
Sorting algorithms
We currently support the following algorithms:
globalPagerank
: Global PagerankpersonalizedPagerank
: Personalized Pagerank
If you are unsure about which one to use, read our FAQs
Request
Example nak command
nak event -k 5312 --tag param="source;04c915daefee38317fa734444acee390a8269fe5810b2241e5e6dd343dfbecc9" --tag param="sort;personalizedPagerank" --tag param="target;726a1e261cc6474674e8285e3951b3bb139be9a773d1acf49dc868db861a1c11" wss://relay.vertexlab.io
Example request event
{
"id": "07f071aa6945df0ed9c830314b99f5ea41afed3563efa193f712487d9e846d58",
"pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
"created_at": 1742485108,
"kind": 5312,
"tags": [
[
"param",
"source",
"04c915daefee38317fa734444acee390a8269fe5810b2241e5e6dd343dfbecc9"
],
[
"param",
"sort",
"personalizedPagerank"
],
[
"param",
"target",
"726a1e261cc6474674e8285e3951b3bb139be9a773d1acf49dc868db861a1c11"
],
],
"content": "",
"sig": "0cd00a0bca17eb89413f84d4e12d69ae8de2bb9fd1c61f7b6c33e4367135c32cebcd4dfa33cea25f28aa9c68854a50650013bcc4e83f8074ada3da4654b83967"
}
Response
The response is a standard DVM response which includes the corresponding e
and p
tags.
The content
field is a JSON-stringified array of objects formatted as:
Properties | Types | Description |
---|---|---|
{pubkey , rank } |
{string, float} | a nostr hex Pubkey along with its rank |
The first object is always the pubkey
and rank
of the target
, as well as its follows
and followers
counts (int
). The follower count does not take into account spammers or bots, as they do not pass our internal filters.
The subsequent pairs are the pubkeys
and ranks
of the top followers of target
(descending order), determined by the algorithm specified in the sort
parameter.
Example nak command
nak req -k 6312 -k 7000 --tag e=07f071aa6945df0ed9c830314b99f5ea41afed3563efa193f712487d9e846d58 wss://relay.vertexlab.io
Example response event
{
"id": "2ad269a0160b64682be86fd5f3b9d0b48587b450f7c1c6375573eddec60eb2d5",
"pubkey": "5fc48ac4765ff81e9c51014b9d2f2c91621370f4c6b5452a9c06456e4cccaeb4",
"created_at": 1742485108,
"kind": 6312,
"tags": [
[
"e",
"07f071aa6945df0ed9c830314b99f5ea41afed3563efa193f712487d9e846d58"
],
[
"p",
"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"
],
[
"sort",
"personalizedPagerank"
],
[
"source",
"04c915daefee38317fa734444acee390a8269fe5810b2241e5e6dd343dfbecc9"
]
],
"content":"[{\"pubkey\":\"726a1e261cc6474674e8285e3951b3bb139be9a773d1acf49dc868db861a1c11\",\"rank\":0.00034409542913234554,\"follows\":535, \"followers\":1978},{\"pubkey\":\"04c915daefee38317fa734444acee390a8269fe5810b2241e5e6dd343dfbecc9\",\"rank\":0.2365482693862695},{\"pubkey\":\"32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245\",\"rank\":0.002478020571038372},{\"pubkey\":\"6e468422dfb74a5738702a8823b9b28168abab8655faacb6853cd0ee15deee93\",\"rank\":0.0023286458111049426},{\"pubkey\":\"472f440f29ef996e92a186b8d320ff180c855903882e59d50de1b8bd5669301e\",\"rank\":0.002203277709017957},{\"pubkey\":\"3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d\",\"rank\":0.002197942896163192}]",
"sig": "d96ac2b173fcf693382b104d8276b94ee5a3ee32788fbc37d06367bfecf409f84dd1219c449d696bacce314be4a8bc01f3cd6c062cce3c98613a92f2aaa63c01"
}
Formatted content
JSON:
[
{
"pubkey": "726a1e261cc6474674e8285e3951b3bb139be9a773d1acf49dc868db861a1c11",
"rank": 0.00034409542913234554,
"follows": 535,
"followers": 1978
},
{
"pubkey": "04c915daefee38317fa734444acee390a8269fe5810b2241e5e6dd343dfbecc9",
"rank": 0.2365482693862695
},
{
"pubkey": "32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245",
"rank": 0.002478020571038372
},
{
"pubkey": "6e468422dfb74a5738702a8823b9b28168abab8655faacb6853cd0ee15deee93",
"rank": 0.0023286458111049426
},
{
"pubkey": "472f440f29ef996e92a186b8d320ff180c855903882e59d50de1b8bd5669301e",
"rank": 0.002203277709017957
},
{
"pubkey": "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d",
"rank": 0.002197942896163192
},
]
Example error response
{
"kind": 7000,
"id": "96f6eec0b3e410db91b85bee714740ec76ec64a9eb60a5503fee4dfc02047c1a",
"pubkey": "5fc48ac4765ff81e9c51014b9d2f2c91621370f4c6b5452a9c06456e4cccaeb4",
"created_at": 1738635799,
"tags": [
[
"status",
"error",
"badly formatted key: npub1"
],
[
"e",
"1cd2c73f53e602ae6f081997962bd43c730a565053080ab27ef7efb7335f7f49"
],
[
"p",
"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"
]
],
"content": "",
"sig": "6318c7ce6c57dd85779faadc4fed7733a1e50bd46205d52c96e535648dd2dd07e573e8d1fdef496d27014c80d1f2f604cb5337744d24000c00dde485ccdcf48c"
}