██╗ ███╗ ██╗ ██████╗ ██████╗ ████████╗
██║ ████╗ ██║ ██╔══██╗██╔═══██╗╚══██╔══╝
██║ ██╔██╗ ██║ ██████╔╝██║ ██║ ██║
██║ ██║╚██╗██║ ██╔══██╗██║ ██║ ██║
███████╗██║ ╚████║██╗██████╔╝╚██████╔╝ ██║
╚══════╝╚═╝ ╚═══╝╚═╝╚═════╝ ╚═════╝ ╚═╝
Bitcoin for AI agents.
Give your AI agents access to Bitcoin. A Lightning wallet with CLI, MCP and API, ready in seconds.
Website · Documentation · Get started
One action. Three protocols. Pay ₿1,000 through whichever interface fits your stack.
Amounts follow BIP 177: ₿1 is one sat, the smallest unit of bitcoin.
CLI — pipe it, script it, cron it
$ lnbot pay alice@ln.bot --amount 1000
Amount: ₿1,000
Fees: ₿0 (to an ln.bot wallet)
Total: ₿1,000
Send ₿1,000 to alice@ln.bot? (y/N) y
✓ Payment settled instantly
Amount: ₿1,000
Fees: ₿0
Available: ₿46,500MCP — give any AI model a Lightning wallet
{
"mcpServers": {
"lnbot": {
"type": "url",
"url": "https://api.ln.bot/v1/wallets/wal_.../mcp",
"headers": { "Authorization": "Bearer uk_..." }
}
}
}REST API — standard HTTP from any language
GET /v1/wallets/wal_.../payments/resolve?target=alice@ln.bot&amount=1000
→ 200 { "internal": true, "networkFeeEstimate": 0, "serviceFee": 0, "total": 1000, ... }
POST /v1/wallets/wal_.../payments
{ "target": "alice@ln.bot", "amount": 1000 }
→ 200 { "number": 1, "status": "settled", "amount": 1000, "actualFee": 0, "serviceFee": 0 }
SDKs that feel native. Pick your language.
import { LnBot } from "@lnbot/sdk"
const ln = new LnBot({ apiKey: "uk_..." })
const w = ln.wallet("wal_...")
await w.payments.create({ target: "alice@ln.bot", amount: 1000 })from lnbot import LnBot
ln = LnBot(api_key="uk_...")
w = ln.wallet("wal_...")
w.payments.create(target="alice@ln.bot", amount=1000)client := lnbot.New("uk_...")
w := client.Wallet("wal_...")
w.Payments.Create(ctx, &lnbot.CreatePaymentParams{
Target: "alice@ln.bot",
Amount: lnbot.Ptr(int64(1000)),
})let client = LnBot::new("uk_...");
let w = client.wallet("wal_...");
w.payments().create(
&CreatePaymentRequest::new("alice@ln.bot").amount(1000),
).await?;var client = new LnBotClient("uk_...");
var w = client.Wallet("wal_...");
await w.Payments.CreateAsync(new() { Target = "alice@ln.bot", Amount = 1000 });- Built for agents — Programmatic wallets, API keys, and idempotent payments designed for autonomous software.
- Instant settlement — Payments arrive in seconds, not days.
- Lightning addresses — Human-readable addresses like
name@ln.bot - Real-time events — SSE streams and webhooks for payment notifications.
- Recovery built in — 12-word BIP-39 passphrase and passkey backup.
- Simple pricing — No monthly fees. Every payment is priced before you send it, and you pay only when bitcoin leaves ln.bot.
No subscriptions. No tiers. Just usage.
ln.bot → ln.bot Free
ln.bot → Lightning 0.25% + network fee (0.25% + routing)
Lightning → ln.bot Free
Minimum service fee: ₿1
No monthly fees · No hidden costs · You pay only when bitcoin leaves ln.bot
Install the CLI:
curl -fsSL https://ln.bot/install.sh | bashCreate a wallet and start using it:
lnbot init
lnbot invoice create --amount 1000 --memo "first payment"
lnbot balanceOr use an SDK:
npm install @lnbot/sdk # TypeScript
pip install lnbot # Python
go get github.com/lnbotdev/go-sdk # Go
cargo add lnbot # Rust
dotnet add package LnBot # C#Your AI agent now has access to Bitcoin.
ln.bot · Docs · CLI · TypeScript · Python · Go · Rust · C#
MIT License