Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Getting started just takes 4 easy steps or 4 clicks.
This guide explains why Lightning Bounties uses GitHub OAuth to verify your identity.
By linking your account, you grant just the minimal permissions needed—nothing more—so you stay in control of your data.
Project Access:
You can link your GitHub projects to post bounties on specific issues or projects.
Issue Tracking:
It helps you stay organized and focused on the issues that require attention.
Collaboration:
Enables effective communication and progress tracking with bug hunters.
Reward Distribution:
Ensures correct and efficient distribution of rewards.
Profile & Reputation:
Builds your reputation as a responsible project maintainer.
When you link your GitHub account to Lightning Bounties, you will be granting us specific permissions:
Read-only Access:
We cannot alter anything in your GitHub account.
This ensures that your projects and repositories remain untouched.
Public-only Access:
We can only access information that is publicly available.
Any data that is private or restricted is completely off-limits to us.
Many GitHub applications request broader permissions than we do. Here's a quick comparison:
Read-only Access
✅
❌
❌
✅
Write Access
❌
✅
✅
✅
Public-only Access
✅
❌
❌
❌
Access to Private Repos
❌
✅
✅
✅
Algora PBC: Algora PBC requires broader access to your GitHub account, including the ability to verify your identity, know what resources you can access, act on your behalf, and view your email addresses.
Replit: Replit also requires broader permissions, similar to Algora PBC, including the ability to verify your GitHub identity, know what resources you can access, act on your behalf, and view your email addresses.
Kodiak: Kodiak is a GitHub bot that requires access to all repositories, including public repositories (read-only), and has read and write access to checks, code, issues, pull requests, and workflows.
With Lightning Bounties, you maintain greater control over your data and privacy, as we only require read-only, public access.
If you decide to unlink your GitHub account from Lightning Bounties, please follow these instructions:
Go to GitHub: Log in to your GitHub account.
Navigate to Settings: Click on your profile picture in the top right corner, then select Settings from the dropdown menu.
Applications: In the left sidebar, click on Applications.
Authorized OAuth Apps: Under the Authorized OAuth Apps section, locate Lightning Bounties.
Revoke Access: Click on Lightning Bounties and then select the Revoke Access button.
Notification: Lightning Bounties Unlinked: If you see the message "Lightning Bounties User has been revoked from your account" displayed at the top, it means you have successfully unlinked Lightning Bounties from your GitHub account.
After completing the steps to unlink your GitHub account, it will be disassociated from Lightning Bounties.
Your one stop shop for all things related to Lightning Bounties.
Lightning Bounties is a Bitcoin-powered bug bounty platform designed to empower developers to earn Bitcoin for fixing bugs and contributing to open-source projects. By seamlessly integrating with GitHub’s familiar workflows, it lowers the barrier to entry for developers of all skill levels to participate in decentralized innovation.
Getting started is effortless—no installations or complex setups required. Simply visit app.lightningbounties.com, log in with your GitHub account, and you’re ready to post or solve bounties in seconds. Lightning Bounties makes it easy for anyone, anywhere, to contribute their skills, support open-source technology, and get rewarded in Bitcoin—the currency of freedom.
Curious how it all works? Watch our 3-minute Tutorial and see how easy it is to post or solve bounties, fund open-source projects, and earn Bitcoin.
Whether you're a bounty hunter solving critical issues or a project owner securing your codebase, explore how Lightning Bounties is turning bugs into Bitcoin, driving platform updates, and shaping the future of decentralized development.
Lightning Bounties exists to empower a global community of developers and innovators to contribute freely to open-source technology, accelerating the growth of Bitcoin, Lightning, and decentralized ecosystems. By making bug bounties accessible to anyone, anywhere, we lower barriers to entry, onboard new talent to build the tools of tomorrow, and reward contributors with Bitcoin—the currency of freedom. Our mission is to decentralize opportunity and drive innovation that benefits everyone.
Lightning Bounties exists to embody the ethos of Bitcoin and the Free and Open-Source Software (FOSS) movement. We are building a bug bounty platform that is as free, open, and decentralized as the technologies it supports. Our mission is clear:
Empower Global Talent: Enable anyone, anywhere, to contribute their skills to open-source technology without barriers or restrictions, fostering a meritocratic environment.
Onboard Builders to Decentralized Tech: Bring more people into the Bitcoin, Lightning, Nostr, and open-source ecosystems—technologies essential to freedom and innovation.
Educate Developers: Lower the barrier to entry for contributing to open-source projects by guiding developers from beginner-friendly issues to solving critical challenges.
Accelerate Open-Source Innovation: Drive the rapid development of decentralized technologies by connecting talented contributors with impactful projects and fostering transparent, inclusive collaboration.
Showcase Bitcoin’s Utility: Reward contributors in censorship-resistant, borderless Bitcoin—bypassing centralized intermediaries like banks or payment processors and demonstrating Bitcoin's real-world value.
By aligning with the ethos of Bitcoin and FOSS, Lightning Bounties is more than just a platform—it’s a movement to decentralize opportunity, accelerate innovation, and empower individuals worldwide to build the tools that shape our future.
At Lightning Bounties, our values are rooted in the ethos of Bitcoin and the Free and Open-Source Software (FOSS) movement. These principles guide every aspect of our platform:
Decentralization: We break down barriers, empowering individuals worldwide to contribute freely without gatekeepers or restrictions.
Accessibility: Talent and effort—not privilege or location—define success on our open platform, available to anyone, anywhere.
Transparency: We uphold trust and accountability by fostering openness in every process, reflecting the collaborative spirit of FOSS.
Empowerment: By rewarding contributors with Bitcoin, we champion financial sovereignty and provide a censorship-resistant way to earn for meaningful work.
Innovation: We accelerate the development of decentralized technologies by connecting talent with impactful projects that shape the future.
Community: Collaboration drives us. We cultivate a thriving ecosystem where creators, developers, and innovators come together to solve challenges and build tools for everyone.
These values are not just ideals—they are a call to action to decentralize opportunity, empower individuals, and drive innovation that benefits all of humanity. Lightning Bounties is more than a platform; it’s a movement to build a freer, fairer future through open collaboration.
MIT License
Copyright (c) 2024 Lightning Bounties LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
Loggin into Lightning Bounties for the first time.
Steps for submitting pull requests & Guidelines for successful bounty claims.
Instructions for bounty hunters on the submission process, verification steps, and dispute resolution.
Step-by-step guide on how to deposit funds into your account, including troubleshooting common issues.
How to withdraw rewards by providing a Lightning invoice from your wallet or exchange.
Issue Lock Time
Add Reward to an Existing Bounty
Expire or Reclaim a Bounty Reward
User Balances Overview
In this section, you can see an overview of a user's balances on the Lightning Bounties platform. Each user has two key balances that manage their available and reserved rewards for GitHub issues.
The available balance represents the amount of satoshis (sats) a user currently holds and can use to post new rewards on GitHub issues. This balance is also withdrawable, allowing the user to transfer their available sats to a personal Lightning Network wallet at any time.
The reserved balance consists of the sats that are allocated to already posted rewards on GitHub issues. When a user posts a reward, the corresponding amount of sats is locked in this balance, ensuring that the reward is paid out once the issue is resolved.
By tracking these balances, users can easily manage their available funds and reserved rewards while contributing to the open-source community.
Lightning Bounties is designed to be a frictionless, accessible, and innovative platform for bug bounties. Here are some of the key features that make Lightning Bounties stand out:
No Installations Required: Posting or solving a bounty requires no plugins, no installations on your computer, and no changes to your GitHub account.
Effortless Setup: It takes just 5 clicks and a single copy-paste of a URL to post a bounty—under 30 seconds from start to finish ().
No Banking Restrictions: Operates globally with Bitcoin, bypassing region-restricted payment processors like Stripe.
Collaborative Funding: Multiple users can contribute sats (Bitcoin microtransactions) to fund a single bounty.
Support for Third-Party Projects: Post bounties on issues from popular open-source projects like VSCode, Django, or React—even if you’re not the project owner.
Guaranteed Escrow: Rewards are locked for a set period (e.g., two weeks) to ensure bounty hunters know the reward will be available when they submit their solution.
Flexible Expiry Options: After the lock time ends, you can manually expire the bounty and reclaim your funds if priorities change or the issue is resolved elsewhere.
GitHub API as an Oracle: Rewards are automatically sent to contributors once their pull request is successfully merged, preventing fraudulent claims.
Lightning Bounties is built to remove friction, simplify participation, and empower developers to contribute meaningfully to open-source projects while earning Bitcoin.
On: , go to your profile
Notice how this profile already has 300 sats
In this example, we are adding 500 sats
Notice how this profile went from 300 to 800 after depositing 500 sats
Lightning Bounties is the simplest, fastest, and most inclusive way to participate in bug bounty programs and contribute to open-source development. Here’s why you should give it a try:
No Fees, No Installations: You don’t need to install any plugins or software to get started. Simply log in with your GitHub account, and you’re ready to post or solve bounties.
No Banking Restrictions: Unlike traditional platforms that rely on region-restricted payment processors, Lightning Bounties uses Bitcoin and the Lightning Network for global accessibility.
Post a Bounty in Seconds: It takes just 5 clicks and a single copy-paste of a URL to create a bounty—under 30 seconds from start to finish.
Seamless Integration with GitHub: Leverage GitHub’s familiar workflows without any changes to your existing setup.
Lightning-Fast Payments: Contributors are rewarded instantly in Bitcoin after their pull requests are merged, eliminating delays and fees associated with traditional payment systems.
Peer-to-Peer Funding: Rewards are sent directly to contributors via the Lightning Network, ensuring censorship resistance and financial sovereignty.
Collaborative Funding: Multiple users can contribute sats (Bitcoin microtransactions) to fund a single bounty, enabling collective support for critical issues.
Support Third-Party Projects: Post bounties on issues from popular open-source projects like VSCode, Django, or React—even if you’re not the project owner.
Inclusive for All Developers: Lightning Bounties removes barriers for developers worldwide, especially those in underserved regions where traditional banking systems fail.
Democratized Participation: Anyone with a GitHub account can join—no matter their location or background.
Transparent and Decentralized: Lightning Bounties embodies the ethos of Bitcoin and FOSS (Free and Open-Source Software), fostering permissionless collaboration and decentralization.
Accelerating Development: By incentivizing contributions, the platform helps speed up bug fixes and feature development across critical open-source projects.
With Lightning Bounties, you can contribute your skills to improve open-source technology, earn Bitcoin instantly, and be part of a global movement that’s shaping the future of decentralized development. It’s fast, frictionless, and free—so why not give it a try today?
Simple Workflow on How to Post a Bounty on Lightning Bounties
Located on the Top Right
For this example we will use 21000 sats.
We recommend two weeks as a standard lock time, to give your hunters time to submit a PR, but also a short enough time to iterate on your bounty postings and format.
Congrats! You just posted your first bounty!
We are a dedicated team of open-source enthusiasts, inspired by the spirit of our revolutionary Boston forefathers. Similar to Bitcoin enthusiasts, we strongly believe in borderless collaboration and strive to eliminate barriers and limitations. Our passion for decentralized innovation drives us to create a new era of unrestricted progress.
Although we come from diverse backgrounds in crypto, AI, and software development, we share a common conviction in the transformative power of decentralization, Bitcoin, & open-source software. We are not conventional corporate employees; instead, we are advocates of open source, fervent supporters of Bitcoin, and disruptors of the status quo.
We pledge to be the catalyst for a new age of unrestricted innovation, one bounty at a time.
Partnerships & Growth
Product & Strategy
Engineering & Project Management
Marketing & Developer Relations
Repo located here: https://github.com/Lightning-Bounties/lb-next/
We don't want to click "sign in with github" on localhost, but instead add the jwt token directly to simulate signing in.
In .env.local
set:
make this edit, don't forget https
NEXT_PUBLIC_API_URL=https://app.lightningbounties.com
after reloading the page you should see the same bounties on the feed
Get the accessToken
from app.lightningbounties.com
Go to https://app.lightningbounties.com
Open chrome developer tools, go to Application tab, go to Local storage.
Find accessToken
and sign-in with github on the browser.
Copy the value of accessToken, it should begin with Bearer eyJhbGc...
Set accessToken
on localhost:3000
On your browser where you are viewing the local repo running on the next dev server, open dev tools to the Local storage, find an accessToken key or add it.
Paste the value of the token into local storage (including the Bearer
prefix).
Reload the page on localhost:3000, and you should be signed in under your app.lightningbounties.com user.
Welcome to The Lightning Bounties Social Accounts!
Connect with us and stay up-to-date. Engage through direct communication, code exploration, or social media on our various platforms.
Lightning Bounties is a Bitcoin-powered bug bounty platform that seamlessly integrates with GitHub’s familiar workflows, enabling developers to earn Bitcoin for fixing bugs and contributing to open-source projects.
Getting started is simple—no installations or complicated setups required. Just visit , log in with your GitHub account, and you’re ready to post or solve bounties instantly. Lightning Bounties makes it easy for anyone to contribute their skills, support open-source innovation, and get rewarded in Bitcoin.
Visit our website to learn more about Lightning Bounties, view our blog, sign up for our waitlist, and track our progress.
Interested in earning some Bitcoin? Go to our Bug Bounty Platform and Start Solving Bounties. New bounties are posted daily.
Join our Discord community to connect with fellow bounty hunters, share insights, and collaborate on solving bounties.
Follow us on Twitter to stay updated with real-time program announcements, news, and important information.
Explore our GitHub repo to access our platform's source code, contribute improvements, and review reported issues.
Subscribe to our YouTube channel to access educational videos, and learn through our in-depth tutorials.
Hub for the latest updates, insights, and success stories from our community of bounty hunters.
Follow us on LinkedIn for weekly development updates, team insights, and opportunities to engage with our growing community.
For inquiries, feedback, or collaboration opportunities, please email us. Our team will gladly assist you.
In GitHub, issues and pull requests may automatically link when specific keywords (e.g., "close
", "fixes
") are used in pull request descriptions or comments. This guide explains how to detach an issue from a pull request.
Navigate to the Pull Request - Click on the Pull Requests tab and locate the pull request linked to the issue.
Remove the Linking Keyword - Open the pull request description or comments where the link to the issue is mentioned. - Look for keywords like close #issue_number
, fixes #issue_number
, or resolves #issue_number
. - Remove these keywords or replace them with plain text (e.g., related to #issue_number
).
Update the Pull Request Description - After editing the description or comments, click the Save or Update Comment button to confirm your changes.
Verify the Detachment - Navigate to the issue that was previously linked. - Confirm that the issue is no longer listed under the Linked pull requests section.
Bounty Tracking: Lightning Bounties tracks issue and PR status via GitHub integration. Unlinking an issue from a PR may affect bounty eligibility or payout triggers if the bounty is configured to require a linked/closed issue.
Workflow: Always coordinate with your team and check Lightning Bounties documentation if you're unsure how unlinking affects bounty status.
Permissions: Lightning Bounties only has read-only access to your repository and cannot modify links on your behalf.
Double-check PR descriptions for linking keywords before submitting.
Communicate with contributors if unlinking may impact bounty rewards.
For merged PRs, note that links are part of the permanent record; only open PRs can be edited to change links.
For more details, refer to GitHub’s official documentation on managing issues and pull requests.
Here you can find the steps to be taken to work on a bounty to get rewarded.
In this example, we are using:
This is the part where developers work on fixing the code after they fork the repo. 🧑💻
In this example, the colored logo has been added to the repo as requested.
Create a pull request to the bounty poster repo.
close #(issue-number)
, & the PR is already merged. Once the Pull Request gets approved, the developer can claim the reward
To withdraw Sats from the Lightning Network to Coinbase (or any other wallet/exchange), follow these steps. The process remains similar no matter where you're transferring your funds.
Sign in to your Coinbase account.
Select Bitcoin as the asset you wish to receive.
Select the Lightning network.
Follow the prompts to create your invoice
Invoices are valid for 72 hours.
Copy the invoice. You will need this in the next section.
Login to Lightning Bounties: then click on your account.
Initiate Withdrawal: Select the option to withdraw your sats.
3a. First, paste your invoice string into the input field
3b. Click the “Create”
Your sats should now be reflected in your Coinbase account after the transaction is confirmed.
Sign in to your Coinbase account, on the web or mobile app
Select Buy & Sell
Select Sell
Select the crypto you want to sell and the amount.
If on mobile, you'll be required to crypto the asset you want to sell before entering an amount
Change the To destination, if applicable.
This will likely default to your local currency balance (USD) but you may have the option of adding to another balance (e.g., USDC).
Select Review order.
Select Sell now to complete the sale.
Once the crypto sell order is complete, the funds will be available in your cash balance to buy other assets or cash out to your bank.
In the spirit of Satoshi's vision for a decentralized future, we pledge to make participation in our project and community a harassment-free experience for everyone. Whether you're a Bitcoin maximalist, a Lightning Network enthusiast, or just curious about open-source development, you're welcome here!
We don't discriminate based on age, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, political views, nationality, personal appearance, race, religion, sexual identity, orientation, or your preferred alt-coin.
Demonstrating empathy and kindness toward others (even when debating block sizes)
Respecting differing opinions, viewpoints, and experiences (yes, even if they prefer a different wallet)
Giving and gracefully accepting constructive feedback (remember, code reviews are not personal attacks)
Accepting responsibility and apologizing when we mess up (we're all human, even Satoshi probably made typos)
Focusing on what's best for the community (because that's what open-source is all about)
Practicing and promoting responsible disclosure of vulnerabilities (because a chain is only as strong as its weakest link )
Using sexualized language or imagery (save it for your meme coins )
Trolling, insulting comments, and personal or political attacks (we're here to build, not to troll )
Public or private harassment (not cool on-chain, not cool off-chain )
Publishing others' private information without permission (respect the cryptography )
Any conduct that could reasonably be considered inappropriate in a professional setting (if you wouldn't do it at a Bitcoin meetup, don't do it here )
Project maintainers are the full nodes of this community. They're responsible for clarifying and enforcing our standards of acceptable behavior. They have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that don't align with this Code of Conduct.
This Code of Conduct applies to all Lightning Bounties spaces, including our GitHub repository, communication channels, and other official venues. It also applies when you're representing us in public spaces. So if you're wearing a Lightning Bounties t-shirt at a conference, remember: you're our ambassador (no pressure).
If you see something, say something. Report instances of abusive, harassing, or otherwise unacceptable behavior to . We promise to investigate promptly and fairly, and we'll keep your report confidential.
Correction: A gentle reminder that you're human and humans make mistakes.
Warning: A stern talking-to and a timeout from the community repository.
Temporary Ban: A vacation from the community. Use this time to read the Bitcoin whitepaper again.
Permanent Ban: The digital equivalent of a 51% attack against your participation. Permanent and irreversible.
Before things escalate to the "Enforcement" stage, try these steps:
Talk it out directly (use your words, not your hash power)
If that fails, ask a community leader for help (they're like the Lightning Network – here to resolve things quickly)
If all else fails, initiate the formal reporting process (it's like calling for a hard fork, use it wisely)
As an open-source bug bounty platform, we expect all participants to practice responsible disclosure:
Report vulnerabilities through our designated channels (not on Twitter, please)
Provide enough info for us to reproduce the issue (we're good, but we can't read the blockchain of your mind)
Give us a reasonable time to fix the issue before you go public (even the Lightning Network needed time to develop)
Respect user privacy and data (treat others' data like you'd treat your private keys)
This Code of Conduct is adapted from the Contributor Covenant, version 2.0, available at
We've added our own Lightning-fast improvements to make it fit our community better. Remember, in the world of Lightning Bounties, we're all about building a better, more open future.
Happy bug hunting!
Lightning Bounties Glossary: Top 50 Terms
A feature that allows users to fund bounties without revealing their identity, promoting privacy while still supporting open-source development.
A Taproot-powered protocol for issuing assets on the Bitcoin blockchain that can be transferred over the Lightning Network for instant, high-volume, low-fee transactions.
The amount of Bitcoin (measured in sats) available in a user's Lightning Bounties account that can be used to fund bounties or withdrawn.
A decentralized digital currency where transactions are verified by network nodes through cryptography and recorded in a public distributed ledger.
The standardized format for Lightning Network payment requests, containing payment amount, destination, and optional message.
A reward offered for completing a specific task, typically fixing a bug or implementing a feature in an open-source project.
A specified period during which bounty funds are locked in escrow to ensure they remain available when developers submit solutions.
A reward offered to developers who discover and report bugs in a software project, enhancing security and reliability.
The amount of Bitcoin required to open a Lightning Network payment channel.
A feature allowing multiple users to contribute funds toward a single bounty, increasing the reward and incentivizing developers.
A wallet where a third party maintains control of private keys, reducing user responsibility but potentially introducing security risks.
The human-readable information extracted from a Lightning invoice showing payment amount, destination, and expiration time.
The process of adding Bitcoin to your Lightning Bounties account to fund bounties.
One of the primary user groups of Lightning Bounties who can showcase skills, earn Bitcoin, and contribute to open-source projects.
Cryptographic proof that the holder controls a specific Bitcoin address, used to authorize transactions from that address.
A system that holds bounty funds securely until predetermined conditions are met, ensuring fair transactions between parties.
A feature allowing a bounty creator to reclaim funds after the lock time ends if priorities change or the issue is resolved elsewhere.
The ability to manually expire a bounty and reclaim funds after the lock time ends if the issue is resolved through other means.
The transaction that establishes a Lightning Network channel by locking Bitcoin in a multisignature address.
The mechanism that uses GitHub's API to automatically verify when solutions are accepted, triggering reward distribution.
A ticket in a GitHub repository that identifies bugs or requested features, which can be linked to bounties on Lightning Bounties.
Software repositories on GitHub that can benefit from Lightning Bounties to incentivize contributions and bug fixes.
The web address of a GitHub repository or issue that is linked to a bounty on Lightning Bounties.
A cryptographic function that generates a fixed-size output from variable-size input, used extensively in blockchain and Lightning Network.
The combination of public and private keys that control access to Bitcoin addresses and funds.
A Bitcoin-powered bug bounty platform that integrates with GitHub workflows to enable developers to earn Bitcoin for open-source contributions.
The network used to broadcast information about channels and peers in the Lightning Network.
A payment request on the Lightning Network that includes payment amount, destination, and an expiration time.
A layer-2 solution built on top of the Bitcoin blockchain that enables faster and cheaper transactions through payment channels.
A peer-to-peer payment channel that enables instant and low-cost transactions between two parties.
A wallet specifically designed to send and receive payments through the Lightning Network, offering faster transactions than traditional Bitcoin wallets.
The period during which bounty funds are guaranteed to be available, giving developers confidence that rewards will be paid upon completion.
Each 1/1000 of a satoshi, allowing for even smaller denominations on the Lightning Network while channels are open.
A feature of Lightning Bounties that allows global operation with Bitcoin, bypassing region-restricted payment processors.
A wallet where the user maintains full control over their private keys and funds, increasing security responsibility but eliminating third-party risks.
The collaborative practice of making source code freely available for modification and redistribution, which Lightning Bounties supports and incentivizes.
Entities that use Lightning Bounties to tap into a global developer pool to improve software quality and security.
A transaction that occurs on the Lightning Network, routed through payment channels without being recorded on the Bitcoin blockchain.
A decentralized system like Bitcoin or Lightning Network where connections occur directly between participants without intermediaries.
A Bitcoin-focused incubator that supports Lightning Bounties and other Bitcoin innovation projects.
A method of submitting contributions to a GitHub repository, which triggers reward distribution when merged with proper closing syntax.
A series of words that can recover wallet access, also known as a seed phrase or mnemonic.
The status indicating a bounty has been successfully paid to a developer after their solution was accepted.
The smallest unit of Bitcoin, representing 1/100,000,000 (one hundred millionth) of a Bitcoin, named after Bitcoin's creator.
A list of words that store all the information needed to recover a Bitcoin wallet.
The automated system that distributes bounty rewards to contributors once their pull request is verified and merged.
The unique identifier hash of a Bitcoin transaction, used to identify Lightning Network channels.
A security service that monitors the blockchain for potential channel breaches and takes action to protect funds if necessary.
The process of transferring Bitcoin from your Lightning Bounties account to your personal Lightning wallet.
git checkout main
git pull
git checkout -b fix-bounty-issue-reference
git add .
git commit -m "Add reference to close issue #X for Lightning Bounty"
git push origin fix-bounty-issue-reference
Sign in to your Coinbase.com account.
Access the Coinbase mobile app.
Select My Assets.
Select My assets, then Cash out.
Select your local currency balance.
Enter the amount you want to cash out.
Select the Cashout tab and enter the amount you want to cash out.
Select your Cash out from balance and choose your Deposit to destination
Select Transfer to and choose your cash-out destination.
Select Preview cash out and confirm your selections.
Select Review.
Select Cash out now to complete your transfer.
Select Withdraw cash to complete your transfer.
Bounties come along with a lock time, during which the escrow of the bounty reward is guaranteed.
After the lock time is over, you may expire the reward which will automatically return the sats back to your wallet.
Lock time helps bounty hunters know the reward will be available by the time they submit their solution. But being able to expire rewards is neccessary because sometimes you solve the issue yourself or your priorities for development change.
We recommend two weeks as a standard lock time, to give your hunters time to submit a PR, but also a short enough time to iterate on your bounty postings and format.
Go to app.lightningbounties.com and Log-In through GitHub
Copy/Paste the GitHub Issue URL and set the amount in Sats for the Bounty Reward
Click in the Advanced Settings Toggle
Set the Lock Reward Time in either
Minutes
Hours
Days
Weeks
Months
We recommend two weeks as a standard lock time, to give your hunters time to submit a PR, but also a short enough time to iterate on your bounty postings and format.
Click on "Submit New Reward"
Definition: A bounty is locked when its reward is held in escrow for a specific lock time, guaranteeing availability to bounty hunters.
How it works:
The lock time is set when you post a bounty (e.g., two weeks is recommended).
During this period, the reward cannot be expired or reclaimed by the bounty poster.
Bounty hunters can work on the issue with confidence that the reward is guaranteed if they submit a valid solution within the lock window.
Visibility:
The remaining lock time is displayed on the bounty detail page and in your dashboard.
A lock emoji or label indicates the bounty is currently locked.
Best Practice:
Two weeks is suggested as a standard lock time, balancing developer opportunity and bounty iteration.
Definition: A bounty becomes unlocked when the lock time expires.
What changes:
The poster can now manually expire the reward and reclaim their sats if needed.
The bounty remains open and visible to hunters until it is solved or you take action.
The reward is not automatically revoked; it is still claimable by bounty hunters until you expire it.
Visibility:
Unlocked bounties are labeled as such in your dashboard, and an "Expire Reward" button appears.
An unlock emoji or label indicates the bounty is now eligible for expiry.
Guaranteed Escrow: Lock time ensures bounty rewards are available for a set period, giving hunters confidence to submit solutions.
Flexible Expiry: After the lock time, posters can reclaim funds if the issue is solved elsewhere or priorities change.
Manual Control: Bounties do not expire automatically. You must take action to expire and reclaim your sats after the lock time ends.
Withdrawing Funds from Lightning Bounties
This guide will walk you through the process of withdrawing your earned Bitcoin rewards from your Lightning Bounties account to your personal Lightning wallet using Lightning Network invoices. The process is straightforward, quick, and allows you to access your bounty rewards within seconds.
Before you begin the withdrawal process, make sure you have:
Successfully claimed at least one bounty reward
A Lightning Network compatible wallet (such as , , , or )
A non-zero balance in your Lightning Bounties account
We recommend keeping approximately 2% of your total withdrawal amount in your Lightning Bounties account to cover Lightning Network transaction fees.
Visit
Click on "Login with GitHub" in the top right corner
Click on your profile avatar in the top right corner
Click on the "Withdraw" Button
You'll need to generate a Lightning invoice from your wallet of choice.
We covered Coinbase specifically in a detailed section
Paste your Lightning invoice into the input field
Review the "Decoded Invoice" information that appears
Click the "Withdraw" button to initiate the payment
You'll see a "Payment initiated successfully. But not confirmed yet" notification
The system will process your payment, which typically completes within seconds
Check your Lightning wallet to confirm receipt of funds
Lightning Bounties provides flexible ways to view your balance:
Toggle between Sats and Fiat: Click on your displayed toggle and shows balance (e.g., 60 sats & "0.06") to switch between sats and USD display formats
Reserved Funds Display: The platform shows any funds that are currently reserved for bounties that you posted and are not yet solved.
When you paste a Lightning invoice, our built-in decoder automatically:
Verifies the invoice is valid
Extracts and displays the:
Payment amount in sats
Expiry time
Memo or Payment description (if included)
Destination Hash
Alerts you to any potential issues before completing the withdrawal
No minimum withdrawal: Lightning Bounties doesn't enforce a minimum withdrawal amount
Fee recommendation: Keep approximately 2% of your withdrawal amount in your account to cover Lightning Network routing fees
Processing time: Most withdrawals are processed instantly, but may occasionally take up to 5 minutes during high network activity
Invoice expiration: Lightning invoices typically expire after a set period (usually 60 minutes to 24 hours, depending on your wallet)
Need more help? Join our for assistance with withdrawals or any other Lightning Bounties features.
Top 50 Bitcoin & Lightning Network Terms for Bounty Hunters
A string of alphanumeric characters representing a destination for a Bitcoin payment, similar to an email address or bank account number.
Any cryptocurrency other than Bitcoin.
A company that develops Lightning Network products including Phoenix wallet and Eclair implementation.
The main Bitcoin blockchain where final settlement occurs, as opposed to second-layer solutions like Lightning Network.
A decentralized digital currency created in 2009 by Satoshi Nakamoto that operates without a central authority.
The reference implementation of Bitcoin software that serves as the standard for the Bitcoin protocol.
May 22nd, commemorating the first real-world Bitcoin transaction in 2010 when Laszlo Hanyecz paid 10,000 BTC for two pizzas.
The original document published by Satoshi Nakamoto in 2008 titled "Bitcoin: A Peer-to-Peer Electronic Cash System."
A collection of transactions bundled together and added to the blockchain.
The number of blocks preceding a particular block in the blockchain.
The new bitcoins distributed by the network to miners for each successfully mined block.
A distributed ledger technology that maintains a continuously growing list of records (blocks) secured using cryptography.
A payment connection between two Lightning Network nodes that allows for multiple transactions without touching the Bitcoin blockchain.
Keeping bitcoin offline in a device or medium not connected to the internet for enhanced security.
The process by which all nodes in the network agree on the state of the blockchain.
A custodial wallet is a wallet wherein the user’s private keys are held by a third party, such as an exchange. The third party has full control over the user’s funds, while the user only has permission to send and receive bitcoin.
The third party is responsible for providing a backup to the wallet in case the user forgets their login information. A custodial wallet is subject to the security practices of the third party, which reduces the users responsibility, but creates an increased risk to the seed phrase and the keys stored by the wallet if the third party is hacked.
The dynamic system where Bitcoin transaction fees are determined by supply (block space) and demand (pending transactions).
A computer running software that fully validates transactions and blocks on the Bitcoin network.
An event occurring approximately every four years where the block reward for mining new Bitcoin blocks is cut in half.
A permanent divergence in the blockchain that occurs when non-upgraded nodes can't validate blocks created by upgraded nodes following newer consensus rules.
A physical device designed to securely store cryptocurrency private keys offline.
The computational power being used by miners to secure the Bitcoin network.
Solutions built on top of the Bitcoin blockchain to improve scalability, such as the Lightning Network.
Users of the lightning network use a lightning invoice to request a payment. It is defined by BOLT 11 and includes an amount to be paid, destination of the payment, and an optional message. Unlike bitcoin addresses, lightning invoice’s expire after a set amount of time. By default, this is set to 60 minutes.
A second-layer payment protocol that operates on top of Bitcoin to enable fast, scalable transactions and micropayments.
A service that helps users establish channels and manage liquidity on the Lightning Network.
The availability of bitcoin in payment channels that enables routing of payments through the Lightning Network.
A protocol for Lightning Network that simplifies the process of connecting applications to Lightning wallets.
A complete implementation of a Lightning Network node by Lightning Labs.
The waiting area for unconfirmed Bitcoin transactions before they're included in a block.
A security feature that requires multiple signatures to authorize a Bitcoin transaction.
A computer connected to the Bitcoin or Lightning network that validates transactions according to network rules.
Non-custodial wallets give the user full control over their funds and the associated private keys. By using a non-custodial wallet, a user is their own bank; they can initiate transactions, and are responsible for the security of their wallet, including protection of their seed phrase, which can be used to restore their wallet if it’s lost or compromised.
A decentralized social network protocol often used by the Bitcoin community, with integration capabilities for Lightning payments.
Transactions that occur directly on the Bitcoin blockchain, not on second-layer solutions.
Transactions that occur outside the Bitcoin blockchain, such as those on the Lightning Network.
Software whose source code is publicly available, allowing anyone to inspect, modify, and enhance it.
A secret number that allows bitcoins to be spent, functioning as a password that gives access to your bitcoin.
A cryptographic code derived from a private key, used to create Bitcoin addresses for receiving funds.
A protocol for issuing and transferring digital assets on Bitcoin and Lightning Network.
The process of finding a path through multiple payment channels to complete a Lightning Network payment.
The smallest unit of Bitcoin, equal to 0.00000001 BTC. Named after Bitcoin's creator.
The pseudonymous creator of Bitcoin whose true identity remains unknown.
A Bitcoin protocol upgrade that changed how data is stored in blocks, increasing capacity and fixing transaction malleability.
Maintaining full control of your private keys and thus your bitcoin, rather than relying on a third party.
A change to the Bitcoin protocol where only previously valid blocks/transactions are made invalid, backward-compatible with older versions.
A Bitcoin upgrade implemented in 2021 that improved privacy, efficiency, and smart contract functionality.
An alternative Bitcoin blockchain providing developers with a testing environment without using real bitcoin.
A feature that restricts spending bitcoin until a specified future time or block height.
An anonymity network often used by Bitcoin nodes to increase privacy by concealing users' locations and usage.
The output of a transaction that can be spent in the future; effectively, your bitcoin balance consists of UTXOs.
Software or hardware that stores private keys and allows users to send and receive bitcoin.
A wallet that can see transactions but cannot spend the funds because it doesn't have the private keys.
A service that monitors the Lightning Network for potentially fraudulent channel closures and broadcasts justice transactions.
A transaction that has been broadcast to the network but not yet included in a block, also called an unconfirmed transaction.
Top 50 GitHub Terms for Bounty Hunters and Open Source Developers
An automated workflow in GitHub that can be triggered by specific events like pushes, pull requests, or issue creation.
The person assigned responsibility for resolving an issue or implementing a pull request.
The branch into which changes from a pull request will be merged.
A GitHub feature that shows which user last modified each line of a file, useful for understanding code history.
A parallel version of the repository that allows you to work on changes without affecting the main codebase.
A monetary reward offered to developers who identify and report bugs, particularly security vulnerabilities.
Creating a local copy of a remote repository on your machine.
A document that establishes expectations for behavior of project participants.
A person or team designated as responsible for specific parts of a codebase, automatically requested for review when those parts change.
A saved change to files in a repository, recorded with a unique ID and commit message.
Documentation that explains how people should contribute to a project.
A library or package that your project relies on to function.
A commonly used communication platform for open source communities and bounty programs.
A pull request explicitly marked as work-in-progress and not yet ready for review or merge.
A personal copy of another user's repository that lives on your account.
The distributed version control system that GitHub is built upon.
GitHub's built-in continuous integration and continuous delivery (CI/CD) platform.
A tracked item in a repository used for reporting bugs, requesting features, or discussing tasks.
An issue labeled specifically for newcomers to the project, typically simpler to address.
An annual event encouraging participation in open source during October with rewards for contributions.
Scripts that run automatically when certain events occur in a repository.
A pre-defined format for creating new issues that helps contributors provide necessary information.
A project management tool in GitHub that organizes issues and pull requests into columns representing different stages of work.
A tag applied to issues or pull requests for categorization and filtering.
A legal document specifying how others can use, modify, and distribute your project's code.
Someone who manages a repository and is responsible for its direction and quality.
A lightweight markup language used for formatting text on GitHub (like this document).
The act of combining changes from one branch into another.
A situation that occurs when Git can't automatically resolve differences between merged branches.
A grouping of issues and pull requests that track progress toward a specific goal or release.
Software for which the original source code is freely available and may be redistributed and modified.
A method for submitting contributions to a project by requesting that maintainers review and merge your changes.
A branch with rules that control how and when changes can be merged into it.
Sending committed changes from your local repository to the remote repository.
A file that introduces and explains a project, typically including installation and usage instructions.
A software package created from a specific point in a repository's history, often with version numbers.
A storage location for a project containing all of its files and each file's revision history.
The process of examining code changes before they are merged into the main codebase.
An announcement about a security vulnerability in a project, often including remediation information.
Combining multiple commits into a single commit before merging.
A secure method for authentication between your computer and GitHub.
A bookmark or expression of appreciation for a repository.
A label that marks a specific point in a repository's history, often used for release versions.
A repository that serves as a starting point for new projects with predefined files and settings.
The original repository from which you forked your copy.
A system that records changes to files over time so you can recall specific versions later.
A weakness in code that can be exploited for unauthorized access or damage.
A configurable automated process in GitHub Actions made up of one or more jobs.
A way for applications to receive real-time notifications when specific events occur in a repository.
"Invalid invoice" error
Check that you've copied the entire invoice string correctly and that it hasn't expired
Payment shows as "initiated but not confirmed"
The Lightning Network might be experiencing congestion - wait a few minutes and check your wallet
Routing failures
Lightning Network routing issues can occur - try generating a new invoice or try again in a few minutes
Transaction fees too high
Keep approximately 2% of your total amount in your account to cover routing fees
First off, thanks for taking the time to contribute! ❤️
All types of contributions are encouraged and valued. See the Table of Contents for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉
And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
Star the project
Tweet about it
Refer this project in your project's readme
Mention the project at local meetups and tell your friends/colleagues
I Have a Question
I Want To Contribute
Reporting Bugs
Suggesting Enhancements
Your First Code Contribution
Improving The Documentation
Styleguides
Commit Messages
Join The Project Team
If you want to ask a question, we assume that you have read the available Documentation.
Before you ask a question, it is best to search for existing Issues that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first.
If you then still feel the need to ask a question and need clarification, we recommend the following:
Open an Issue.
Provide as much context as you can about what you're running into.
Provide project and platform versions (python, npm, etc), depending on what seems relevant.
We will then take care of the issue as soon as possible.
Legal Notice
When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.
Before Submitting a Bug Report
A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible.
Make sure that you are using the latest version.
Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the documentation. If you are looking for support, you might want to check this section).
To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the bug tracker.
Also make sure to search the internet (including Stack Overflow) to see if users outside of the GitHub community have discussed the issue.
Collect information about the bug:
Stack trace (Traceback)
OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant.
Possibly your input and the output
Can you reliably reproduce the issue? And can you also reproduce it with older versions?
How Do I Submit a Good Bug Report?
You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to .
We use GitHub issues to track bugs and errors. If you run into an issue with the project:
Open an Issue. (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.)
Explain the behavior you would expect and the actual behavior.
Please provide as much context as possible and describe the reproduction steps that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case.
Provide the information you collected in the previous section.
Once it's filed:
The project team will label the issue accordingly.
A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as needs-repro
. Bugs with the needs-repro
tag will not be addressed until they are reproduced.
If the team is able to reproduce the issue, it will be marked needs-fix
, as well as possibly other tags (such as critical
), and the issue will be left to be implemented by someone.
This section guides you through submitting an enhancement suggestion for Lightning Bounties, including completely new features and minor improvements to existing functionality. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions.
Before Submitting an Enhancement
Make sure that you are using the latest version.
Read the documentation carefully and find out if the functionality is already covered, maybe by an individual configuration.
Perform a search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library.
How Do I Submit a Good Enhancement Suggestion?
Enhancement suggestions are tracked as GitHub issues.
Use a clear and descriptive title for the issue to identify the suggestion.
Provide a step-by-step description of the suggested enhancement in as many details as possible.
Describe the current behavior and explain which behavior you expected to see instead and why. At this point you can also tell which alternatives do not work for you.
Explain why this enhancement would be useful to most Lightning Bounties users. You may also want to point out the other projects that solved it better and which could serve as inspiration.
To make your first code contribution, follow these steps:
Fork the Repository and Clone it
Fork the repository on GitHub.
Clone the forked repository to your local machine.
Modify the Code
Open the src/main.py
file and make the desired changes to reflect your modifications.
Generate a Lightning Invoice
Generate a lightning invoice for the payment.
Copy the invoice string into the reward.txt
file.
Commit and Submit a Pull Request
Add and commit your changes to the local repository.
Submit a pull request to the base repository.
Pay the Invoice
A GitHub action will be triggered to request a "dust" payment from you (the contributor) to the base repository (the owner).
Choose the action that says "Please pay the invoice: lnbc10n1..." (not the one that says "Extracted values:...").
Wait for the payment confirmation.
Once the payment is confirmed, you'll receive a message saying "Thank you for your payment!"
Request a Reviewer
Ask for a reviewer to review your pull request.
Choose either Enrique or Will for this test.
Review and Analysis
After a few seconds, a new action will run.
It will first say "Payment has been received, sit tight, running openai query."
Approximately 30 seconds later, it will return with a summary of your changes and a security vulnerability analysis.
Merging the Pull Request
We'll keep an eye out for your pull request and attempt to merge it for you. As a contributor, you don't have the power to merge it yourself.
Alternatively, if you prefer to replicate our work in your own repository:
Copy the contents of the .github/
directory into your repository.
Modify the main.py
file accordingly.
Set up the following secrets in your repository settings:
OPENAI_API_KEY
PAY_INVOICE_KEY
(admin key for LNBits)
WALLET_API_KEY
(invoice/read key for LNBits)
WALLET_BASE_URL
(URL for your LNBits instance)
If you want to improve the documentation, please follow the same process as described in the "Your First Code Contribution" section, but focus on updating the documentation files instead of the code.
When writing commit messages, please follow these guidelines:
Use the present tense ("Add feature" not "Added feature")
Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
Limit the first line to 72 characters or less
Reference issues and pull requests liberally after the first line
If you're interested in joining the project team, please contact us at [email protected].
This guide is based on the contributing-gen. Make your own!
!!! warning "Beta Version" This project is currently in beta and under active development. The testing process described in this document may change frequently as we make updates and improvements.
If you have any questions or would like to discuss potential contributions, please email us at [email protected].
This guide outlines the complete process for claiming rewards and provides troubleshooting steps for developers working on the Lightning Bounties Platform.
To successfully claim a reward for a bounty, follow these steps:
It’s essential to register and log in to Lightning Bounties using your GitHub account before submitting your PR and clicking "Claim Reward."
This ensures your reward is properly linked to your account and that you’re eligible to claim the bounty.
See For Detailed Instructions.
Browse available bounties on the feed
Review the issue details, requirements, and reward amount
Check if the bounty is still available (not claimed by someone else)
See For Detailed Instructions.
Fork the repository to your GitHub account
Clone your fork locally and create a branch for your work
Implement the fix according to the issue requirements
Test your changes thoroughly to ensure they meet all acceptance criteria
Push your changes to your fork
See For Detailed Instructions.
Go to the original repository on GitHub.
Click "Compare & pull request" for your branch.
CRITICAL STEP
In the PR description, include close #issue-number
or closes #issue-number
to link the PR to the issue.
Why?GitHub only recognizes linked issues when the PR targets the repository's default branch (usually main or master).
Provide a clear explanation of your changes and how they address the issue.
You can include as much additional information as needed in your PR description.
Submit the PR for review
Screenshot Example:
The repository maintainer will review your PR.
Once it is approved and merged, the issue will be closed automatically if you used the correct close
syntax.
See For Detailed Instructions.
Manually claim your reward:
Visit and find the Bounty you solved
Click the "Claim Reward" button
Click the "Check" button to verify your eligibility
IMPORTANT
The reward process will not start automatically.
You must manually complete the claim steps on after your PR is merged.
Once your PR is merged and your eligibility is verified, the reward will be deposited directly into your Lightning Bounties balance.
If you encounter issues claiming your Lightning Bounty reward, use this guide to diagnose and resolve common problems.
For more details, see the and .
Problem Indicators:
The PR does not show the linked issue in the GitHub interface.
The issue remains open after your PR is merged.
The reward does not process automatically.
If your PR is still open, you can update the PR description to add the correct closing keyword (e.g., close #issue-number
).
Navigate to your pull request on GitHub.
Near the top of the PR page, locate the description section (below the title).
Hover over the description area and click the "Edit" (... or pencil) icon.
Add the close #issue-number
keyword at the top of the PR description (not in a comment or commit message, as only the PR body triggers the automation for Lightning Bounties and GitHub).
Contact the repository owner or maintainer
Ask them to edit the PR description to add the closing keyword
If your original PR has already been merged without the correct closing keyword:
Create a new PR with a minimal change (e.g., update documentation, add a comment, or fix a typo).
In the PR description, include the appropriate closing keyword (e.g., close #42
).
Reference your original PR:
Notify the repository owner about this follow-up PR and explain its purpose.
Once merged, return to Lightning Bounties and click "Claim Reward" and "Check."
If you are unable to resolve the issue through the above steps, join the and request an override from the LB team.
Add a comment to the PR, tagging the maintainer (e.g., @maintainer
) and include the Lightning Bounties issue URL.
Ask the maintainer to respond in the PR thread confirming that the PR qualifies for the bounty.
The maintainer must write a clear comment confirming the qualification (an emoji or reaction is not sufficient as proof).
For more details on linking PRs to issues, see .
Verification Steps:
Confirm the issue is marked as "closed" on GitHub
Verify the PR that closed it has been merged
Check that you clicked "Claim Reward" on Lightning Bounties
Solutions:
Check User Balance: Ensure your account balance is updated on
Verify Wallet Setup: Make sure your Lightning Network wallet is correctly configured
Contact Support: If issues persist, reach out to the Lightning Bounties for assistance
Always double-check the issue number when adding close #issue-number
syntax
Communicate clearly with repository maintainers about your bounty claim
Keep PRs focused on addressing the specific issue
Don't forget to manually click "Claim Reward" on Lightning Bounties platform
The Lightning Bounties system requires both proper GitHub issue linking through the close #issue-number
syntax AND manual claiming through the Lightning Bounties platform.
Both steps are essential for successful reward processing
For additional assistance, join the Lightning Bounties community.
Need answers? Check out our FAQs. Get quick solutions and make the most of our Lightning Bounties.
close #42
This PR references the work completed in #123 (original PR).
Missing link syntax
PR doesn't include close #issue-number
Edit PR description or create follow-up PR
Wrong issue number
PR references incorrect issue
Edit PR or create new PR with correct number
Not claiming reward
Forgot to click "Claim Reward" button
Go to Lightning Bounties app and click button
Issue already claimed
Another dev claimed the bounty first
Check issue status before working on it
This guide is for bounty posters using Lightning Bounties who want to know how to expire an open bounty or reclaim their sats.
Expiring a bounty allows the creator to reclaim the reward if the issue remains unsolved after the lock time period. This process is secure and ensures that developers always have a guaranteed window to work on issues.
Log In: Visit app.lightningbounties.com and log in with your GitHub account.
Navigate to Your Bounties: Go to your dashboard by clicking on your profile avatar (Top Right)
Once on Your dashboard select the "My Rewards" Tab.
Check Lock Time Status: Locate the bounty you wish to expire. Ensure the lock time period has ended. You will see an indicator or countdown showing when expiry is allowed.
Expire the Bounty:
Click the "Expire Reward" button next to your bounty.
Reclaim Funds: The reward will be returned to your Lightning Bounties account balance, ready for withdrawal or use in other bounties.
In this guide: Learn how to properly claim multiple bounties in one PR when working on several issues at once, avoid common pitfalls, and ensure you receive all your rewards.
You can solve and claim multiple bounties in a single pull request by referencing several issues in your PR description (e.g., close #6 close #12
).
You must click "Claim Reward" & "Check" on each individual issue on Lightning Bounties to receive each bounty reward.
Claiming is done separately for every issue, even if they were closed together in one PR.
Solve multiple issues
Make sure each issue you solve is still open bounty.
Create a single PR referencing all issues
In your PR description, use the closing keywords for each issue you solved:
close #issue-number
This will close all referenced issues when the PR is merged.
Wait for PR approval and merge
Once the PR is merged, GitHub will close all referenced issues.
Claim rewards individually
Go to each issue’s page on Lightning Bounties.
Click 'Claim Reward' and 'Check' for each bounty you solved.
Each bounty reward will be processed separately.
Forgetting to use closing keywords:
Always include close #issue-number
for each issue in the PR description (not in comments or commits).
Not claiming each bounty: After your PR is merged, visit each issue on Lightning Bounties and click "Claim Reward" separately.
Trying to claim after missing a close keyword: If you forgot to link an issue, create a minimal follow-up PR for that issue, include the correct closing keyword, and reference the original PR.
Assuming rewards are automatic: Rewards are not sent automatically when the PR is merged. You must manually claim each one.
Always use closing keywords (close #issue-number
) in the PR description, not in comments or commits.
You must claim each bounty individually on Lightning Bounties, even if multiple issues were closed in one PR.
If you accidentally missed a bounty, create a minimal follow-up PR to properly close and claim it.
Refresh the PR page after editing links to see updates.
For more details, see Claim Reward Criteria & Troubleshooting Guide and GitHub’s guide to linking pull requests to issues.
For additional assistance, join the Lightning Bounties Discord community.
Learn how to find unsolved bounties and start your journey to earning Bitcoin with Lightning Bounties.
Looking to earn Bitcoin for your coding skills? This guide will show you how to discover open, unsolved bounties on Lightning Bounties, evaluate their details, and get ready to contribute.
Visit app.lightningbounties.com.
Explore the feed for available bounties. Each listing includes the project, issue description, and reward amount.
Each bounty card shows:
Project name (organization/repo)
Issue title and brief description
Reward amount in sats
No "Trophy" icon: Bounty is unsolved and open for you to solve.
"Trophy" icon present: Bounty has already been solved and claimed.
Select any bounty in the feed to view more information.
Review the issue description, requirements, and acceptance criteria.
Make sure the bounty is still available (not claimed or solved).
For more context or to join the discussion, click the GitHub link at the top of the bounty detail page.
This opens the original GitHub issue, where you can:
See all comments and related activity
Check for recent maintainer responses
Review any related pull requests
Once you’ve found a bounty you want to work on, continue to Working on a Bounty for a step-by-step guide on submitting your solution and claiming your reward.
Check Requirements: Always read the bounty’s requirements and acceptance criteria before starting.
Act Fast: Some bounties may be solved quickly. Start your work as soon as you find an issue that interests you.
Look for the Winner icon: If it’s missing, the bounty is still available.
Stay Updated: Follow Lightning Bounties on social media and join our community channels to hear about new bounties and platform updates.
Ask Questions: If anything is unclear, reach out to the project maintainer or join our Discord Community for help and tips.
Adding Rewards to Existing Bounties (Crowdfunding)
Crowdfunding on Lightning Bounties enables multiple people to pool Bitcoin (sats) into a single bounty reward. This transforms traditional single-sponsor bounties into community-driven funding efforts, making open-source development more collaborative and financially sustainable.
Bounty crowdfunding allows anyone to add Bitcoin rewards to existing GitHub issues, regardless of registration status or project ownership. Unlike traditional bounty systems where only one person funds an issue, Lightning Bounties enables collaborative funding where multiple users can contribute sats to fund a single bounty
Multiple people can contribute sats (Bitcoin) to a single bounty.
No registration required: Anyone can add funds, even without a Lightning Bounties or GitHub account.
Microfunding: Add as little or as much as you want.
Works for any GitHub issue: You don’t need to be the project owner to post or fund a bounty.
Crowdfunding enables:
Raise pre-seed for your GitHub issues
Fund features in dependencies you rely on
Support colleagues, friends, or open-source maintainers
It democratizes funding, making it possible for anyone to support the projects they care about and help accelerate open-source progress.
This button is available on every bounty, whether you’re logged in or not!
This button is available on every bounty, whether you’re logged in or not!
This button is available on every bounty, whether you’re logged in or not!
Open your preferred Lightning wallet (Phoenix, Muun, Breez, Wallet of Satoshi, etc.).
Scan the QR code or paste the invoice string.
Confirm the payment
In less than 60 seconds, you should see the "Payment received, reward added! successfully Refreshing in 5 secs..." pop-up
Here, you see the Anonymous Reward You Just Posted
Anyone can contribute: No need to log in or register.
Funds are pooled: Every contribution increases the bounty’s total reward.
Bounty hunters are incentivized: Higher rewards attract more developers to solve the issue.
Third-party bounties supported: You can post and fund bounties on projects you don’t own.
For a video walkthrough, check out this demo of Lightning Bounties crowdfunding.
Kickstart new features: Gather support for feature requests before development starts.
Fix critical bugs: Rally the community to resolve high-impact issues.
Support dependencies: Fund features or fixes in libraries your project depends on.
Show appreciation: Pool funds to thank maintainers or contributors.
Crowdfunding on Lightning Bounties turns every open-source user into a potential supporter. Pool your sats, fund the future, and help build the Bitcoin ecosystem—one bounty at a time!