Only this pageAll pages
Powered by GitBook
1 of 41

Lightning Bounties Documentation

Loading...

Getting started

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...

Resources

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

FIRST TIME ONBORDING

Getting started just takes 4 easy steps or 4 clicks.

1 - Go to app.lightningbounties.com

2 - Click on the button "Login with GitHub"

3 - Click on the button Authorize Lightning-Bounties

4 - You are in the Lightning Bounties app

Wasn't that easy?

GitHub Auth & Lightning Bounties

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.

Linking Your GitHub Account to Lightning Bounties is Necessary For Several Reasons:

Authentication:
It verifies your identity and prevents fake accounts.

​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.

TLDR: Linking your GitHub account streamlines bug hunting, promotes collaboration, and ensures proper reward distribution.

Understanding Permissions

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.

Comparison with Other GitHub Apps/Services

Many GitHub applications request broader permissions than we do. Here's a quick comparison:

Feature
Lightning Bounties
Algora PBC
Replit
Kodiak

Read-only Access

✅

❌

❌

✅

Write Access

❌

✅

✅

✅

Public-only Access

✅

❌

❌

❌

Access to Private Repos

❌

✅

✅

✅

Explanation of Other Platforms:

  • 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.

Unlinking Your GitHub Account From Lightning Bounties

If you decide to unlink your GitHub account from Lightning Bounties, please follow these instructions:

  1. Go to GitHub: Log in to your GitHub account.

  2. Navigate to Settings: Click on your profile picture in the top right corner, then select Settings from the dropdown menu.

  3. Applications: In the left sidebar, click on Applications.

  4. Authorized OAuth Apps: Under the Authorized OAuth Apps section, locate Lightning Bounties.

  5. Revoke Access: Click on Lightning Bounties and then select the Revoke Access button.

  6. 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.

If you wish to link your GitHub account to Lightning Bounties again in the future:

  1. Visit app.lightningbounties.com

  2. Click on the "Login with GitHub" button.

  3. You will be all set to continue using the platform!

Lightning Bounties | Docs

Welcome to Lightning Bounties Documentation!

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.

Getting Started

About Lightning Bounties

Community & Engagement

FAQ's & Resources:

⚡ Powered By Open-Source ⚡

MANAGING YOUR BOUNTY

Frequently Asked Questions

Frequently Asked Questions

Lightning Bounties FAQ's Lightning Network FAQ's

Mission

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.

Goals

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.

Values

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.

LICENSE.md

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

Issue Lock Time
Expire or Reclaim a Bounty Reward
Add Reward to an Existing Bounty
Withdrawing Funds
Detach Issues from Pull Requests
User Balances Overview

External resources

First Time Onbording:

Loggin into Lightning Bounties for the first time.

Posting a Bounty:

Steps for submitting pull requests & Guidelines for successful bounty claims.

Solving a Bounty:

Instructions for bounty hunters on the submission process, verification steps, and dispute resolution.

Depositing Sats:

Step-by-step guide on how to deposit funds into your account, including troubleshooting common issues.

Withdrawing Sats:

How to withdraw rewards by providing a Lightning invoice from your wallet or exchange.

Manging Your Bounty:

  • Issue Lock Time

  • Add Reward to an Existing Bounty

  • Expire or Reclaim a Bounty Reward

  • User Balances Overview

About Lightning Bounties:

Mission:

Goals:

Values:

Features:

Why Choose Lightning Bounties?

Lightning Bounties Team:

Blog & Announcements:

Social Media & Community Channels:

Frequently Asked Questions

Quick References

External Resources

Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Cover

SOLVING A BOUNTY

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.

Available Balance

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.

Reserved Balance

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.

Features

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:

Minimal Friction, Maximum Accessibility

  • 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.

Crowdfunding Bounties

  • 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.

Bounty Lock Time & Expiry

  • 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.

Smart Reward Distribution

  • 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.

Deposit Funds

On: , go to your profile

1 - Click on the "Deposit" button

Notice how this profile already has 300 sats

2 - Add the amount of sats to deposit

In this example, we are adding 500 sats

3 - Click on the "Generate" button

4 - Use your preferred Lightning app to scan the generated QR code

5 - After scanning, your added sats will be reflected on your balance

Notice how this profile went from 300 to 800 after depositing 500 sats

Finding Bounties to Solve
Working on a Bounty
Claiming Multiple Bounties: Multi-Bounty PRs
Claim Reward Criteria & Troubleshooting Guide
Withdraw Funds
Working on Opensource Frontend: lb-next
How to Convert Sats into Local Currencies
see demo video
app.lightningbounties.com

Why Choose Lightning Bounties?

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:

1. It Costs Nothing to 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.

2. Minimal Friction

  • 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.

3. Instant Bitcoin Rewards

  • 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.

4. Crowdfunding for Open Source

  • 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.

5. Global Accessibility

  • 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.

6. Built for Open Source Innovation

  • 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?

POSTING A BOUNTY

Simple Workflow on How to Post a Bounty on Lightning Bounties

1. Visit app.lightningbounties.com & Click on Login with GitHub

Located on the Top Right

Step 1 screenshot

2. Copy/Paste Your GitHub Issue URL

Step 2 screenshot

3. Set the amount in Sats for the Bounty Reward

For this example we will use 21000 sats.

Step 3 screenshot

4. Click on Advanced settings

Step 4 screenshot

5. Click on dropdown trigger and set the duration

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.

Step 5 screenshot

6. Click on dropdown Trigger and set the Lock Time to be in minutes, hours, days weeks or months.

Step 6 screenshot

7. For this example we will set the bounty for 2 weeks.

Step 7 screenshot

8. Click on Submit new reward

Step 8 screenshot

Congrats! You just posted your first bounty!

Lightning Bounties Team

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.

Enrique Gamboa
Will Sutton
Pavel Kononov
Mike Abramo

Partnerships & Growth

Product & Strategy

Engineering & Project Management

Marketing & Developer Relations

Create a GitHub issue and Submit a new reward

1 - Create a GitHub issue

1.1 - On your GitHub repo, click on the Issues tab

1.2 - Click on New issue

1.3 Add title and description to issue

1.4 Copy the link of issue created

2 - Create a reward from a GitHub issue on app.lightningbounties.com

2.1 - Add the URL of GitHub issue and the amount in sats to reward fixing the issue

2.2 - Hit Submit new reward, and the GitHub issue will be published on Lightning Bounties

Issue posted on platform:

Working on Opensource Frontend: lb-next

Quickstart for developing on lb-next

Repo located here: https://github.com/Lightning-Bounties/lb-next/

Instructions for connecting local frontend to remote backend

We don't want to click "sign in with github" on localhost, but instead add the jwt token directly to simulate signing in.

  1. In .env.local set:

    1. make this edit, don't forget https

      NEXT_PUBLIC_API_URL=https://app.lightningbounties.com

    2. after reloading the page you should see the same bounties on the feed

  2. Get the accessToken from app.lightningbounties.com

    1. Go to https://app.lightningbounties.com

    2. Open chrome developer tools, go to Application tab, go to Local storage.

    3. Find accessToken and sign-in with github on the browser.

    4. Copy the value of accessToken, it should begin with Bearer eyJhbGc...

  3. Set accessToken on localhost:3000

    1. 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.

    2. Paste the value of the token into local storage (including the Bearer prefix).

    3. Reload the page on localhost:3000, and you should be signed in under your app.lightningbounties.com user.

Video of Setup

4MB
set-jwt-localhost-1.mp4

Or visit: https://4191743023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgvH1HLwrajw9XplSBFfy%2Fuploads%2FiHh8RbltxAwaS7x9H0wy%2Fset-jwt-localhost-1.mp4?alt=media&token=99e8108e-a337-4532-bdd3-010577c112be

Social Media Channels

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.

Social Account
Purpose

ABOUT LIGHTNING BOUNTIES

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.

app.lightningbounties.com
GitHub
GitHub
GitHub
GitHub
🎉

Website

Visit our website to learn more about Lightning Bounties, view our blog, sign up for our waitlist, and track our progress.

Bounty Platform

Interested in earning some Bitcoin? Go to our Bug Bounty Platform and Start Solving Bounties. New bounties are posted daily.

Discord

Join our Discord community to connect with fellow bounty hunters, share insights, and collaborate on solving bounties.

Twitter

Follow us on Twitter to stay updated with real-time program announcements, news, and important information.

GitHub

Explore our GitHub repo to access our platform's source code, contribute improvements, and review reported issues.

YouTube

Subscribe to our YouTube channel to access educational videos, and learn through our in-depth tutorials.

Blog

Hub for the latest updates, insights, and success stories from our community of bounty hunters.

LinkedIn

Follow us on LinkedIn for weekly development updates, team insights, and opportunities to engage with our growing community.

Email

For inquiries, feedback, or collaboration opportunities, please email us. Our team will gladly assist you.

Detach Issues from Pull Requests

How the Repo Maintainer can Detach Issues from Pull Requests

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.

Steps to Detach an Issue from a Pull Request

  1. Navigate to the Pull Request - Click on the Pull Requests tab and locate the pull request linked to the issue.

  1. 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).

  1. Update the Pull Request Description - After editing the description or comments, click the Save or Update Comment button to confirm your changes.

  1. 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.

    1. You can also make changes to the issue description.

Before Removing the Issue Link from the PR Body
After Removing the Issue Link from the PR Body

After removing the issue link from the PR body, refresh the page to see the changes reflected in the PR interface. The previously linked issue will no longer appear in the related issues section.

  • Learn more about issue-PR relationships here

Detaching the issue does not delete any comments or history.

  • Removing the linking keyword ensures that the issue and pull request are no longer automatically linked.

  • If the pull request has already been merged, the link cannot be removed.

Lightning Bounties Considerations

  • 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.


Best Practices

  • 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.

  • If you have additional questions, feel free to reach out to the repository maintainers or send a note to the Lightning Bounties Discord

Working on a Bounty

Here you can find the steps to be taken to work on a bounty to get rewarded.

1 - Look for an issue on the feed

In this example, we are using:

1.1 - Click on the issue to get details

1.2 - Click on 🔗 to see the issue in GitHub

2 - Fix the issue

2.1 - Fork the owner repo to your repository

2.2 - Work on the issue

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.

3 - Create a Pull Request

Create a pull request to the bounty poster repo.

3.1 - Close the issue you fix on the Pull Request description

⚠️ Note: This step is crucial⚠️

If you forget to add the tag close #(issue-number), & the PR is already merged.

You have 2 options:

[1] Edit the Pull Request Message

We got you covered! 👇


1. Go to your merged PR and Click Into It

2. Click the "..." button at the top-right of your PR description

3. Select "Edit"

4. Add close #[issue-number] to the PR description text

Example: If fixing issue #5, add close #5 to your PR description.

5. Click on "Update Comment"

# That's it!

This connects your PR to the issue and will trigger your bounty payment automatically.


ℹ️ Important Notes:

  • The closekeyword must be in the PR description itself, not in regular comments.

  • Adding this connection after merging will automatically trigger the lightning bounty payment.

  • If you cannot edit the PR, ask the repo owner to add the closesyntax for you.

[2] Creating a New Pull Request When You Forgot to Add close #issue-number

If your original pull request has been merged but you forgot to include the close #issue-number syntax needed for Lightning Bounties payment:

Steps to Create a New PR

1. Create a new branch from the current main/master branch

2. Make a minimal change (can be as simple as updating documentation or adding a comment)

Example: Add a small comment or documentation update

3. Push your branch

4. Create the new pull request

  • Go to the repository on GitHub

  • Click "Compare & pull request"

  • Important: Include close #X or closes #X in the PR description (where X is your issue number)

  • Explain that this PR is to properly close the issue for Lightning Bounty payment

  • Reference your original PR: "This PR references the work completed in #Y"

ℹ️ Important Notes:

  • The repository owner will need to review and approve this new PR

  • This is a technical solution to trigger the Lightning Bounties payment system

  • The minimal change is necessary as GitHub requires actual content changes for a PR

4 - Claim reward in

Once the Pull Request gets approved, the developer can claim the reward

4.1 - Click on "Claim Reward" and add pull requested number

4.2 - Reward will be added to the balance

How to Convert Sats into Local Currencies

Getting Started

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.

Part (1): Receiving Bitcoin via Lightning


  1. Sign in to your Coinbase account.

  2. Select Bitcoin as the asset you wish to receive.

  3. Select the Lightning network.

  4. Follow the prompts to create your invoice

    • Invoices are valid for 72 hours.

  5. Copy the invoice. You will need this in the next section.


Part (2): How to withdraw sats from Lightning Bounties to Coinbase?


  1. Login to Lightning Bounties: then click on your account.

  1. Initiate Withdrawal: Select the option to withdraw your sats.

3a. First, paste your invoice string into the input field

3b. Click the “Create”

  1. Your sats should now be reflected in your Coinbase account after the transaction is confirmed.


Part (3): Converting Your Crypto Into Fiat Using Coinbase.

Before you can cash out your crypto, you may need to sell it to your Coinbase cash balance before transferring the cash to your bank. You can then either transfer ("cash out") the funds to your bank or leave them in your cash balance for future crypto purchases. There's no limit on the amount of crypto you can sell for cash.

3a. Sell crypto to your Coinbase cash balance

To sell your crypto:

  1. Sign in to your Coinbase account, on the web or mobile app

  2. Select Buy & Sell

  3. Select Sell

  4. 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

  5. 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).

  6. Select Review order.

  7. 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.

3b. Cash out your funds

Browser
Mobile app

CODE_OF_CONDUCT

Code of Conduct - Lightning Bounties


Our Pledge: Channeling the Spirit of Satoshi

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.

Our Standards: The Proof-of-Work for Being Awesome

Positive Vibes Only (With Low Fees and Fast Confirmation):

  • 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 )

Things That'll Get You Soft-Forked Out:

  • 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 )

Our Responsibilities: Nodes of Integrity

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.

Scope: The Lightning Network of Our Community

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).

Enforcement: The Consensus Mechanism

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.

Enforcement Guidelines: The Difficulty Adjustment Algorithm

  1. Correction: A gentle reminder that you're human and humans make mistakes.

  2. Warning: A stern talking-to and a timeout from the community repository.

  3. Temporary Ban: A vacation from the community. Use this time to read the Bitcoin whitepaper again.

  4. Permanent Ban: The digital equivalent of a 51% attack against your participation. Permanent and irreversible.

Conflict Resolution: Achieving Consensus

