OpenReceive guides

How OpenReceive Works: NWC, Nostr Relays and Lightning Payments, Traced End to End (20 min)
  1. 0:00 Intro
  2. 0:44 Where it sits in your stack
  3. 2:25 Why Lightning
  4. 3:39 The receive-only NWC code
  5. 5:26 Nostr relays, simplified
  6. 7:42 Tracing a checkout request
  7. 9:47 Why invoices expire in ten minutes
  8. 10:50 Discovering payments: batched scans
  9. 12:49 Polling and listening
  10. 14:10 Settlement: write once
  11. 15:17 Stablecoin swaps
  12. 17:21 Resilience and no lock-in
  13. 18:20 One spec, many engines
  14. 18:56 Close

OpenReceive adds Bitcoin Lightning checkout to your application or store. Payments go straight to your wallet, and payment attempts are stored in your existing database. Pick your framework or platform below.

OpenReceive can also accept USDT, USDC, SOL, and ETH through a swap provider you configure. The provider converts the payment to BTC over Lightning, and it settles into the merchant’s connected wallet. Swaps are optional. The provider decides which assets and networks are available.

Your own app

  1. Express quickstart (Node)
  2. Fastify quickstart
  3. Next.js quickstart
  4. NestJS quickstart: the Express adapter, mounted in main.ts
  5. Node ORM recipes
  6. Rails quickstart
  7. FastAPI quickstart
  8. Django quickstart
  9. PHP quickstart (plain PHP)
  10. Laravel quickstart

Recipes: React + Material UI, TanStack Start (a server route, on Node or Cloudflare Workers), Supabase Edge Functions. On Node, the same handler mounts in SvelteKit, Nuxt, Astro and React Router.

AI app builders

Stores and billing panels

Checkout

Swaps

Running it

Reference

With a coding agent

Give your agent one of the agent-directions files instead of a reading list. Each one holds the rules to follow before any code (Step 0) and the full matching quickstart, and works pasted into an editor with no network access: Express, Fastify, Next.js, NestJS, SvelteKit, Nuxt, Astro, React Router, TanStack Start, FastAPI, Django, Flask, Rails, PHP, Laravel, Lovable, Bolt, WooCommerce, Easy Digital Downloads, Paymenter, FOSSBilling, PrestaShop, Odoo, Medusa, Vendure, BTCPay Server or a mobile app’s server. To hand an agent a link instead, drop /full from the URL: that short page tells it to download the full file with its shell.