OpenNode vs ln.bot for Lightning APIs
Compare OpenNode and ln.bot for Lightning payments, wallet APIs, L402 support, and AI agent use cases.
OpenNode and ln.bot both let you accept Lightning payments through an API. That's roughly where the overlap ends.
OpenNode is a merchant payment processor — checkout pages, Shopify plugins, fiat conversion, invoicing. It's Stripe for Bitcoin. You have a store, you want a "Pay with Bitcoin" button, OpenNode handles that.
ln.bot is a wallet-first developer API. It's for systems that move sats on their own — agents, platforms, paywalled APIs, services that need their own wallets and balances. Not a checkout product.
What OpenNode does well
OpenNode has been around since 2018, raised $22.5M from Tim Draper and Twitter Ventures, and powers payments for companies like Substack and Fold. It's not a side project.
The merchant tooling is thorough: hosted checkout pages you can set up without code, plugins for Shopify, WooCommerce, Magento, BigCommerce. Accept Bitcoin over Lightning or on-chain, auto-convert to dollars, euros, or pounds, and get fiat in your bank account. Professional invoicing, 160+ countries, flat 1% fee.
Where the paths diverge
| Feature | OpenNode | ln.bot |
|---|---|---|
| Primary use case | Merchant payment processing | Developer wallet infrastructure |
| Wallets via API | Single merchant account | Unlimited wallets |
| Lightning invoices | Yes | Yes |
| Send payments | Withdrawals | Full send to any Lightning address or invoice |
| On-chain Bitcoin | Yes | No — Lightning only |
| Lightning addresses | No | you@ln.bot + custom domains |
| Hosted checkout | Yes | No |
| E-commerce plugins | Shopify, WooCommerce, Magento, etc. | No |
| Fiat conversion | USD, EUR, GBP | No — Bitcoin-native |
| L402 protocol | No | Create, verify, pay challenges |
| MCP server (AI agents) | No | Built-in |
| SDKs | Node.js, PHP | TypeScript, Python, Go, Rust, C# |
| CLI | No | Yes |
| Webhooks | Yes | Yes |
| Multi-tenant wallets | No | Yes |
| Pricing | 1% per transaction | Free internal, 0.25% + routing fee outbound |
When to choose OpenNode
Use OpenNode if:
- You're a merchant accepting customer payments for goods or services
- You need e-commerce plugins — Shopify, WooCommerce, Magento
- You want fiat conversion — accept Bitcoin, get dollars in your bank
- You need hosted checkout pages without writing code
- You want professional invoicing and billing templates
- You're processing payments in a commerce context
ln.bot doesn't do any of those things. No checkout pages, no Shopify plugin, no fiat. Don't try to make it work for a merchant use case — it's not built for that.
When to choose ln.bot
Use ln.bot if:
- You need programmatic wallets — create, fund, manage wallets through code
- You're building a platform where each user or agent gets their own wallet
- You need L402 paywalled APIs — OpenNode has no L402 support
- You're building AI agent infrastructure — MCP integration, autonomous payments, budget controls
- You need SDKs beyond Node.js and PHP
- You want Lightning addresses for your services or users
- You're building developer tooling, not merchant checkout
Code comparison
The one thing both APIs do — create an invoice to get paid:
OpenNode:
const opennode = require("opennode");
opennode.setCredentials("YOUR_API_KEY", "live");
const charge = await opennode.createCharge({
amount: 100,
currency: "USD",
auto_settle: true,
});ln.bot:
import { LnBot } from "@lnbot/sdk";
const ln = new LnBot({ apiKey: "key_..." });
const invoice = await ln.invoices.create({
amount: 1000,
memo: "Payment for service",
});OpenNode thinks in fiat amounts and merchant charges. ln.bot thinks in sats and wallet operations. Both create a Lightning invoice. The mental model is different.
What ln.bot can do that OpenNode can't:
// Spin up a wallet for an AI agent
const wallet = await ln.wallets.create({
name: "research-agent",
});
// Pay another agent's Lightning address
await ln.payments.create({
target: "other-agent@ln.bot",
amount: 500,
});
// Gate an API behind L402 — charge per request
app.use("/api/data", l402.paywall(ln, { price: 10 }));Getting started
npm install @lnbot/sdkFull setup in the quickstart guide. SDKs for five languages.
The short version
If you need to accept Bitcoin for goods and services, convert to fiat, and plug into Shopify — OpenNode has been doing that reliably for years. If you need wallets your code controls, L402 paywalls, or agent infrastructure — that's ln.bot. Some projects will use both: OpenNode facing customers, ln.bot running the backend.
FAQ
> Is OpenNode good for developers?
> What is the OpenNode transaction fee?
> Can OpenNode create wallets programmatically?
> Does OpenNode support L402?
> What's the best Lightning API for AI agents?
Related
Lightning Network: How Bitcoin Payments Scale
How the Lightning Network makes Bitcoin payments instant and cheap, from channels and routing to wallets, invoices, and AI agents.
Pay-Per-API-Call with Bitcoin Micropayments
Monetize any API with L402 and Lightning micropayments. Charge per request with no signup flow, API keys, or Stripe fees.
AI Agent Bitcoin Wallets: MCP, SDK, and L402
Give an AI agent a Bitcoin wallet with ln.bot. Connect via MCP or SDK, send and receive sats, and pay L402 APIs automatically.