Free & open source · MIT licensed · Self-hosted
OpenReceive is free, open-source payment software.
Accept Bitcoin, USDT & USDC payments
Works with Laravel, Next.js, WordPress and 20+ more. Customers pay in Bitcoin, USDT or USDC; you get Bitcoin in your own wallet. No account. No API key. Nothing to sign up for.
- Paid in Bitcoin. Every payment lands in your own wallet in seconds, over Lightning.
- Safety first. Deposit-only. Even a compromised server can’t spend your funds.
- Use your own wallet. Rizful, Alby Hub or any wallet that gives you an NWC code.
- Take stablecoins too. Customers can pay in USDT, USDC, ETH or SOL. You still get Bitcoin.
Choose your framework
Stores & billing panels
- WordPress + WooCommerce — Install one plugin. Keep WooCommerce in charge.
- WordPress + Easy Digital Downloads — The same WordPress plugin, now for Easy Digital Downloads.
- BTCPay Server — A plugin for your store. No code.
- Paymenter — One extension folder for Paymenter's gateways.
- FOSSBilling — A module and a payment gateway for FOSSBilling.
- PrestaShop — A native PrestaShop payment module, uploaded as a ZIP.
- Odoo — A native Odoo payment provider, for self-hosted Odoo and Odoo.sh.
- Medusa — A Medusa payment provider, installed from npm.
- Vendure — A Vendure payment plugin, installed from npm.
- Magento — Magento's BTCPay module, with OpenReceive in BTCPay.
JavaScript & TypeScript
- Express — One factory, mounted like any router.
- Fastify — A plugin, a prefix, three hooks.
- Next.js — One route handler, one client component.
- NestJS — One mount in main.ts, three hooks.
- SvelteKit — One +server.ts route and a Svelte checkout.
- Nuxt — One server route and a Vue checkout.
- Astro — One endpoint and a checkout element.
- React Router — One resource route and a React checkout.
- TanStack Start — One server route, on Node or Cloudflare Workers.
Python
- Django — One Django app, one host class, three hooks.
- FastAPI — One router, one lifespan, three hooks.
- Flask — One file, one Blueprint, three hooks.
PHP
Ruby
- Rails — One gem, one generator, three hooks.
Where are you building?
Start from a template, or paste one prompt. Every platform marked Tested passed three agent trials from our published directions.
- Vercel — Next.js on Vercel with a Neon database. Deploy the starter, or add checkout to your own app.
- v0 — v0 builds Next.js apps on Vercel. Paste one prompt and v0 adds checkout to your app.
- Replit — Replit Agent builds Express apps with a built-in Postgres database. Paste one prompt and Agent adds checkout to your app.
- Lovable — Lovable builds TanStack Start apps on Cloudflare Workers, with Supabase. Save your wallet code as a secret, paste one prompt, and Lovable adds checkout to your app.
- Bolt — Bolt builds Vite React apps on Bolt Cloud, with Bolt Database and server functions. Save your wallet code as a secret, paste one prompt, and Bolt adds checkout to your app.
- Supabase — Store payments in your Supabase Postgres, through its pooled connection or, from Cloudflare Workers, over its HTTPS API.
Already on Stripe? Keep it.
Stripe stays your payment processor for cards. OpenReceive is not a processor: it is software in your app that adds BTC, USDT & USDC, paid into your own wallet. One design for both, tested in production, and agent directions that build it into your app.
- Stripe — Keep Stripe for cards and add BTC, USDT & USDC next to it, with card plans and prepaid passes on one design.
Still deciding?
Plain guides and honest comparisons for taking BTC, USDT & USDC, checked against each provider's own pages.
- Best Bitcoin payment gateways in 2026: 6 compared, and 2 free alternatives — Six Bitcoin payment gateways compared on fees, custody and KYC, plus two free alternatives that are software, not gateways.
- How to accept crypto payments on your website — Three ways to accept Bitcoin and stablecoin payments on your website, compared on fees, custody and paperwork.
Frequently asked questions
If it's receive-only, how do I withdraw?
From the wallet itself. Payments land in the NWC wallet behind your receive-only code, such as Rizful, Alby Hub or any other NWC wallet, and you send or withdraw them in that wallet's own app. Your web server never gets that ability, and that is an important safety step: the only credential on the server can create invoices and read their status, so even a compromised server cannot move your funds. Get a receive-only NWC code
Does OpenReceive hold my funds?
No. OpenReceive is open source software that runs inside your own server, not a payment service. Each invoice is created in your own wallet and the sats land there directly. OpenReceive never holds funds or spending keys, and never sees your orders or customers.
Do I need an OpenReceive account or API key?
No. There is no sign-up, no API key and no dashboard. Install the package for your stack, set your receive-only NWC code as NWC_URI in your server's environment, and your server issues invoices itself. Environment variables guide
What does OpenReceive cost?
Nothing. OpenReceive is free and open source under the MIT license. Your wallet provider, a swap provider if you use one, and Lightning routing may charge their own fees, which belong to those services rather than to OpenReceive.
Which wallet do I need?
Any wallet that issues receive-only NWC (Nostr Wallet Connect) codes. Rizful is free with simple onboarding, and Alby Hub is self-custodial and recommended for larger merchants. LNbits works too, Zeus is fine for testing, or you can run your own NWC service. Compare NWC providers
Can customers pay with stablecoins?
Yes, once you connect a swap provider. Customers can then pay in USDT on Tron, Solana or Ethereum, USDC on Solana or Ethereum, ETH or SOL, and every payment still settles to your wallet in Bitcoin over Lightning. Automated swaps guide