Your Web of Trust,
Everywhere
Take control of who you trust on Nostr. Build your own trust graph, carry it across every app, and define exactly what "trusted" means to you.
Your Web of Trust, available on every Nostr website
Once installed, any Nostr app can ask: "Is this person in my network?" No more rebuilding trust from scratch on every client. Your trust graph follows you.
// Check trust in any Nostr app
const trusted = await window.nostr.wot.isInMyWoT(pubkey);
const distance = await window.nostr.wot.getDistance(pubkey);
const score = await window.nostr.wot.getTrustScore(pubkey);Two ways to power your Web of Trust
Pick what fits your needs
Remote Oracle
Connect to a trusted WoT oracle server. Fast queries, zero storage, always up to date.
- Instant lookups (<50ms)
- No local storage required
- Default: nostr-wot.com (free)
- Or connect to self-hosted
Best for: Most users, mobile, low-storage devices
Local Graph
Build and store your trust graph entirely in your browser. Full privacy, works offline.
- Data never leaves your device
- Sync from relays you choose
- Works without internet
- Export/import your graph
Best for: Privacy maximalists, offline use, developers
Hybrid Mode
Best of both worlds. Check locally first, fall back to remote if needed.
- Fastest possible queries
- Privacy for close connections
- Full coverage via oracle
- Graceful offline fallback
Not all follows are equal
Define what trust means to you
How Trust Distance Works
Trusted
Score 0.7 – 1.0
Neutral
Score 0.3 – 0.7
Untrusted
Score 0 – 0.3
Distance Weights
Closer connections carry more weight
All weights are fully customizable in settings
Path Bonuses
Multiple connection paths increase trust
2-hop paths
Per additional connection path
3-hop paths
Per additional connection path
4+ hop paths
Per additional connection path
Maximum bonus
Caps total path bonus
Transparent. Auditable. Yours.
The Formula
score = baseScore × distanceWeight × (1 + pathBonus)
Example: Alice is 2 hops away with 3 connection paths (+30% bonus)
2 additional paths at 2 hops = 2 × 15% = 30% bonus
Fine-tune everything
Relay Selection
Sync Depth
More Options
Cache TTL
Results cached for 5 minutes
Blocklist
Force score to 0 for specific pubkeys
Trustlist
Override to always trust specific pubkeys
See your Web of Trust at a glance
Nodes in Graph
Connections
Cache Hit Rate
Avg Query
Your data, your rules
Remote Mode
Queries sent to oracle server
- No content data shared
- Only pubkey lookups
- No logging or tracking
Local Mode
Everything stays in your browser
- Zero external requests
- No tracking or analytics
- Export your data anytime
- Works completely offline
Up and running in minutes
Install the extension
Add to Chrome, Brave, Edge, or Opera
Enter your pubkey
Or connect with nos2x, Alby, or any NIP-07 signer
Choose your mode
Remote for speed, Local for privacy, or Hybrid for both
Customize scoring
Adjust trust weights to match your preferences
Browse Nostr
Your Web of Trust now follows you everywhere
Build WoT-aware Nostr apps
1 // Check if extension is available 2 if (window.nostr?.wot) { 3 // Simple boolean check 4 const inNetwork = await window.nostr.wot.isInMyWoT(pubkey, maxHops); 5 6 // Get exact distance (number of hops) 7 const hops = await window.nostr.wot.getDistance(pubkey); 8 9 // Get full trust score (0-1 based on distance + bonuses) 10 const score = await window.nostr.wot.getTrustScore(pubkey); 11 12 // Get detailed trust info (paths, mutual, bridging nodes) 13 const details = await window.nostr.wot.getDetails(pubkey); 14 15 // Get current extension configuration 16 const config = await window.nostr.wot.getConfig(); 17 }
Free. Forever. Open source.
Self-host the oracle, fork the extension, do whatever you want.