Accept Bitcoin Payments with Lightning Speed
Integrate Bitcoin Lightning payments into your website or app with just a few lines of code. Non-custodial, low fees, and developer-friendly.

Why Choose NakaPay?
Our platform offers unique advantages that make accepting Bitcoin payments simple, secure, and cost-effective.
Low 0.5% Fee
Just 0.5% per transaction, compared to 1.5-3% for traditional payment processors. No hidden fees or monthly charges.
Non-custodial
Payments flow directly from customer to your wallet. We never hold your funds or private keys.
Developer Friendly
Simple API and ready-to-use components for React. Integrate in minutes, not days.
Global Payments
Accept payments from anywhere in the world with no currency conversion fees. Instant settlement, no chargebacks.
Nostr Wallet Connect
Seamless integration with Nostr Wallet Connect for secure, user-friendly payments.
Webhook Notifications
Real-time payment notifications via webhooks. Never miss a payment or update.
How It Works
Get started with NakaPay in just four simple steps
Register for an API Key
Sign up for a free account and get your API key instantly. No credit card required.
Integrate the SDK
Add our SDK to your project with npm or yarn. Just a few lines of code to get started.
Create Payment Requests
Generate Lightning invoices or NWC connections for your customers. Customize amount, description, and more.
Receive Payments
Payments flow directly to your Lightning wallet. Get notified via webhooks when payments are completed.
See It In Action
Integrate NakaPay into your application with just a few lines of code
Integration Examples
1// Install the SDK
2npm install nakapay
3
4// Initialize the client
5const NakaPay = require('nakapay');
6const client = new NakaPay('YOUR_API_KEY');
7
8// Create a payment request
9async function createPayment() {
10 try {
11 const payment = await client.createPaymentRequest({
12 amount: 50000, // in sats
13 description: 'Product purchase',
14 destinationWallet: 'your-lightning-address@domain.com',
15 metadata: {
16 orderId: '12345',
17 customer: 'john@example.com'
18 },
19 expiresIn: 3600 // 1 hour in seconds
20 });
21
22 console.log('Payment created:', payment);
23
24 // Get the payment URL or invoice
25 const { invoiceUrl, lnInvoice } = payment;
26
27 // Later, check payment status
28 const status = await client.getPaymentStatus(payment.id);
29 console.log('Payment status:', status);
30
31 return payment;
32 } catch (error) {
33 console.error('Error creating payment:', error);
34 }
35}
Live Demo
Try It Yourself
Click the button to see a simulated Bitcoin Lightning payment flow. In a real integration, this would connect to the Lightning Network and process actual payments.
- QR code for wallet scanning
- Lightning invoice for copying
- Real-time payment status updates
- Success and error states
Implementation
1import { useState } from 'react';
2import { NakaPayModal } from 'nakapay-react';
3
4export function PaymentButton() {
5 const [showModal, setShowModal] = useState(false);
6
7 return (
8 <>
9 <button
10 onClick={() => setShowModal(true)}
11 className="px-6 py-3 bg-lightning text-white rounded-lg"
12 >
13 Pay with Bitcoin
14 </button>
15
16 {showModal && (
17 <NakaPayModal
18 apiKey={process.env.NAKAPAY_API_KEY}
19 amount={50000}
20 description="Product purchase"
21 onClose={() => setShowModal(false)}
22 onPaymentSuccess={(payment) => {
23 console.log('Payment successful:', payment);
24 // Handle success (e.g., redirect to thank you page)
25 }}
26 />
27 )}
28 </>
29 );
30}
Demo Payment
50,000 sats ($25.00 USD)
Want to See a Complete Implementation?
Explore our LightMarket showcase - a full digital marketplace built with NakaPay. See real Lightning payments in action and get the complete source code.
Simple, Transparent Pricing
No hidden fees, no monthly charges, no commitments. Pay only when you earn.
Pay As You Go
No monthly fees, no commitments
Start accepting Bitcoin payments in minutes
Documentation
Everything you need to integrate Bitcoin Lightning payments into your application