Open infrastructure for trust-based filtering on Nostr.
Your identity, your trust network, your wallet — one ecosystem.
Nostr has no central authority to filter spam or verify identity. Web of Trust solves this by measuring social distance — how many hops separate you from someone in the follow graph.
You → follows → 1 hop (trusted)
→ their follows → 2 hops (known)
→ their follows → 3+ hops (probably noise)
No blocklists. No moderators. Just your social graph doing the filtering.
A complete Nostr identity provider, Lightning wallet, and Web of Trust engine — all in one extension.
| Feature | Description |
|---|---|
| NIP-07 Signer | Sign events, encrypt messages (NIP-04 & NIP-44) on any Nostr client |
| Encrypted Vault | AES-256-GCM key storage with auto-lock and secure backup |
| Multi-Account | HD derivation, watch-only, remote signer (NIP-46) |
| Lightning Wallet | Built-in wallet for zaps via NWC, LNbits, or one-click setup |
| Trust Badges | Color-coded trust indicators injected into Nostr sites |
| WebLN Provider | Sites can request payments through window.webln |
| 6 Languages | EN, ES, PT, DE, FR, IT |
Works on Chrome, Brave, Edge, Opera, and Firefox.
Integrate Web of Trust into any JavaScript or TypeScript application.
npm install nostr-wot-sdkimport { NostrWoT } from 'nostr-wot-sdk'
const wot = new NostrWoT({ userPubkey: '...' })
const score = await wot.getTrustScore(pubkey)Extension-first design — uses the browser extension when available, falls back to the Oracle. Includes React hooks (WoTProvider, useWoT).
High-performance Rust backend that indexes the entire Nostr follow graph and serves trust queries via REST API.
- 10,000+ queries/second with sub-millisecond cached responses
- Bidirectional BFS across millions of nodes
- 100% self-hostable — run your own instance for full control
- Public instance: wot-oracle.mappingbitcoin.com
curl "https://wot-oracle.mappingbitcoin.com/distance?from=PUBKEY_A&to=PUBKEY_B"// Extension — client-side
await window.nostr.wot.getDistance(pubkey)
await window.nostr.wot.getTrustScore(pubkey)
// SDK — client or server
const wot = new NostrWoT({ userPubkey: '...' })
await wot.getTrustScore(pubkey)# Oracle — REST
GET /distance?from={pubkey}&to={pubkey}
POST /distance/batch
GET /stats- Spam filtering without centralized blocklists
- Trust scores for marketplaces and reviews
- Smart notifications prioritized by social proximity
- Content discovery surfacing notes from your extended network
| Project | Description |
|---|---|
| mappingbitcoin.com | Bitcoin merchant directory with WoT-based trust filtering |
| Organization | Website |
|---|---|
| Dandelion Labs | dandelionlabs.io |
| MappingBitcoin | mappingbitcoin.com |
- Install the extension from the Chrome Web Store
- Set up your account — create keys, import nsec, or connect via NIP-46
- Browse Nostr — your identity and trust network follow you everywhere
Everything is open source under the MIT License. Run your own oracle, fork the extension, build trust infrastructure for your community.