# Nostr Paywall A Nostr-based article platform with free previews and paid content. Users can read article previews for free and unlock full content by sending a 800 sats zap via Lightning Network. ## Features - **NostrConnect Integration**: Authenticate using NostrConnect (default: use.nsec.app) - **Free Previews**: Public notes showing article previews - **Paid Content**: Private notes containing full content, unlocked after 800 sats zap - **Lightning Payments**: Integrated Alby/WebLN for Lightning payments (works with Alby and other Lightning wallets) - **Payment Modal**: User-friendly payment interface with invoice display - **TypeScript**: Fully typed codebase ## Getting Started 1. Install dependencies: ```bash npm install ``` 2. Run the development server: ```bash npm run dev ``` 3. Open [http://localhost:3000](http://localhost:3000) in your browser ## Environment Variables - `NEXT_PUBLIC_NOSTR_RELAY_URL`: Nostr relay URL (default: wss://relay.damus.io) - `NEXT_PUBLIC_NOSTRCONNECT_BRIDGE`: NostrConnect bridge URL (default: https://use.nsec.app) ## Lightning Wallet Setup This project uses the WebLN standard for Lightning payments, which works with: - **Alby** (recommended): Install the [Alby browser extension](https://getalby.com/) - Other WebLN-compatible Lightning wallets Users need to have a Lightning wallet extension installed to make payments. The payment flow will prompt them to connect their wallet when needed. ## Project Structure - `/pages`: Next.js pages - `/components`: React components - `/lib`: Utilities and Nostr helpers - `/types`: TypeScript type definitions - `/hooks`: Custom React hooks