1. What is lnp2pBot
lnp2pBot is a Telegram bot that matches people who want to buy or sell Bitcoin over the Lightning Network using local fiat payment methods. Trades are coordinated in chat, no accounts or KYC, and sats are protected during the trade with Lightning “hold” invoices and timeouts. The bot runs the flow, opens a chat with your counterparty, and releases or cancels the Lightning payment based on the outcome.
2. Core concepts
- Offers — You publish what you want (buy or sell), the amount range, your currency and payment method, plus a premium/discount.
- Matchmaking — The bot finds a counterparty and opens a private chat thread for that trade.
- Lightning escrow — Sats are locked via a hold invoice until both sides complete the off-chain fiat step; if the trade fails or times out, the funds are released back.
- Roles
- Buyer of BTC pays fiat and receives sats on Lightning.
- Seller of BTC receives fiat and delivers sats on Lightning (which are locked until completion).
- Reputation and disputes — Basic reputation discourages bad behavior. If needed, moderators can be pinged to adjudicate using on-chain/fiat evidence.
3. What you need
- A Telegram account and access to the official bot.
- A Lightning wallet capable of sending and receiving invoices reliably for the sizes you plan to trade.
- A fiat payment method you’re comfortable using peer-to-peer (bank transfer, cash-in-person, etc.).
- Basic OpSec: avoid mixing personal identifiers unless you intend to; prefer pseudonymous handles and privacy-friendly payment rails.
4. Start trading in Telegram
Buy BTC (receive sats, pay fiat)
- Start the bot and choose Buy.
- Set your currency, amount, and payment method.
- Review matches; accept an offer to open the trade chat.
- The bot asks for your Lightning invoice to receive sats.
- Pay the fiat to the seller using the agreed method.
- Tap I’ve paid; the seller confirms receipt.
- The bot releases the held sats to your invoice. Save the trade receipt.
Sell BTC (deliver sats, receive fiat)
- Start the bot and choose Sell.
- Enter amount, currency, payment method, and price premium/discount.
- When matched, the bot locks your sats with a hold invoice.
- The buyer pays you fiat per the agreed method.
- After you confirm receipt, the bot releases sats to the buyer’s invoice.
- If the buyer doesn’t pay or time expires, the hold is canceled/refunded back to you.
5. Fees, limits, timing
- A small service fee may be applied by the bot (visible before confirmation).
- Routing fees on Lightning depend on liquidity; keep channels or wallet liquidity healthy.
- Timeouts protect both sides: if a step isn’t done in time, the hold invoice cancels and funds return.
6. Privacy and safety
- Prefer non-reversible fiat methods when selling; avoid PayPal/chargeback-prone rails.
- Keep trade chat inside Telegram; don’t leak extra identifiers.
- Use Tor/VPN with Telegram if your threat model calls for it.
- When buying, never press I’ve paid until you truly sent the fiat; lying will burn reputation and can lead to penalties.
- When selling, wait for final settlement on your rail (e.g., bank “posted”, not just “pending”) before confirming.
7. Payment-method notes
- Bank transfer (domestic faster payments/SEPA instant) — Clear, auditable, usually fast; verify account name matches.
- Cash-in-person — Meet in public, bring a friend, verify notes if needed, release after counting.
- Cash deposit at branch — Keep receipts; confirm they’re irrevocable in your jurisdiction.
- Mobile wallets — Understand their chargeback/refund policies before accepting.
8. Troubleshooting
Symptom | Likely cause | What to do |
---|---|---|
Trade stuck waiting for Lightning | Poor routing/liquidity | Reduce amount, try a different wallet, or rebalance channels. |
Buyer says paid, you don’t see it | Pending/slow fiat rail | Wait for final posting; do not confirm until it settles. |
Hold invoice expired | Step took too long | Restart the flow; keep an eye on the on-screen timers. |
Payout failed to your invoice | Wallet doesn’t accept/expired | Create a fresh invoice with adequate expiry and amount. |
Repeated routing failures | Fees/liquidity too tight | Increase max fee limit in wallet or split the trade into smaller chunks. |
9. Quick checklist
- Set amount, currency, payment method, and price.
- Verify Lightning invoice details and expiry.
- Keep all proofs of fiat transfer (receipts, references, screenshots).
- Watch timeouts; respond promptly so holds don’t cancel.
- Save the trade receipt for your records.
10. Glossary
Hold invoice — A Lightning invoice that locks a payment until the receiver releases the preimage or the payment times out.
Routing — The path your Lightning payment takes through public channels; influenced by liquidity and max fee settings.
Premium/discount — Price you charge relative to a reference rate (e.g., +2% over spot).
11. Next steps
Do a small trial trade to validate your wallet and payment rail. Tune Lightning settings for reliability, document your preferred fiat flow, and scale up only once you’re comfortable with the timing and evidence you’ll keep for each trade.