Before things escalate to the "Enforcement" stage, try these steps:

  1. Talk it out directly (use your words, not your hash power)

  2. If that fails, ask a community leader for help (they're like the Lightning Network – here to resolve things quickly)

  3. If all else fails, initiate the formal reporting process (it's like calling for a hard fork, use it wisely)

Responsible Disclosure: Don't Break the Chain

As an open-source bug bounty platform, we expect all participants to practice responsible disclosure:

  1. Report vulnerabilities through our designated channels (not on Twitter, please)

  2. Provide enough info for us to reproduce the issue (we're good, but we can't read the blockchain of your mind)

  3. Give us a reasonable time to fix the issue before you go public (even the Lightning Network needed time to develop)

  4. Respect user privacy and data (treat others' data like you'd treat your private keys)

Attribution

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 Network FAQ's

How many Satoshi’s (Sats) are in one Bitcoin?

Each of the 21 million units of Bitcoin that will ever exist can be broken down further into 100,000,000 satoshis.

Are Lightning Wallets the Same as Bitcoin Wallets?

Not exactly. Lightning wallets are specifically designed to interact with the Lightning Network, while traditional Bitcoin wallets handle on-chain transactions. However, many modern wallets support both types of transactions.

Some wallets are Lightning-only, some are on-chain only, and some are hybrid wallets supporting both payment methods.

Why do Lightning Invoices Expire?

Why do invoices expire? If invoices had no expiry, recipients would likely run into memory/storage issues as the number of locally stored preimages grows with each payment attempt.

Credit: bitcoin.design

What is a Lightning Network channel?

A Lightning Network channel is a peer-to-peer payment channel that enables instant and low-cost transactions between two parties.

How do I open a Lightning Network channel?

Open a channel by sending a small amount of Bitcoin to another node or wallet, which serves as a deposit for the channel.

Do I need to run a Lightning Network node to use the network?

Nope, you don't need to run a node to use the Lightning Network. You can simply use a lightning wallet app to send and receive payments.

What is a "channel reserve" and how does it affect my onboarding experience?

Channel reserve is the amount of Bitcoin required to open a payment channel. Higher reserves can make it harder to find nodes and open channels.

What should I do if my Lightning transaction fails while trying to pay someone?

Lightning Network transactions can fail for a few common reasons. The most frequent one is usually just not having enough funds in your channel to cover the payment. Make sure you've got enough money in the account you're sending from and don't forget to factor in the network fees (~2% of the total amount you are trying to send).

Another common issue is the transaction not being able to find a route to the recipient's Lightning node. If that happens, just try again a few minutes later.

The Lightning Network is still evolving, so some failed transactions are normal. But those two things - insufficient funds and routing problems - tend to be the main culprits when a Lightning payment doesn't go through.

What Are Some Real-World Use Cases For The Lightning Network?

The Lightning Network enables all sorts of exciting use cases, like instant micropayments, pay-per-use services, digital tipping, and more. It also has the potential to bring financial services to the unbanked and underbanked around the world.

Is The Lightning Network Secure?

Like Batman protecting Gotham, the Lightning Network has multiple layers of security to keep your funds safe. With features like multi-signature wallets and onion routing, your sats are in good hands.

Can I Use The Lightning Network For Sending Large Transactions?

While the Lightning Network is great for small, frequent transactions, it may not be ideal for large transactions due to liquidity constraints. For larger sums, it's best to stick to on-chain Bitcoin transactions.

What Are Some Benefits With Using The Lightning Network For Web3 Development?

The Lightning Network's instant, low-cost transactions make it the ideal payment solution for the fast-paced world of web3 development. Developers can receive their rewards in Bitcoin almost immediately, without the hassle of high fees or long confirmation times.

What Are Zaps? ⚡️

⚡️Zaps are a way to send a small amount of Bitcoin (sats) to someone's Lightning wallet, along with a message or information, like a memo or a link. It's like sending a text message, but with a tiny amount of Bitcoin attached.

What are mSats (millisats)?

mSats are each 1/1000 (a thousandth) of a satoshi. A satoshi is the smallest unit for bitcoin, but lightning can transact with even smaller units while channels are open. The amount is to the nearest satoshi when the channel is closed and broadcast to the blockchain to adhere to Bitcoin's limit.

Lightning Bounties Terms

Lightning Bounties Glossary: Top 50 Terms

A

Anonymous Rewards

A feature that allows users to fund bounties without revealing their identity, promoting privacy while still supporting open-source development.

Assets (Taproot Assets)

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.

B

Balance

The amount of Bitcoin (measured in sats) available in a user's Lightning Bounties account that can be used to fund bounties or withdrawn.

Bitcoin

A decentralized digital currency where transactions are verified by network nodes through cryptography and recorded in a public distributed ledger.

BOLT-11 Invoice

The standardized format for Lightning Network payment requests, containing payment amount, destination, and optional message.

Bounty

A reward offered for completing a specific task, typically fixing a bug or implementing a feature in an open-source project.

Bounty Lock Time

A specified period during which bounty funds are locked in escrow to ensure they remain available when developers submit solutions.

Bug Bounty

A reward offered to developers who discover and report bugs in a software project, enhancing security and reliability.

C

Channel Reserve

The amount of Bitcoin required to open a Lightning Network payment channel.

Crowdfunding Bounties

A feature allowing multiple users to contribute funds toward a single bounty, increasing the reward and incentivizing developers.

Custodial Wallet

A wallet where a third party maintains control of private keys, reducing user responsibility but potentially introducing security risks.

D

Decoded Invoice

The human-readable information extracted from a Lightning invoice showing payment amount, destination, and expiration time.

Deposit

The process of adding Bitcoin to your Lightning Bounties account to fund bounties.

Developers

One of the primary user groups of Lightning Bounties who can showcase skills, earn Bitcoin, and contribute to open-source projects.

Digital Signature

Cryptographic proof that the holder controls a specific Bitcoin address, used to authorize transactions from that address.

E

Escrow

A system that holds bounty funds securely until predetermined conditions are met, ensuring fair transactions between parties.

Expiry

A feature allowing a bounty creator to reclaim funds after the lock time ends if priorities change or the issue is resolved elsewhere.

F

Flexible Expiry Options

The ability to manually expire a bounty and reclaim funds after the lock time ends if the issue is resolved through other means.

Funding Transaction

The transaction that establishes a Lightning Network channel by locking Bitcoin in a multisignature address.

G

GitHub API as Oracle

The mechanism that uses GitHub's API to automatically verify when solutions are accepted, triggering reward distribution.

GitHub Issue

A ticket in a GitHub repository that identifies bugs or requested features, which can be linked to bounties on Lightning Bounties.

GitHub Projects

Software repositories on GitHub that can benefit from Lightning Bounties to incentivize contributions and bug fixes.

GitHub URL

The web address of a GitHub repository or issue that is linked to a bounty on Lightning Bounties.

H

Hash

A cryptographic function that generates a fixed-size output from variable-size input, used extensively in blockchain and Lightning Network.

K

Keypair

The combination of public and private keys that control access to Bitcoin addresses and funds.

L

Lightning Bounties Platform

A Bitcoin-powered bug bounty platform that integrates with GitHub workflows to enable developers to earn Bitcoin for open-source contributions.

Lightning Gossip Network

The network used to broadcast information about channels and peers in the Lightning Network.

Lightning Invoice

A payment request on the Lightning Network that includes payment amount, destination, and an expiration time.

Lightning Network

A layer-2 solution built on top of the Bitcoin blockchain that enables faster and cheaper transactions through payment channels.

Lightning Network Channel

A peer-to-peer payment channel that enables instant and low-cost transactions between two parties.

Lightning Wallet

A wallet specifically designed to send and receive payments through the Lightning Network, offering faster transactions than traditional Bitcoin wallets.

Lock Time

The period during which bounty funds are guaranteed to be available, giving developers confidence that rewards will be paid upon completion.

M

mSats (Millisatoshis)

Each 1/1000 of a satoshi, allowing for even smaller denominations on the Lightning Network while channels are open.

N

No Banking Restrictions

A feature of Lightning Bounties that allows global operation with Bitcoin, bypassing region-restricted payment processors.

Non-custodial Wallet

A wallet where the user maintains full control over their private keys and funds, increasing security responsibility but eliminating third-party risks.

O

Open Source Development

The collaborative practice of making source code freely available for modification and redistribution, which Lightning Bounties supports and incentivizes.

Organizations

Entities that use Lightning Bounties to tap into a global developer pool to improve software quality and security.

P

Payment

A transaction that occurs on the Lightning Network, routed through payment channels without being recorded on the Bitcoin blockchain.

Peer-to-peer Network

A decentralized system like Bitcoin or Lightning Network where connections occur directly between participants without intermediaries.

PlebLab

A Bitcoin-focused incubator that supports Lightning Bounties and other Bitcoin innovation projects.

Pull Request

A method of submitting contributions to a GitHub repository, which triggers reward distribution when merged with proper closing syntax.

R

Recovery Phrase

A series of words that can recover wallet access, also known as a seed phrase or mnemonic.

Reward Claimed

The status indicating a bounty has been successfully paid to a developer after their solution was accepted.

S

Satoshi (sats)

The smallest unit of Bitcoin, representing 1/100,000,000 (one hundred millionth) of a Bitcoin, named after Bitcoin's creator.

Seed Phrase

A list of words that store all the information needed to recover a Bitcoin wallet.

Smart Reward Distribution

The automated system that distributes bounty rewards to contributors once their pull request is verified and merged.

T

Transaction ID (txid)

The unique identifier hash of a Bitcoin transaction, used to identify Lightning Network channels.

W

Watchtower

A security service that monitors the blockchain for potential channel breaches and takes action to protect funds if necessary.

Withdraw

The process of transferring Bitcoin from your Lightning Bounties account to your personal Lightning wallet.

👇
Remove Keyword fron PR Body
Update Comment
Issue Linked (Before)
❌
❌
✅
✅
[email protected]
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
🪙
🧌
❌
🔐
👩‍⚖️
🎯
Lightning Bounties 3 Min Tutorial
Unlinking
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
app.lightningbounties.com
'Add color to logo in this repo'
issue
app.lightningbounties.com
Step 1
Step 2
Step 3
Step 4
Step 5
⬇️

  1. Sign in to your Coinbase.com account.

  1. Access the Coinbase mobile app.

  1. Select My Assets.

  1. Select My assets, then Cash out.

  1. Select your local currency balance.

  1. Enter the amount you want to cash out.

  1. Select the Cashout tab and enter the amount you want to cash out.

  1. Select your Cash out from balance and choose your Deposit to destination

  1. Select Transfer to and choose your cash-out destination.

  1. Select Preview cash out and confirm your selections.

  1. Select Review.

  1. Select Cash out now to complete your transfer.

  1. Select Withdraw cash to complete your transfer.

(the same one you copied on your Coinbase account in the previous step).
Step #1
Step #2
Step #3
rounded down

Issue Lock Time

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.

  • See How to Expire or Reclaim your Bounty Here:

The reward does NOT automatically become revoked after the lock time is over.

  • That bounty can still be earned.

  • If a reward is unlocked, this simply means that that reward could be expire by the poster.

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.

How to Add Lock Time When Posting a New Bounty

  1. Go to app.lightningbounties.com and Log-In through GitHub

  2. Copy/Paste the GitHub Issue URL and set the amount in Sats for the Bounty Reward

  3. Click in the Advanced Settings Toggle

  4. Set the Lock Reward Time in either

    1. Minutes

    2. Hours

    3. Days

    4. Weeks

    5. 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.

  5. Click on "Submit New Reward"

Time Lock in Advanced Settings 🔝

Understanding Bounty Status: Locked vs. Unlocked

Locked Bounties

  • 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.

A locked bounty with remaining lock time displayed.

Unlocked Bounties

  • 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.

An unlocked bounty that can now be expired if needed.

How Lock Time & Expiry Protects Hunters and Posters

  • 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.


Frequently Asked Questions

Can I extend or update the expiration on an unlocked bounty?

No, unlocked bounties remain posted until you manually expire them or a hunter claims the reward. To set a new lock time, add a new reward to the issue with your desired lock period, then expire the original unlocked reward.

What happens if I do nothing after the lock time expires?

The bounty remains active and visible to hunters.

The only change is its status from "locked" to "unlocked".

How do I know if my bounty is locked or unlocked?

Check the status label or emoji on your bounty in your dashboard or on the bounty detail page. Hover over the lock/unlock emoji to see the exact unlock date.

Why should I set a lock time for my bounty?

Lock time gives bounty hunters assurance that the reward will be available when they submit their work, encouraging more and better contributions.

Can I expire a reward posted without logging in?

No. Rewards posted via a one-time invoice in a non-logged-in state cannot be expired or reclaimed, as they are not linked to your account.

Can I expire an Anonymous reward?

Yes. Anonymous rewards can be expired using the same process as regular rewards.

Withdrawing Funds

Withdrawing Funds from Lightning Bounties

Overview

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.

Prerequisites

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.


Step-by-Step Withdrawal Process

1. Access Lightning Bounties Platform

  • Visit

  • Click on "Login with GitHub" in the top right corner

2. Navigate to Withdrawal Page

  • Click on your profile avatar in the top right corner

  • Click on the "Withdraw" Button

3. Generate a Lightning Invoice in Your Wallet

  • You'll need to generate a Lightning invoice from your wallet of choice.

    • We covered Coinbase specifically in a detailed section

4. Complete the Withdrawal on Lightning Bounties

  • Paste your Lightning invoice into the input field

  • Review the "Decoded Invoice" information that appears

  • Click the "Withdraw" button to initiate the payment

5. Monitor Payment Status

  • 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

Balance Display Features

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.

Invoice Decoder Feature

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


Important Notes

  • 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)

Troubleshooting

Common Issues and Solutions

Issue
Solution

Need more help? Join our for assistance with withdrawals or any other Lightning Bounties features.

Bitcoin & Lightning Terms

Top 50 Bitcoin & Lightning Network Terms for Bounty Hunters

A

Address

A string of alphanumeric characters representing a destination for a Bitcoin payment, similar to an email address or bank account number.

Altcoin

Any cryptocurrency other than Bitcoin.

ACINQ

A company that develops Lightning Network products including Phoenix wallet and Eclair implementation.

B

Base Layer

The main Bitcoin blockchain where final settlement occurs, as opposed to second-layer solutions like Lightning Network.

Bitcoin

A decentralized digital currency created in 2009 by Satoshi Nakamoto that operates without a central authority.

Bitcoin Core

The reference implementation of Bitcoin software that serves as the standard for the Bitcoin protocol.

Bitcoin Pizza Day

May 22nd, commemorating the first real-world Bitcoin transaction in 2010 when Laszlo Hanyecz paid 10,000 BTC for two pizzas.

Bitcoin Whitepaper

The original document published by Satoshi Nakamoto in 2008 titled "Bitcoin: A Peer-to-Peer Electronic Cash System."

Block

A collection of transactions bundled together and added to the blockchain.

Block Height

The number of blocks preceding a particular block in the blockchain.

Block Reward

The new bitcoins distributed by the network to miners for each successfully mined block.

Blockchain

A distributed ledger technology that maintains a continuously growing list of records (blocks) secured using cryptography.

C

Channel

A payment connection between two Lightning Network nodes that allows for multiple transactions without touching the Bitcoin blockchain.

Cold Storage

Keeping bitcoin offline in a device or medium not connected to the internet for enhanced security.

Consensus

The process by which all nodes in the network agree on the state of the blockchain.

Custodial Wallets

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.

F

Fee Market

The dynamic system where Bitcoin transaction fees are determined by supply (block space) and demand (pending transactions).

Full Node

A computer running software that fully validates transactions and blocks on the Bitcoin network.

H

Halving

An event occurring approximately every four years where the block reward for mining new Bitcoin blocks is cut in half.

Hard Fork

A permanent divergence in the blockchain that occurs when non-upgraded nodes can't validate blocks created by upgraded nodes following newer consensus rules.

Hardware Wallet

A physical device designed to securely store cryptocurrency private keys offline.

Hash Rate

The computational power being used by miners to secure the Bitcoin network.

L

Layer 2

Solutions built on top of the Bitcoin blockchain to improve scalability, such as the Lightning Network.

Lightning Invoinces

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.

Lightning Network

A second-layer payment protocol that operates on top of Bitcoin to enable fast, scalable transactions and micropayments.

Lightning Service Provider (LSP)

A service that helps users establish channels and manage liquidity on the Lightning Network.

Liquidity

The availability of bitcoin in payment channels that enables routing of payments through the Lightning Network.

LNURL

A protocol for Lightning Network that simplifies the process of connecting applications to Lightning wallets.

LND (Lightning Network Daemon)

A complete implementation of a Lightning Network node by Lightning Labs.

M

Mempool

The waiting area for unconfirmed Bitcoin transactions before they're included in a block.

Multisig (Multi-signature)

A security feature that requires multiple signatures to authorize a Bitcoin transaction.

N

Node

A computer connected to the Bitcoin or Lightning network that validates transactions according to network rules.

Non-custodial Wallets

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.

Nostr

A decentralized social network protocol often used by the Bitcoin community, with integration capabilities for Lightning payments.

O

On-chain

Transactions that occur directly on the Bitcoin blockchain, not on second-layer solutions.

Off-chain

Transactions that occur outside the Bitcoin blockchain, such as those on the Lightning Network.

Open Source

Software whose source code is publicly available, allowing anyone to inspect, modify, and enhance it.

P

Private Key

A secret number that allows bitcoins to be spent, functioning as a password that gives access to your bitcoin.

Public Key

A cryptographic code derived from a private key, used to create Bitcoin addresses for receiving funds.

R

RGB

A protocol for issuing and transferring digital assets on Bitcoin and Lightning Network.

Routing

The process of finding a path through multiple payment channels to complete a Lightning Network payment.

S

Satoshi (sat)

The smallest unit of Bitcoin, equal to 0.00000001 BTC. Named after Bitcoin's creator.

Satoshi Nakamoto

The pseudonymous creator of Bitcoin whose true identity remains unknown.

SegWit (Segregated Witness)

A Bitcoin protocol upgrade that changed how data is stored in blocks, increasing capacity and fixing transaction malleability.

Self-Custody

Maintaining full control of your private keys and thus your bitcoin, rather than relying on a third party.

Soft Fork

A change to the Bitcoin protocol where only previously valid blocks/transactions are made invalid, backward-compatible with older versions.

T

Taproot

A Bitcoin upgrade implemented in 2021 that improved privacy, efficiency, and smart contract functionality.

Testnet

An alternative Bitcoin blockchain providing developers with a testing environment without using real bitcoin.

Timelock

A feature that restricts spending bitcoin until a specified future time or block height.

Tor

An anonymity network often used by Bitcoin nodes to increase privacy by concealing users' locations and usage.

U

UTXO (Unspent Transaction Output)

The output of a transaction that can be spent in the future; effectively, your bitcoin balance consists of UTXOs.

W

Wallet

Software or hardware that stores private keys and allows users to send and receive bitcoin.

Watch-only Wallet

A wallet that can see transactions but cannot spend the funds because it doesn't have the private keys.

Watchtower

A service that monitors the Lightning Network for potentially fraudulent channel closures and broadcasts justice transactions.

Z

Zero-confirmation Transaction

A transaction that has been broadcast to the network but not yet included in a block, also called an unconfirmed transaction.

GitHub Terms

Top 50 GitHub Terms for Bounty Hunters and Open Source Developers

A

Action

An automated workflow in GitHub that can be triggered by specific events like pushes, pull requests, or issue creation.

Assignee

The person assigned responsibility for resolving an issue or implementing a pull request.

B

Base Branch

The branch into which changes from a pull request will be merged.

Blame

A GitHub feature that shows which user last modified each line of a file, useful for understanding code history.

Branch

A parallel version of the repository that allows you to work on changes without affecting the main codebase.

Bug Bounty

A monetary reward offered to developers who identify and report bugs, particularly security vulnerabilities.

C

Clone

Creating a local copy of a remote repository on your machine.

Code of Conduct

A document that establishes expectations for behavior of project participants.

Code Owner

A person or team designated as responsible for specific parts of a codebase, automatically requested for review when those parts change.

Commit

A saved change to files in a repository, recorded with a unique ID and commit message.

Contributing Guidelines

Documentation that explains how people should contribute to a project.

D

Dependency

A library or package that your project relies on to function.

Discord

A commonly used communication platform for open source communities and bounty programs.

Draft Pull Request

A pull request explicitly marked as work-in-progress and not yet ready for review or merge.

F

Fork

A personal copy of another user's repository that lives on your account.

G

Git

The distributed version control system that GitHub is built upon.

GitHub Actions

GitHub's built-in continuous integration and continuous delivery (CI/CD) platform.

GitHub Issue

A tracked item in a repository used for reporting bugs, requesting features, or discussing tasks.

Good First Issue

An issue labeled specifically for newcomers to the project, typically simpler to address.

H

Hacktoberfest

An annual event encouraging participation in open source during October with rewards for contributions.

Hooks

Scripts that run automatically when certain events occur in a repository.

I

Issue Template

A pre-defined format for creating new issues that helps contributors provide necessary information.

K

Kanban Board

A project management tool in GitHub that organizes issues and pull requests into columns representing different stages of work.

L

Label

A tag applied to issues or pull requests for categorization and filtering.

License

A legal document specifying how others can use, modify, and distribute your project's code.

M

Maintainer

Someone who manages a repository and is responsible for its direction and quality.

Markdown

A lightweight markup language used for formatting text on GitHub (like this document).

Merge

The act of combining changes from one branch into another.

Merge Conflict

A situation that occurs when Git can't automatically resolve differences between merged branches.

Milestone

A grouping of issues and pull requests that track progress toward a specific goal or release.

O

Open Source

Software for which the original source code is freely available and may be redistributed and modified.

P

PR (Pull Request)

A method for submitting contributions to a project by requesting that maintainers review and merge your changes.

Protected Branch

A branch with rules that control how and when changes can be merged into it.

Push

Sending committed changes from your local repository to the remote repository.

R

README

A file that introduces and explains a project, typically including installation and usage instructions.

Release

A software package created from a specific point in a repository's history, often with version numbers.

Repository (Repo)

A storage location for a project containing all of its files and each file's revision history.

Review

The process of examining code changes before they are merged into the main codebase.

S

Security Advisory

An announcement about a security vulnerability in a project, often including remediation information.

Squash

Combining multiple commits into a single commit before merging.

SSH Key

A secure method for authentication between your computer and GitHub.

Star

A bookmark or expression of appreciation for a repository.

T

Tag

A label that marks a specific point in a repository's history, often used for release versions.

Template Repository

A repository that serves as a starting point for new projects with predefined files and settings.

U

Upstream

The original repository from which you forked your copy.

V

Version Control

A system that records changes to files over time so you can recall specific versions later.

Vulnerability

A weakness in code that can be exploited for unauthorized access or damage.

W

Workflow

A configurable automated process in GitHub Actions made up of one or more jobs.

Webhooks

A way for applications to receive real-time notifications when specific events occur in a repository.

Glossary of Terms

Bitcoin & Lightning Terms

Lightning Bounties Terms

GitHub Terms

🔒
🔓
🔒
🔓
Screenshot image of a A locked bounty on app.lightningbounties.com
IMAGE: Screenshot of a bounty with "Unlocked" status as seen on the Lightning Bounties App.

"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

Coinbase
Breez
Phoenix
Muun
app.lightningbounties.com
here
Discord community
Some Common Lightning Network Wallets
Screenshot showing the Lightning Bounties account balance page with available funds highlighted
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
General screenshot of Lightning invoice generation from the Coinbase app
Screenshots of Lightning invoice generation from the Coinbase app
Paste your Lightning invoice into the input field
Payment initiated successfully. But not confirmed yet notification screen shot
Screen Shot Showing Balance Display on Your Lightning Bounties Profile
Correct
IMAGE: Closeup of the decoded invoice section showing an error for the invoice
Incorrect
Correct
IMAGE: Closeup of the decoded invoice section showing an error for the invoice
Incorrect

Contributing

⭐ CONTRIBUTING

Contributing to Lightning Bounties

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

Table of Contents

  • 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

I Have a Question

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.

I Want To Contribute

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.

Reporting Bugs

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.

Suggesting Enhancements

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.

  • You may want to include screenshots and animated GIFs which help you demonstrate the steps or point out the part which the suggestion is related to. You can use this tool to record GIFs on macOS and Windows, and this tool or this tool on Linux.

  • 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.

Your First Code Contribution

To make your first code contribution, follow these steps:

  1. Fork the Repository and Clone it

    • Fork the repository on GitHub.

    • Clone the forked repository to your local machine.

  2. Modify the Code

    • Open the src/main.py file and make the desired changes to reflect your modifications.

  3. Generate a Lightning Invoice

    • Generate a lightning invoice for the payment.

    • Copy the invoice string into the reward.txt file.

  4. Commit and Submit a Pull Request

    • Add and commit your changes to the local repository.

    • Submit a pull request to the base repository.

  5. 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!"

  6. Request a Reviewer

    • Ask for a reviewer to review your pull request.

    • Choose either Enrique or Will for this test.

  7. 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.

  8. 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)

Improving The Documentation

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.

Styleguides

Commit Messages

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

Join The Project Team

If you're interested in joining the project team, please contact us at [email protected].

Attribution

This guide is based on the contributing-gen. Make your own!


Disclaimer

!!! 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].

✔️
✔️
❌
❌
✔️
✔️
❌
❌

Claim Reward Criteria & Troubleshooting Guide

This guide outlines the complete process for claiming rewards and provides troubleshooting steps for developers working on the Lightning Bounties Platform.

Claim Reward Criteria

To successfully claim a reward for a bounty, follow these steps:

1. Register and Log In with GitHub

VERY Important

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.

2. Find an Issue

  • 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.

3. Fix the Issue

  • 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.

4. Create a Pull Request (PR) Targeting Main/Master

  • 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:

INFO

You may need to refresh the GitHub page to see the issue show up as linked.

5. Wait for Maintainer to Merge the PR

  • The repository maintainer will review your PR.

    • Once it is approved and merged, the issue will be closed automatically if you used the correct closesyntax.

      • See For Detailed Instructions.

6. Claim Reward Process

  • 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.

Complete

Once your PR is merged and your eligibility is verified, the reward will be deposited directly into your Lightning Bounties balance.


Complete Claim Process Visualization


Troubleshooting

If you encounter issues claiming your Lightning Bounty reward, use this guide to diagnose and resolve common problems.

For more details, see the and .


Issue Not Linked to PR

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.

Solutions:

1. Edit PR Description

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-numberkeyword 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).

2. Ask Repository Owner (If you can't edit the PR)

  • Contact the repository owner or maintainer

  • Ask them to edit the PR description to add the closing keyword

3. Create a Follow-up PR (If original PR was already merged)

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."

Example of a follow-up PR created to properly link the issue for Lightning Bounty payment

4. Request an Override via Discord

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.

Important

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 .

Payment Not Received

Verification Steps:

  1. Confirm the issue is marked as "closed" on GitHub

  2. Verify the PR that closed it has been merged

  3. 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

Common Errors and Solutions

Error
Description
Solution

Best Practices

  • 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


Remember

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.

Lightning Bounties FAQ's

Need answers? Check out our FAQs. Get quick solutions and make the most of our Lightning Bounties.

General Questions:

What's Lightning Bounties?

Lightning Bounties is a Bitcoin-powered bug bounty platform that seamlessly integrates with GitHub’s familiar workflows, allowing 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 app.lightningbounties.com, 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.

Who Typically Uses Lightning Bounties?

Lightning Bounties caters to two primary groups: developers and organizations.

Developers can showcase their skills, earn Bitcoin, and contribute to the growth of open-source technology.

Organizations can tap into a talented pool of developers to improve the quality and security of their software projects.

Why Do I Have To Link My GitHub Account To Use Lightning Bounties?

See GitHub Auth & Lightning Bountiesfor More Detailed info:

TLDR: Linking your GitHub account streamlines bug hunting, promotes collaboration, and ensures proper reward distribution.

Does Lightning Bounties Have a Token or Plan to Launch one in the Future?

Nope. Bitcoin is the best currency for Lightning Bounties because it’s decentralized, secure, and globally accessible. It aligns with our ethos of empowering developers without relying on speculative tokens.

How Does Lightning Bounties Work

Users post bounties for GitHub issues, developers solve them, and once a pull request is merged, the contributor is instantly rewarded in Bitcoin via the Lightning Network.

Do I Need to Install Anything to Use Lightning Bounties?

No installations are required. Simply log in with your GitHub account to get started.

Who Can Use Lightning Bounties?

Anyone with a GitHub account can use Lightning Bounties to post or solve bounties—no restrictions based on location or experience level.

Bounty Hunter Questions

How Do I Find Bounties to Work On?

Visit app.lightningbounties.com and browse the "Available Bounties" section. You can filter bounties by:

  • Technology/programming language

  • Reward amount

  • Time commitment

  • Repository popularity

Find an issue that matches your skills and interests, then click to view details about the task and reward.

How Do I Submit a Solution?
  1. Fork the GitHub repository containing the issue

  2. Create a branch for your solution

  3. Make your changes and commit them

  4. Submit a Pull Request referencing the issue number

  5. Once merged by the repository maintainer, your reward will be automatically processed

How Are Rewards Distributed?

Once your pull request is merged, the GitHub API acts as an oracle to verify your contribution. The Lightning Bounties platform then automatically sends the reward to your account, where you can withdraw it to your Lightning wallet.

How Do I Withdraw My Earnings?
  1. Visit your Lightning Bounties account dashboard

  2. Click on "Withdraw"

  3. Generate a Lightning invoice from your wallet

  4. Paste the invoice into the withdrawal field

  5. Confirm the withdrawal

  6. Receive funds instantly in your Lightning wallet

What Happens if My Solution is Rejected?

If your solution is rejected, the bounty remains open for you or others to attempt again. The repository maintainer typically provides feedback on why the solution wasn't accepted, giving you an opportunity to improve and resubmit.

Can I Work on Multiple Bounties at Once?

Yes! You can work on as many bounties as you'd like simultaneously. There are no restrictions on the number of bounties you can tackle at one time.

Do I Need to Run a Lightning Node to Receive Payments?

Nope, you don't need to run a node to use the Lightning Network. You can simply use a lightning wallet app to send and receive payments.

What Lightning Wallets Can I Use?

Popular Lightning Network wallets include:

  • Phoenix

  • Muun

  • Breez

  • Wallet of Satoshi

  • Blue Wallet

  • Cash App

Any Lightning-compatible wallet that supports BOLT-11 invoices will work with Lightning Bounties.

How Do I Convert Sats to My Local Currency?

After withdrawing to your Lightning wallet, you can:

  1. Transfer to an exchange that supports Lightning Network deposits

  2. Convert to your local currency on the exchange

  3. Withdraw to your bank account

Alternatively, some Lightning wallets offer direct conversion features.

Why Might My Lightning Withdrawal Fail?

Lightning Network transactions can fail for a few common reasons:

  • Not having enough funds in your channel to cover the payment

  • Routing issues in the Lightning Network

  • Using an expired invoice

  • Network congestion

Keep approximately 2% of your withdrawal amount in your account to cover Lightning Network routing fees.

Posting a Bounty

How Do I Post a Bounty?

TLDR: Log in with your GitHub account, copy-paste the issue URL, set a reward amount in Bitcoin, and post it in just a few clicks.

  1. Log in to Lightning Bounties with your GitHub account

  2. Click "Post a Bounty"

  3. Enter the URL of the GitHub issue

  4. Set the reward amount in sats

  5. Define the lock time period

  6. Submit the bounty

Can I Increase the Reward for an Existing Bounty?

TLDR: Yes, you can increase the reward for an open bounty at any time by adding more sats (Bitcoin micropayments).

This is useful if you want to attract more attention to a high-priority issue or if the complexity turned out to be greater than initially estimated.

What Happens If No One Solves My Issue?

If no one solves your issue, you can manually expire the bounty after the lock time ends and reclaim your funds.

How Do I Review Submitted Solutions?

You'll review solutions through GitHub's standard pull request workflow:

  1. Receive a notification when a PR is submitted

  2. Review the code changes

  3. Request changes or approve and merge the PR

  4. Once merged, the reward is automatically processed by Lightning Bounties

How Do I Deposit Funds to Post Bounties?
  1. Log into your Lightning Bounties account

  2. Navigate to the "Deposit" section

  3. Generate a Lightning invoice in your Lightning Bounties account

  4. Pay the invoice using your Lightning wallet

  5. Funds will be credited to your account instantly

What is a Bounty Lock Time?

TLDR: A lock time guarantees that the reward remains available for a set period (e.g., two weeks) while developers work on solving the issue.

The lock time ensures that funds stay committed to the bounty, giving developers confidence that they'll be paid for their work once completed.

Can Multiple Users Fund a Single Bounty?

Yes! Lightning Bounties supports crowdfunding for bounties. Multiple users can contribute sats to increase the reward for a single issue, making it more attractive to potential solvers.

Can I Set Custom Requirements for Bounties?

Yes! You can specify requirements in the GitHub issue description, such as:

  • Required tests

  • Performance criteria

  • Documentation standards

  • Compatibility requirements

  • Code style guidelines

These requirements will be visible to developers considering your bounty.

Can I Post Bounties for Third-Party Projects?

Yes! You can post bounties for any open-source project on GitHub, even if you're not the project owner.

Can I Expire a Bounty Early?

You can only expire a bounty and reclaim funds after the initial lock time has passed. This protection ensures developers have the promised time to work on solutions without the bounty being unexpectedly withdrawn.

Lightning Bounties Features FAQ's

Anonymous Rewards

What are Anonymous Rewards?

Anonymous Rewards allows logged-in users to contribute sats to bounties privately, ensuring their identity remains hidden while still supporting open-source development. This feature enables users to fund bounties discreetly while maintaining full control over their contributions[4].

Crowdfunding Bounties

How do Crowdfunding Bounties work?

The Collaborative Funding feature allows multiple users to contribute sats (Bitcoin microtransactions) to fund a single bounty. This enables community-driven funding for important issues and helps bounties grow faster by allowing multiple contributors[5].

No Installations Required

Do I need to install anything to use Lightning Bounties?

No. Posting or solving a bounty requires no plugins, no installations on your computer, and no changes to your GitHub account. Simply log in with your GitHub account to get started[5][1].

GitHub API as Oracle

How does the GitHub API as Oracle feature work?

This feature uses the GitHub API to automatically verify when solutions are accepted. Rewards are automatically sent to contributors once their pull request is successfully merged, preventing fraudulent claims[5].

Guaranteed Escrow

What is the Guaranteed Escrow feature?

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. This lock time guarantees that the reward remains available while developers work on solving the issue[5][1].

Flexible Expiry Options

What happens if no one solves my bounty?

After the lock time ends, you can manually expire the bounty and reclaim your funds if priorities change or the issue is resolved elsewhere. If no one solves your issue, you can reclaim your funds after the lock time expires[5][1].

Support for Third-Party Projects

Can I post bounties for projects I don't own?

Yes! You can post bounties on issues from popular open-source projects like VSCode, Django, or React-even if you're not the project owner. This allows you to support any open-source project on GitHub[5][1].

Add Without Login

What is the Add Without Login feature?

Add Without Login enables anyone to contribute sats to existing bounties without needing to create an account or log in. This makes it easier for non-developers or those without GitHub accounts to get involved. The feature leverages Branta's address verification for security[4].

No Banking Restrictions

Does Lightning Bounties work worldwide?

Yes! Lightning Bounties operates globally with Bitcoin, bypassing region-restricted payment processors like Stripe. Anyone with a GitHub account can use Lightning Bounties to post or solve bounties-no restrictions based on location or experience level[5][1].

Effortless Setup

How long does it take to post a bounty?

It takes just 5 clicks and a single copy-paste of a URL to post a bounty-under 30 seconds from start to finish. Getting started is simple-no installations or complicated setups required[5][3].

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

FIRST TIME ONBORDING
app.lightningbounties.com
Finding Bounties to Solve
Working on a Bounty
Learn more about linking PRs to issues.
Working on a Bounty
app.lightningbounties.com
app.lightningbounties.com
Lightning Bounties Troubleshooting Guide
GitHub’s official documentation on linking pull requests to issues
(see below)
Lightning Bounties Discord
GitHub’s guide on linking pull requests to issues
app.lightningbounties.com
Discord
Discord
Example: PR description with correct close syntax and branch targeting.
Example: PR description with correct close syntax and branch targeting.
Claim Reward & Check Interface on Lightning Bounties
Claim Reward & Check Interface on app.lightningbounties.com
Complete Claim Process
Complete Claim Process
Simplified Workflow
Simplified Workflow
Example: PR without the required "close #issue-number" syntax
Example: PR without the required "close #issue-number" syntax
Example: A minimal follow-up PR correctly referencing both the issue and original PR
⚠️
⚠️
⚠️
⚠️
ℹ️
ℹ️
ℹ️
⚠️
⚠️
🏁
🏁
🔽
⚠️
⚠️
ℹ️
ℹ️
Review the "Decoded Invoice" information that appears
IMAGE: Closeup of the decoded invoice section showing all extracted information

Expire or Reclaim a Bounty Reward

This guide is for bounty posters using Lightning Bounties who want to know how to expire an open bounty or reclaim their sats.

Overview

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.

See Issue Lock TimeFor a more detailed Guide on this topic.


Step-by-Step: Expiring a Bounty

  1. Log In: Visit app.lightningbounties.com and log in with your GitHub account.

  2. Navigate to Your Bounties: Go to your dashboard by clicking on your profile avatar (Top Right)

Click on Your Profile Avatar on the Top Right of Lightning Bounties Feed
  1. Once on Your dashboard select the "My Rewards" Tab.

My Rewards Tab Should be By Default
  1. 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.

An unlocked bounty that can now be expired if needed.
A locked bounty with remaining lock time displayed.
  1. Expire the Bounty:

    Click the "Expire Reward" button next to your bounty.

Expire Reward Shows Blue Coloring on Eligible Bounty
  1. Reclaim Funds: The reward will be returned to your Lightning Bounties account balance, ready for withdrawal or use in other bounties.


Note: You cannot expire or reclaim a bounty before the lock time has ended.

This is to protect developers who may be actively working on a solution


Frequently Asked Questions

Can I extend or update the expiration on an unlocked bounty?

No, unlocked bounties remain posted until you manually expire them or a hunter claims the reward. To set a new lock time, add a new reward to the issue with your desired lock period, then expire the original unlocked reward.

What happens if I do nothing after the lock time expires?

The bounty remains active and visible to hunters.

The only change is its status from "locked" to "unlocked".

How do I know if my bounty is locked or unlocked?

Check the status label or emoji on your bounty in your dashboard or on the bounty detail page. Hover over the lock/unlock emoji to see the exact unlock date.

Why should I set a lock time for my bounty?

Lock time gives bounty hunters assurance that the reward will be available when they submit their work, encouraging more and better contributions.

Can I expire a reward posted without logging in?

No. Rewards posted via a one-time invoice in a non-logged-in state cannot be expired or reclaimed, as they are not linked to your account.

Can I expire an Anonymous reward?

Yes. Anonymous rewards can be expired using the same process as regular rewards.

Claiming Multiple Bounties: Multi-Bounty PRs

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.

Claiming Multiple Bounties: Multi-Bounty PRs

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).

IMPORTANT

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.


How to Claim Multiple Bounties in One PR

  1. Solve multiple issues

    • Make sure each issue you solve is still open bounty.

  2. Create a single PR referencing all issues

    • In your PR description, use the closing keywords for each issue you solved:

    A single PR can close multiple issues by listing each withclose #issue-number
    • This will close all referenced issues when the PR is merged.

  3. Wait for PR approval and merge

    • Once the PR is merged, GitHub will close all referenced issues.

  4. 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.

You must claim each bounty individually, even if closed in one PR.

Common Pitfalls & How to Avoid Them

  • 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.


Visual Workflow

Visual Workflow

Best Practices & Troubleshooting

  • 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.

2. Click the "..." button at the top-right of your PR description
3. Select "Edit"
🔒
🔓
Image of Logged-In User Avatar
Image Showing My Rewards Tab on Your Lightning Bounties Profile
An unlocked bounty that can now be expired if needed.
A locked bounty with remaining lock time displayed.
Image Showing "Expire Reward" Button Filled with Blue Coloring
⚠️
⚠️
Screenshot of a PR description with multiple close #issue-number references on GitHub
Screenshot of Lightning Bounties issue page showing the 'Claim Reward' button.
screen grab showing the process of pasting an invoice, viewing the decoded information, and clicking withdraw
IMAGE: Closeup of the decoded invoice section showing all extracted information
4. Add close #[issue-number] to the PR description text
1. Go to your merged PR and Click Into It
5. Click on "Update Comment"
What the Workflow Looks Like

Finding Bounties to Solve

Learn how to find unsolved bounties and start your journey to earning Bitcoin with Lightning Bounties.

Browse Open 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.

1 - Finding Open Bounties

  • Visit app.lightningbounties.com.

Browse open bounties and see available rewards.
  • 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

Status:

  • No "Trophy" icon: Bounty is unsolved and open for you to solve.

  • "Trophy" icon present: Bounty has already been solved and claimed.

No "Trophy" icon: Bounty is unsolved and open for you to solve.
"Trophy" icon present: Bounty is solved and claimed.

2 - Click on a Bounty Card for Details

  • 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).

This example we'll be: Adding color to the logo in this repo

Click a bounty to view all details and requirements.

3 - (Optional) View on GitHub

  • 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

View the issue directly on GitHub for additional context.

Next Steps

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.


Tips for Bounty Hunters

  • 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.


Need Help?

Ask Questions: If anything is unclear, reach out to the project maintainer or join our Discord Community for help and tips.

🔽
🔽
🏆
Browse open bounties and see available rewards.
No "Trophy" icon: Bounty is unsolved and open for you to solve.
"Trophy"  icon present: Bounty is solved and claimed.
Click a bounty to view all details and requirements.
View the issue directly on GitHub for additional context.
⛔
🏆

Add Reward to an Existing Bounty

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.

