Skip to main content

Accept Bitcoin, USDT, USDC Payments on Your Website with OpenReceive

Want to take Bitcoin on your website or app without a payment processor, an account, an API key, or KYC? OpenReceive is the easiest way we know to do it.

OpenReceive is a free and open-source library that runs inside your own server. It puts a checkout in front of your customers, issues Lightning invoices against a wallet you already control, and tells your app the moment a payment lands. The money never passes through anyone else's hands. It goes straight into your wallet.

The short version

Go to openreceive.org, click Copy agent directions, paste them into your AI coding agent, and let it do the integration. That's it. The rest of this page explains why that works so well.

Why OpenReceive?

  • You keep the money. Payments settle directly into a wallet you control, such as your Rizful vault. There's no middleman holding your funds, and nobody to take a cut.
  • Nobody can spend your funds, not even OpenReceive. It connects to your wallet with a receive-only code. Even if your server were fully compromised, an attacker could only create invoices that pay you. They could never drain your wallet.
  • No account, no API key, no KYC. There's nothing to sign up for. You install a library and connect your wallet. That's the whole onboarding.
  • Bitcoin first, stablecoins optional. Customers pay over Lightning by default. Flip on a swap provider and they can also pay with USDT, USDC, ETH, or SOL, while you still receive everything as Bitcoin.
  • Fits the stack you already have. Node.js servers (Express, Fastify, Next.js), Ruby on Rails, and frontends in React, Vue, Svelte, Angular, or plain HTML. Your app keeps owning your orders, products, and users; OpenReceive only handles the payment.
  • Built for coding agents. OpenReceive ships self-contained agent directions and installable skills, so Claude Code, Cursor, Codex, Copilot, or whatever you use can wire it up in one sitting.
  • Free forever. MIT licensed and self-hosted. No monthly fees, no per-transaction fees, no surprises.

Step 1: Copy the agent directions

Open openreceive.org and click the big green Copy agent directions button.

On openreceive.org, click Copy agent directions to put a complete, self-contained integration prompt on your clipboard.
On openreceive.org, click Copy agent directions to put a complete, self-contained integration prompt on your clipboard.

What you get is a single prompt that contains everything a coding agent needs: what OpenReceive is, how to check your environment, and the full quickstart for your stack. Your agent doesn't have to search the web or guess at anything.

Prefer an installable skill instead? OpenReceive has one of those too:

  • Claude Code: /plugin marketplace add OpenReceive/openreceive, then /plugin install openreceive
  • Cursor, Codex, and other skill-compatible tools: npx skills add OpenReceive/openreceive

Step 2: Paste it into your coding agent

Open your project in your AI coding agent and paste the directions. The agent will look at your app, find your order and product models, install the right packages, and add the checkout.

It will stop and ask you for one thing: a receive-only NWC code for the wallet that should receive the money. That brings us to the next step.

Step 3: Connect your Rizful wallet

The only credential OpenReceive needs is a receive-only Nostr Wallet Connect (NWC) code. Rizful makes one in a few clicks:

👉 Get A Read-Only NWC Code from Rizful

Put that code in your server environment as NWC_URI and tell your agent it's set. From then on, every payment your site receives shows up in your Rizful vault, with a permanent Lightning Address and all the other things Rizful does for you.

Testing first?

If you'd rather experiment before pointing OpenReceive at your main vault, create a separate one with a small balance: Safely Set Up Test Rizful Vaults with NWC.

Step 4: Try a checkout

Once your agent finishes, run your app, add something to the cart, and pay the invoice from any Lightning wallet. Your customer sees a clean checkout with a QR code and a copy button. You see the payment land in Rizful and your app marks the order paid.

That's a complete Bitcoin checkout, on your own server, with no third party in the loop.

Learn more

  • 🌐 openreceive.org — the home page, guides, and the Copy agent directions button
  • 🐙 OpenReceive on GitHub — source code, agent skills, and issues
  • 📖 Guides — Node and Rails quickstarts, checkout UX, deployment, security, and more