Sign In

nostr-wot-sdk

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nostr-wot-sdk

Meta-package re-exporting the @nostr-wot/* family (wot, relay, data, signers, ui, dm, wallet, auth, blossom) under subpaths. Existing imports keep working; new code should depend on the scoped packages directly.

latest
Source
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

nostr-wot-sdk

Meta-package and unified React provider for the @nostr-wot/* family. Re-exports every scoped package, plus the recommended top-level <NostrSdkProvider> that wires up the data layer and (optionally) WoT context with one component.

Install

npm i nostr-wot-sdk

This installs the meta and pulls in the scoped packages as transitive deps. New code can also depend on the scoped packages directly:

npm i @nostr-wot/data
npm i @nostr-wot/dm
npm i @nostr-wot/wot
npm i @nostr-wot/relay
npm i @nostr-wot/signers
npm i @nostr-wot/blossom
npm i @nostr-wot/wallet
import { NostrSdkProvider } from "nostr-wot-sdk/react";

<NostrSdkProvider
  relays={["wss://relay.damus.io", "wss://nos.lol"]}
  profileAggregators={["wss://purplepag.es"]}
  persistence={{ namespace: "myapp", ttlMs: 86400_000 }}
  wot={{ enabled: true, options: { maxHops: 2 } }}
>
  <App />
</NostrSdkProvider>;

<NostrSdkProvider> is the recommended root for any app using the SDK. It composes:

  • <NostrDataProvider> from @nostr-wot/data/react — configures default relays, profile aggregators, and SWR cache persistence
  • <WoTProvider> from @nostr-wot/wot/react (only when wot.enabled: true) — provides WoT scoring context

WoT hooks (useWoT, useIsInWoT, useBatchWoT) require wot.enabled: true. Data hooks (useProfile, useNote, useThread, …) work either way.

Re-export map

Import from nostr-wot-sdkEquivalent scoped package
nostr-wot-sdk@nostr-wot/wot
nostr-wot-sdk/react@nostr-wot/wot/react + @nostr-wot/data/react + <NostrSdkProvider>
nostr-wot-sdk/relay@nostr-wot/relay
nostr-wot-sdk/relay/react@nostr-wot/relay/react
nostr-wot-sdk/data@nostr-wot/data
nostr-wot-sdk/data/cache@nostr-wot/data/cache
nostr-wot-sdk/signers@nostr-wot/signers
nostr-wot-sdk/ui@nostr-wot/ui
nostr-wot-sdk/dm@nostr-wot/dm
nostr-wot-sdk/dm/react@nostr-wot/dm/react
nostr-wot-sdk/wallet@nostr-wot/wallet
nostr-wot-sdk/wallet/react@nostr-wot/wallet/react
nostr-wot-sdk/auth@nostr-wot/auth
nostr-wot-sdk/blossom@nostr-wot/blossom

The whole family is surfaced through this meta, so you can either import via a subpath or depend on the scoped package directly:

import { Nip07Signer } from "nostr-wot-sdk/signers";
import { sealAndGiftWrap } from "nostr-wot-sdk/dm";
import { useDMSession } from "nostr-wot-sdk/dm/react";
import { uploadToBlossom } from "nostr-wot-sdk/blossom";
import { NwcClient, requestZapInvoice } from "nostr-wot-sdk/wallet";

Note: @nostr-wot/ui's stylesheet is not re-exported — import it from the scoped package directly: import "@nostr-wot/ui/styles.css". The framework-specific @nostr-wot/auth/next and @nostr-wot/auth/client entries are likewise only available on the scoped package.

Architecture

                 ┌────────────────────┐
                 │   Your app         │
                 └─────────┬──────────┘
                           │
                 ┌─────────▼──────────┐
                 │ <NostrSdkProvider> │  ← unified config
                 └─────────┬──────────┘
            ┌──────────────┼─────────────┐
            ▼              ▼             ▼
      data fetchers   WoT scoring    DM cache
            │              │             │
            └──────────────┼─────────────┘
                           ▼
                ┌──────────────────┐
                │ shared SimplePool│  ← one set of WebSocket
                └──────────────────┘     connections

Every @nostr-wot/* package shares the same connection pool via getPool() / setPool() from @nostr-wot/data. Subscribe-once-fan-out-everywhere is enforced by sharedCoalescer, so DM inbox, profile reads, follower lists, and engagement queries are all coalesced on the wire.

Per-package docs

  • @nostr-wot/data — fetchers, cache, hooks
  • @nostr-wot/relay — pool, batcher, stats
  • @nostr-wot/signers — NIP-07/46 + private key
  • @nostr-wot/dm — NIP-04, NIP-17, cache, hooks
  • @nostr-wot/blossom — uploads
  • @nostr-wot/wallet — NWC + zaps
  • @nostr-wot/wot — Web-of-Trust scoring

License

MIT

Keywords

nostr

FAQs

Package last updated on 16 Aug 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts