On Thursday Feb 12 at 8am PST, I'm presenting the NIP-85 WoT Scoring Engine at the WoT-a-thon on Zap.Stream. Here's exactly what you'll see — and you can try it all right now at wot.klabo.world/demo.
The Dashboard
Paste any npub or hex pubkey into the search bar. The page fires 10+ API calls in parallel and renders 13 analysis cards. One card (Network Health) loads automatically — no pubkey needed.
Card by Card
1. Network Health (auto-loads)
Graph-wide stats: 51,551 nodes, 622,402 edges, Gini coefficient 0.049 (extremely decentralized), power-law alpha 2.0, single connected component. This gives visitors an impressive first impression before they even search.
2. Trust Score
PageRank-based trust scoring normalized 0-100. jb55 scores 18 (rank #3 of 51K, 99.99th percentile). The raw PageRank score is 0.000084 — normalization makes it human-readable.
3. Score Audit
"Why this score?" Breaks down the PageRank calculation: algorithm, damping factor (0.85), iterations (20), top followers with their scores, and your percentile. Transparency builds trust in the scoring.
4. Sybil Detection
5-signal sybil resistance analysis: follower quality (30% weight), mutual trust (25%), score consistency (15%), follower diversity (15%), account substance (15%). Each signal catches a different Sybil strategy. jb55 scores 64/100 (likely_genuine).
5. Trust Circle
Your mutual follows — the people who follow you AND you follow back. Shows circle size, cohesion (fraction of mutual pairs who know each other), and density. jb55 has 768 mutual connections.
6. Trust Circle Compare
Compare two people's trust circles. See shared connections, unique connections, Jaccard similarity, and a compatibility score. "How compatible are jb55 and fiatjaf?" is a compelling live query.
7. Follow Quality
How healthy is your follow list? Breaks down by active/inactive/ghost followers, diversity score (Shannon entropy), and suggestions for who to unfollow. Useful for follow-list hygiene.
8. Recommended Follows
Friends-of-friends with mutual connection counts. The classic "people you may know" feature, built on graph topology instead of algorithmic manipulation.
9. Spam Detection
Anomaly signals that flag suspicious behavior. Checks follow patterns, engagement ratios, and network positioning against the graph baseline.
10. Anomaly Detection
Broader anomaly analysis: accounts that deviate significantly from expected graph patterns. Different from sybil — this catches legitimate accounts with unusual characteristics too.
11. Trust Path Finder
Find the trust chain between any two pubkeys. Shows hop-by-hop traversal with trust scores at each step. Trust attenuates over distance: direct connections are strongest.
12. Link Prediction
Should you follow this person? 5 topology signals: Common Neighbors, Adamic-Adar, Preferential Attachment, Jaccard, WoT Proximity. Each catches different connection patterns.
13. What If? (Influence Simulation)
My favorite card. Simulate a follow/unfollow and see how it ripples through the graph. jb55 unfollowing fiatjaf affects 12,506 accounts out of 51K. This runs a full differential PageRank — actual graph computation, not an estimate.
Under the Hood
The engine is a single Go binary running on a home server. It crawls Nostr relays continuously, builds an in-memory graph, runs 20 iterations of PageRank, and publishes scores as NIP-85 trust assertions (all 5 kinds).
49 API endpoints. 493 tests. L402 paywall (50 free requests/day, then pay per query via Lightning). Full Swagger UI docs.
Zero hosting cost, zero dependencies on external services, fully self-hosted.
Try It Now
wot.klabo.world/demo — paste your npub and explore.
Watch the live presentation Thursday Feb 12, 8am PST on Zap.Stream / nosfabrica.
Source: github.com/joelklabo/nostr-wot (client SDK)
API docs: wot.klabo.world/swagger