A clean, focused Nostr relay management application built with React and NIP-86 moderation tools.
npm run devOpen your browser to http://localhost:5173
- Secure login with browser extensions (Alby, nos2x, Flamingo)
- No private key handling in the app
- View real-time events from any Nostr relay
- Filter by event kind (text notes, profiles, reactions, etc.)
- Per-event moderation menu with NIP-86 actions:
- Allow/Ban individual events
- Add moderation reasons
- Copy event details
- Visual moderation status indicators
- Auto-refresh every 30 seconds
- Ban/allow events by ID
- View moderation queue
- Authenticated API calls with NIP-98
The app is designed around the Events & Moderation tab, which provides:
- Real-time event feed from your relay
- Dropdown moderation menu on each event with options to:
- Moderate the event (allow/ban)
- Copy event ID, pubkey, or full JSON
- Moderation dialog with:
- Action selection (Allow/Ban)
- Reason field
- Event details preview
- Status indicators showing which events are banned/pending
- Filtering options by event kind and limit
- Any public Nostr relay
- NIP-07 browser extension
- Relay that supports NIP-86 management API
- Your pubkey must be authorized as relay admin
- Relay must have CORS headers configured
- Install a NIP-07 extension (Alby recommended)
- Start the app with
npm run dev - Log in with your extension
- Enter your relay URL or use quick connect buttons
- Go to "Events & Moderation" tab
- Click the ⋮ menu on any event to moderate it
For Event Viewing (works with any relay):
wss://relay.damus.io- Popular, reliablewss://nos.lol- Community relaywss://relay.nostr.band- Feature-rich
For Full Management (requires NIP-86 support):
- Your own relay with NIP-86 implemented
- Must be configured with your pubkey as admin
- React 18 + TypeScript
- TailwindCSS + shadcn/ui components
- TanStack Query for data fetching
- Nostrify for Nostr protocol integration
- NIP-07 browser extension integration
- NIP-86 relay management API
- NIP-98 HTTP authentication
"Events not loading":
- Check relay URL is correct
- Try a different relay from quick connect
"Moderation not working":
- Ensure your relay supports NIP-86
- Verify your pubkey is authorized as admin
- Check browser console for CORS errors
"Login issues":
- Install a NIP-07 browser extension
- Refresh page after installation
This is a focused, minimal implementation that prioritizes:
- ✅ Working event moderation with NIP-86
- ✅ Clean, intuitive UI for relay operators
- ✅ Real-time event viewing and filtering
- ✅ Secure authentication with NIP-07
- ✅ Responsive design that works everywhere
The app is built to just work for the core use case of moderating events on your Nostr relay.