Score up to 100 pubkeys in a single request. Returns score, found status, and follower count for each.
Request Body (JSON)
pubkeysstring[]Array of hex pubkeys or npubs (max 100) required
Example
curl -X POST "https://wot.klabo.world/batch" \
-d '{"pubkeys":["82341f...","32e18..."]}'
Personalized
Trust scoring relative to a viewer's perspective, based on follow graph proximity.
GET/personalized2 sats
Personalized trust score blending 50% global PageRank with 50% follow-graph proximity. Shows mutual follows, shared connections, and trusted followers of the target.
Find users with similar follow patterns using Jaccard similarity (70% follow overlap + 30% WoT score).
Parameters
pubkeystringReference pubkey required
limitintResults to return (1-50, default 20)
GET/recommend2 sats
Friends-of-friends follow recommendations. Shows people your follows trust that you don't yet follow, ranked by mutual connection count.
Parameters
pubkeystringYour pubkey required
limitintResults (1-50, default 20)
GET/compare2 sats
Compare two pubkeys: relationship type, shared follows/followers, follow similarity (Jaccard), trust path between them, and full profile stats.
Parameters
astringFirst pubkey required
bstringSecond pubkey required
Graph
Explore the follow graph structure: trust paths, neighborhoods, and visualizations.
GET/graphFREE
Two modes: Trust Path (shortest path between two pubkeys via BFS, max 6 hops) or Neighborhood (local follow network around a pubkey).
Path Mode
fromstringSource pubkey required
tostringTarget pubkey required
Neighborhood Mode
pubkeystringCenter pubkey required
depthintGraph depth (1-2, default 1)
limitintMax neighbors (1-200, default 50)
GET/weboftrust3 sats
D3.js-compatible force-directed graph data centered on a pubkey. Returns nodes with group classification (center/follow/follower/mutual) and edges for visualization.
Batch NIP-05 resolution for up to 50 identifiers with concurrent DNS lookups.
Request Body (JSON)
identifiersstring[]Array of NIP-05 identifiers (max 50) required
GET/nip05/reverse2 sats
Reverse NIP-05 lookup: given a pubkey, fetch their profile from relays, extract their NIP-05 claim, then verify it resolves back (bidirectional verification).
Parameters
pubkeystringHex pubkey or npub required
Temporal
Time-aware trust scoring and historical analysis.
GET/timeline2 sats
Historical trust growth timeline. Uses follow timestamps to reconstruct month-by-month follower accumulation with growth velocity and estimated scores.
Top pubkeys by time-decayed score. Shows rank changes vs static PageRank — identifies accounts gaining or losing trust momentum.
Parameters
half_lifeintHalf-life in days (1-3650, default 365)
limitintResults (1-200, default 50)
Moderation
Spam detection using multi-signal WoT-based analysis.
GET/spam2 sats
Multi-signal spam probability analysis. Combines WoT score, follow ratio, account age, engagement, reports, and activity patterns into a 0-100% spam probability with detailed signal breakdown.
Verify a NIP-85 kind 30382 assertion from any provider against our graph data. Checks cryptographic signature, then cross-references claimed rank and follower count. Returns verdict: consistent, divergent, unverifiable, or invalid.
Request Body (JSON)
eventNostr EventA kind 30382 event with id, pubkey, created_at, kind, tags, content, sig required
Sybil detection and resistance scoring for relay operators. Combines five graph analysis signals into a single actionable score.
GET/sybil3 sats
Computes a Sybil resistance score (0-100, where 100 = most genuine) by analyzing five signals: follower quality, mutual trust, score-rank consistency, follower diversity, and account substance. Returns a classification (genuine, likely_genuine, suspicious, likely_sybil), confidence level, and full signal breakdown. Designed for relay operators to gate access or filter content.
Parameters
pubkeystringHex pubkey or npub to analyze required
Batch Sybil resistance scoring for up to 50 pubkeys. Uses simplified scoring for performance. Results sorted by sybil_score ascending (most suspicious first). Useful for relay operators filtering event streams or moderating communities.
Request Body
pubkeysstring[]Array of hex pubkeys or npubs (max 50) required
Multi-hop trust path analysis. Find and score the trust connections between any two pubkeys through the follow graph.
GET/trust-path5 sats
Finds multiple trust paths between two pubkeys, scores each path by trust attenuation (product of WoT scores along hops with mutual-follow bonus), identifies weakest links, and combines independent paths for overall trust assessment. Returns classification: strong, moderate, weak, or none.
Parameters
fromstringSource hex pubkey or npub required
tostringTarget hex pubkey or npub required
max_pathsintMaximum paths to find (1-5, default 3)
Comprehensive reputation profiles. A single endpoint that combines WoT standing, Sybil resistance, community integration, anomaly cleanliness, and network diversity into one reputation grade (A-F).
GET/reputation5 sats
Composite reputation score (0-100) combining five dimensions: WoT standing (PageRank percentile), Sybil resistance (follower quality + mutual trust), community integration (cluster membership), anomaly cleanliness (absence of manipulation flags), and network diversity (follower spread). Returns letter grade (A-F), classification, confidence, and per-component breakdown.
Graph-theoretic link prediction. Estimate the likelihood of a follow relationship forming between any two pubkeys using five complementary signals from the social graph.
GET/predict3 sats
Predict whether source will follow target using five signals: Common Neighbors (shared connections), Adamic-Adar Index (rarity-weighted common connections), Preferential Attachment (degree product), Jaccard Coefficient (neighborhood overlap), and WoT Score Proximity (trust score similarity). Returns prediction (0-1), confidence, classification, per-signal breakdown, and top mutual connections.
What-if analysis for graph changes. Simulate a follow or unfollow and see how PageRank scores cascade through the network.
GET/influence5 sats
Differential PageRank analysis: simulate a follow/unfollow and see which pubkeys are most affected. Returns the target's score change, the top 20 most-affected pubkeys with their score deltas, and summary metrics including influence radius and classification.
Parameters
pubkeystringThe pubkey being followed/unfollowed required
otherstringThe pubkey performing the action required
Mutual-follow trust circle analysis. Discover a pubkey's closest trusted connections and how tightly connected they are.
GET/trust-circle5 sats
Analyzes the trust circle (mutual follows) for a pubkey. Returns per-member trust scores, shared follow counts, mutual strength metrics, and aggregate circle analytics including cohesion (mutual interconnection), density (directed edge coverage), role distribution, and an inner circle of the top 10 most-trusted connections.
Parameters
pubkeystringHex pubkey or npub to analyze required
Compares the trust circles of two pubkeys. Returns overlapping members (trusted by both), unique members (trusted by only one), and a compatibility score (0-100) based on circle overlap, shared follows, and WoT quality. Perfect for "how compatible are these two users?" or "who do we both trust?"
Analyze the quality and health of a pubkey's follow list. Help users curate better follow lists.
GET/follow-quality5 sats
Evaluates the quality of who a pubkey follows. Scores each follow by trust score and categorizes into tiers (strong/moderate/weak/unknown). Returns an overall quality score (0-100), breakdown metrics (average trust, reciprocity, diversity, signal ratio), and suggests low-quality follows to reconsider.
Parameters
pubkeystringHex pubkey or npub to analyze required
suggestionsintegerMax low-quality suggestions (default 10, max 50)
Response
{
"pubkey": "32e1827635...",
"trust_score": 78,
"follow_count": 342,
"quality_score": 67,
"classification": "good",
"breakdown": {
"avg_trust_score": 28.4,
"median_trust_score": 24,
"diversity": 0.812,
"reciprocity": 0.623,
"signal_ratio": 0.891
},
"categories": {
"strong": 45,
"moderate": 128,
"weak": 132,
"unknown": 37
},
"suggestions": [
{
"pubkey": "abc123...",
"trust_score": 0,
"reason": "not found in trust graph — may be inactive or a ghost account; does not follow you back"
},
{
"pubkey": "def456...",
"trust_score": 3,
"reason": "very low trust score (3) — minimal network presence"
}
],
"graph_size": 51319
}
Network Health
Graph topology analysis and overall network health assessment.
GET/network-health5 sats
Comprehensive network topology health analysis. Computes degree distribution, connectivity (weakly connected components), reciprocity (mutual follows), Gini coefficient of score centralization, power-law exponent, and top network hubs. Returns an overall health score (0-100) and classification.
Compare WoT scores from multiple independent NIP-85 providers to assess consensus.
GET/compare-providers?pubkey=<hex|npub>5 sats
Returns trust scores for a pubkey from our engine and all known external NIP-85 providers. Includes consensus metrics (mean, median, standard deviation, min/max spread, and agreement level). Demonstrates NIP-85 interoperability — different providers independently scoring the same pubkey.
WebSocket endpoint for live score updates pushed after each graph recomputation.
WS/ws/scoresFREE
Subscribe to real-time score updates for specific pubkeys. After connecting, send a subscribe message with pubkeys to watch. You'll receive current scores immediately, then updated scores after each graph recomputation (~6 hours).
Event-level and metadata scoring for NIP-85 assertions.
GET/metadataFREE
Full NIP-85 engagement metadata: posts, replies, reactions, zaps sent/received, and first event timestamp.
Parameters
pubkeystringHex pubkey or npub required
GET/eventFREE
Engagement score for a specific Nostr event (kind 30383): comments, reposts, reactions, zaps.
Parameters
idstringEvent ID (hex) required
GET/externalFREE
External identifier scores (NIP-73, kind 30385). Without an id parameter, returns top 50 identifiers. With id, returns the specific identifier's engagement data.
Parameters
idstringExternal identifier (optional — omit for top 50)
Ranking
GET/topFREE
Top 50 most-trusted pubkeys by PageRank with normalized scores and follower counts.
GET/exportFREE
Export all pubkeys and scores as a JSON array. Full graph dump for offline analysis.
Infrastructure
GET/relayFREE
Relay trust score combining infrastructure metrics from trustedrelays.xyz (70%) with operator WoT score (30%). Includes uptime, quality, and accessibility data.