Nostr Links is a fully decentralized profile platform for bitcoiners powered by Nostr. No servers, no databases, no centralized control - your data lives on the Nostr network where you own it completely.
Think of it as a decentralized Linktree where bitcoiners can showcase their content, social links, and receive Lightning payments - all stored permanently on Nostr relays worldwide.
- 🚀 Fully Decentralized: No servers, no databases - data lives on Nostr
- 🔐 Self-Sovereign: You own your data, you control your identity
- ⚡ Lightning Fast: Real-time updates via Nostr subscriptions
- 🎨 Beautiful Profiles: 20+ customizable themes across 6 categories
- ⚡ Lightning Zaps: Instant Bitcoin payments via Lightning Network
- 🔗 Link Management: Drag-and-drop link organization with rich previews
- 🛡️ Censorship Resistant: Your content can't be taken down
- 🎭 Theme Customization: Minimal, Vibrant, Professional, Creative, Retro, and Futuristic themes
- 🔄 Real-time Updates: Live profile updates across all connected clients
- Node.js 18+
- npm or pnpm
- Nostr-compatible browser extension (like Alby, Nos2x, or Flamingo)
- Clone the repository:
git clone https://github.com/your-username/nostr-links.git
cd nostr-links- Install dependencies:
npm install- Start the development server:
npm run devVisit http://localhost:3000 to see your decentralized app running!
- Next.js 15 - React framework with App Router
- Nostr - Decentralized social protocol
- Nostr Tools - Nostr protocol utilities
- NDK - Nostr Development Kit
- Tailwind CSS - Styling with custom theme system
- TypeScript - Type safety
- React Hook Form - Form management
- Zod - Schema validation
- Radix UI - Accessible UI components
- Alby Lightning Tools - Lightning Network integration
- NIP-01 Events: Basic profile metadata and posts
- NIP-05 Verification: Human-readable identifiers
- NIP-07 Browser Extension: Seamless Nostr authentication
- Real-time Subscriptions: Live profile updates
- Relay Redundancy: 7+ Nostr relays for reliability
- Lightning Integration: Zap payments via Lightning Network
- Install a Nostr browser extension (Alby, Nos2x, Flamingo)
- Generate or import your Nostr keypair
- Nostr Links connects directly to the Nostr network
- Your Nostr public key becomes your unique identifier
- Add a display name, bio, and profile picture
- Set up your Lightning address for zaps
- Choose from 20+ themes across 6 categories
- Select from Minimal, Vibrant, Professional, Creative, Retro, or Futuristic themes
- Each theme includes custom colors, fonts, effects, and animations
- Preview your profile in real-time
- Add links to your Bitcoin content, social media, and projects
- Rich previews with automatic metadata extraction
- Drag-and-drop organization with custom positioning
- Support for various link types and wallet addresses
- Your profile URL:
this.site/{nprofile} - NIP-05 identifier support for human-readable addresses
- Share on social media, embed in websites
- Fellow bitcoiners can zap you with predefined amounts (21, 100, 500, 1000, 2100 sats)
- Custom zap amounts up to 1,000,000 sats
- Instant Lightning Network payments
- No fees, no intermediaries
- Profile data stored on Nostr relays worldwide
- No company can delete your account or content
- Export your data anytime, migrate to any Nostr client
- Content distributed across multiple relays
- No single point of failure
- Resilient to platform shutdowns
- No tracking, no analytics, no data collection
- Connect directly to Nostr relays
- Your keys, your control
- No server maintenance or downtime
- Content available as long as Nostr relays exist
- Decentralized hosting means no hosting costs
npm run dev- Start development server with Turbonpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run lint:fix- Fix ESLint errors automaticallynpm run typecheck- Run TypeScript compiler checknpm run check- Run both linting and type checkingnpm run format:check- Check code formattingnpm run format:write- Format code automatically
The app connects to multiple Nostr relays for redundancy:
wss://relay.damus.iowss://nos.lolwss://relay.snort.socialwss://relay.primal.netwss://purplepag.eswss://nostr-pub.wellorder.netwss://relay.nostr.band
Only one optional environment variable:
NEXT_PUBLIC_NOSTR_RELAYS="wss://your-relay.com,wss://another-relay.com"The application includes a comprehensive theme system with:
- 6 Theme Categories: Minimal, Vibrant, Professional, Creative, Retro, Futuristic
- 20+ Pre-built Themes: Each with unique styling and effects
- Custom CSS Classes: Advanced styling capabilities
- Real-time Preview: See changes instantly
- Responsive Design: Themes adapt to all screen sizes
- Nostr Protocol - The decentralized social protocol
- NIPs - Nostr Improvement Proposals
- Alby - Popular Nostr browser extension
- Damus - Popular Nostr client for iOS/Android
- Lightning Network - Bitcoin's layer 2 scaling solution
- NDK Documentation - Nostr Development Kit
- Nostr Tools - Nostr protocol utilities