Nostr WoT
WoT Extension Features

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.

Universal WoT API

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.

PrimalCoracleSnortHablaYakihonne+ any app with API
javascript
// 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);
Choose Your Source

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

Recommended

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
Custom Trust Scoring

Not all follows are equal

Define what trust means to you

How Trust Distance Works

You
Your pubkey
1
Direct
2
Friend of Friend
3+
Distant

Trusted

Score 0.7 – 1.0

Neutral

Score 0.3 – 0.7

Untrusted

Score 0 – 0.3

Distance Weights

Closer connections carry more weight

1 hop
100%
2 hops
50%
3 hops
25%
4+ hops
10%

All weights are fully customizable in settings

Path Bonuses

Multiple connection paths increase trust

2-hop paths

Per additional connection path

+15%

3-hop paths

Per additional connection path

+10%

4+ hop paths

Per additional connection path

+5%

Maximum bonus

Caps total path bonus

50%
Scoring Formula

Transparent. Auditable. Yours.

The Formula

score = baseScore × distanceWeight × (1 + pathBonus)

Example: Alice is 2 hops away with 3 connection paths (+30% bonus)

1.0×0.5×(1 + 0.30)=0.65

2 additional paths at 2 hops = 2 × 15% = 30% bonus

Advanced Settings

Fine-tune everything

Relay Selection

wss://relay.damus.io
wss://nos.lol
wss://relay.nostr.band
wss://relay.mappingbitcoin.com

Sync Depth

1 hop
~500 nodes(~1 MB)
2 hops
~50K nodes(~50 MB)
3 hops
~500K nodes(~500 MB)

More Options

Cache TTL

Results cached for 5 minutes

Blocklist

Force score to 0 for specific pubkeys

Trustlist

Override to always trust specific pubkeys

Dashboard

See your Web of Trust at a glance

12,847

Nodes in Graph

89,421

Connections

94%

Cache Hit Rate

3ms

Avg Query

Last sync: 2 hours ago
Privacy

Your data, your rules

Remote Mode

Queries sent to oracle server

  • No content data shared
  • Only pubkey lookups
  • No logging or tracking
Maximum Privacy

Local Mode

Everything stays in your browser

  • Zero external requests
  • No tracking or analytics
  • Export your data anytime
  • Works completely offline
Get Started

Up and running in minutes

1

Install the extension

Add to Chrome, Brave, Edge, or Opera

2

Enter your pubkey

Or connect with nos2x, Alby, or any NIP-07 signer

3

Choose your mode

Remote for speed, Local for privacy, or Hybrid for both

4

Customize scoring

Adjust trust weights to match your preferences

5

Browse Nostr

Your Web of Trust now follows you everywhere

API for Developers

Build WoT-aware Nostr apps

javascript
1// Check if extension is available
2if (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.