What is Bounty Crowdfunding?

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

Crowdfunding process flow showing multiple contributors pooling Bitcoin for bounties.

What is Crowdfunding on Lightning Bounties?

  • 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.


Why Crowdfund?

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.

Some of the few Benefits of Crowdfunding Bounties

How to Crowdfund a Bounty: Step-by-Step


1. Visit app.lightningbounties.com & Click on Login with GitHub

Step 1 screenshot

2. Click on the Open Bounty You Wish to Add Fund

Step 2 screenshot

3. You’ll see here that Sutt posted a bounty for the fastapi Repo, We are October Jackie and are going to add funds to this open bounty.

Step 3 screenshot

4. Set the Amount of Sats you wish to add to the Open Bounty

Step 4 screenshot

5. Optional: Click on Advanced settings

Step 5 screenshot

6. Optional: Click on the Time Lock Dropdown Trigger and set duration of your bounty to be locked.

Step 6 screenshot

7. Click on Add Reward

This button is available on every bounty, whether you’re logged in or not!

Step 7 screenshot

8. Almost instantly you should see the "Reward added successfully" pop-up

Step 8 screenshot

9. Scroll Down to the bottom of the Bounty & see those who crowdfunded.

Step 9 screenshot

Adding Anonymous Rewards to a Bounty


1. Find an open Bounty, Click on it then, Click on Add Reward To This Issue

Step 10 screenshot

2. Set the Amount of Sats you wish to add to the Open Bounty

Step 11 screenshot

3. Click on Advanced settings

Step 12 screenshot

4. Optional: Click on the Time Lock Dropdown Trigger and set duration of your bounty to be locked.

Step 13 screenshot

5. Click on Make reward anonymous

Step 14 screenshot

6. Click on Add Reward

This button is available on every bounty, whether you’re logged in or not!

Step 15 screenshot

7. Almost instantly you should see the "Reward added successfully" pop-up

Step 16 screenshot

8. Scroll Down to the bottom of the Bounty & see those who crowdfunded.

Step 17 screenshot

9. Here, you see the Anonymous Reward You Just Posted

Step 18 screenshot

Add Rewards to a Bounty without Login


1. Visit https://app.lightningbounties.com & DO NOT Login With GitHub

Step 1 screenshot

2. Click on the Open Bounty You Wish to Add Fund to

Step 2 screenshot

3. Enter the Amount & Generate a Lightning InvoiceEnter the amount of sats (Bitcoin) you want to contribute.

6sats Is Good For test purposes.

4. Click on Add Reward

This button is available on every bounty, whether you’re logged in or not!

Step 4 screenshot

5. A BOLT 11 Lightning invoice and QR code will appear.

Pay the Invoice with Your Lightning Wallet

  • Open your preferred Lightning wallet (Phoenix, Muun, Breez, Wallet of Satoshi, etc.).

  • Scan the QR code or paste the invoice string.

  • Confirm the payment

Step 5 screenshot

6. Your contribution is instantly added to the bounty’s reward pool! The bounty page updates in real time.

  • In less than 60 seconds, you should see the "Payment received, reward added! successfully Refreshing in 5 secs..." pop-up

Step 6 screenshot

7. Scroll Down to the bottom of the Bounty & see those who crowdfunded.

Here, you see the Anonymous Reward You Just Posted

Step 7 screenshot

8. No GitHub No Problem. Anyone can contribute to crowdfunding bounties and keep their anonymity

Step 8 screenshot

How It Works Under the Hood

  • 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.


Real-World Use Cases

  • 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.

FAQ's

Do I need a Lightning Bounties account to crowdfund a bounty?

No! Anyone can contribute sats to any bounty using a Lightning wallet.

Can I crowdfund a bounty on a project I don’t own?

Yes! Lightning Bounties supports third-party bounties


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!

Crowdfunding process flow showing multiple contributors pooling Bitcoin for bounties
Some of the few Benefits of Crowdfunding Bounties
Crowdfunding Bounties In Action