Skip to content

Add 'Earn Bitcoin' section#4607

Open
refined-element wants to merge 2 commits intobitcoin-dot-org:masterfrom
refined-element:add-earn-section
Open

Add 'Earn Bitcoin' section#4607
refined-element wants to merge 2 commits intobitcoin-dot-org:masterfrom
refined-element:add-earn-section

Conversation

@refined-element
Copy link

@refined-element refined-element commented Jan 28, 2026

Summary

This PR adds a new "Earn Bitcoin" page to help users discover ways to earn Bitcoin without purchasing it directly, addressing issue #2524.

Changes include:

  • New page template _templates/earn.html with categories: Freelancing, Content Creation, Bug Bounties, Mining, Shopping Rewards, and Warnings
  • All English translations added to _translations/en.yml
  • URL mapping for /earn
  • Navigation menu integration (header and footer)
  • Uses existing support-card CSS class for consistent styling

Addresses

This PR addresses bounty #2524: "Add 'Earn Bitcoin' section"
#2524

Payment Address

Bitcoin address for bounty payment: bc1qax8d6etvphms3tqqc7hy52vas4af7ezv4msvqd


🤖 Generated with Claude Code

Addresses issue bitcoin-dot-org#2524 - Add 'Earn Bitcoin' section

This PR adds a new page to help users discover ways to earn Bitcoin
without purchasing it directly. Categories include:

- Freelancing & Microtasks (Microlancer, Stacker News, Jobs4Bitcoins)
- Content Creation (Fountain, Publish0x)
- Bug Bounties & Open Source (Lightning Bounties, Bitcoin Bounties)
- Mining (OCEAN, NiceHash)
- Shopping Rewards (Fold, Lolli)

Also includes important warnings about common scams.

Bounty payment address: btcevangelist@coinos.io
Copilot AI review requested due to automatic review settings January 28, 2026 21:13
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new "Earn Bitcoin" page to help users discover ways to earn Bitcoin without purchasing it directly, partially addressing issue #2524.

Changes:

  • Added new _templates/earn.html template with six categories of Bitcoin earning opportunities (freelancing, content creation, bounties, mining, shopping rewards, and warnings)
  • Added English translations in _translations/en.yml for the earn page content and URL mapping

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.

File Description
_templates/earn.html New page template featuring categorized lists of Bitcoin earning platforms and services with external links
_translations/en.yml Added translation strings for the earn page (title, descriptions, service descriptions) and URL mapping entry

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1 to +87
---
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.

layout: base
id: earn
---

<div class="hero">
<div class="container hero-container">
<h1>{% translate pagetitle %}</h1>
<p class="summary">{% translate pagedesc %}</p>
</div>
</div>

<div class="container">

<div class="row card-row">
<div class="card earn-card">
<h2 id="freelancing">{% translate freelancing %}</h2>
<p>{% translate freelancingtext %}</p>
<ul>
<li><a href="https://microlancer.io/" target="_blank" rel="noopener">Microlancer</a> - {% translate microlancerdesc %}</li>
<li><a href="https://stacker.news/" target="_blank" rel="noopener">Stacker News</a> - {% translate stackernewsdesc %}</li>
<li><a href="https://www.reddit.com/r/Jobs4Bitcoins/" target="_blank" rel="noopener">Jobs4Bitcoins</a> - {% translate jobs4bitcoinsdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="content">{% translate content %}</h2>
<p>{% translate contenttext %}</p>
<ul>
<li><a href="https://fountain.fm/" target="_blank" rel="noopener">Fountain</a> - {% translate fountaindesc %}</li>
<li><a href="https://www.publish0x.com/" target="_blank" rel="noopener">Publish0x</a> - {% translate publish0xdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="bounties">{% translate bounties %}</h2>
<p>{% translate bountiestext %}</p>
<ul>
<li><a href="https://www.lightningbounties.com/" target="_blank" rel="noopener">Lightning Bounties</a> - {% translate lightningbountiesdesc %}</li>
<li><a href="https://bitcoinbounties.org/" target="_blank" rel="noopener">Bitcoin Bounties</a> - {% translate bitcoinbountiesdesc %}</li>
<li><a href="https://github.com/bitcoin-dot-org/bitcoin.org#earn-bitcoin-for-contributing" target="_blank" rel="noopener">Bitcoin.org</a> - {% translate bitcoinorgdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="mining">{% translate mining %}</h2>
<p>{% translate miningtext %}</p>
<ul>
<li><a href="https://ocean.xyz/" target="_blank" rel="noopener">OCEAN</a> - {% translate oceandesc %}</li>
<li><a href="https://www.nicehash.com/" target="_blank" rel="noopener">NiceHash</a> - {% translate nicehashdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="rewards">{% translate rewards %}</h2>
<p>{% translate rewardstext %}</p>
<ul>
<li><a href="https://foldapp.com/" target="_blank" rel="noopener">Fold</a> - {% translate folddesc %}</li>
<li><a href="https://www.lolli.com/" target="_blank" rel="noopener">Lolli</a> - {% translate lollidesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="important">{% translate important %}</h2>
<p>{% translate importanttext %}</p>
<ul>
<li>{% translate warning1 %}</li>
<li>{% translate warning2 %}</li>
<li>{% translate warning3 %}</li>
</ul>
</div>
</div>

</div>
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue #2524 explicitly requests "Add a link to the 'earn' page to the 'Participate' dropdown menu" but this PR does not include the necessary changes to integrate the earn page into the navigation menu. The menu integration requires modifications to _includes/layout/base/head-menu.html (around line 59-66 in the Participate section) and _includes/layout/base/footer-menu.html (around line 100-119 in the Participate section), along with adding a menu-earn translation key. Without these changes, users cannot navigate to the new earn page through the site menus.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +87
---
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.

layout: base
id: earn
---

<div class="hero">
<div class="container hero-container">
<h1>{% translate pagetitle %}</h1>
<p class="summary">{% translate pagedesc %}</p>
</div>
</div>

<div class="container">

<div class="row card-row">
<div class="card earn-card">
<h2 id="freelancing">{% translate freelancing %}</h2>
<p>{% translate freelancingtext %}</p>
<ul>
<li><a href="https://microlancer.io/" target="_blank" rel="noopener">Microlancer</a> - {% translate microlancerdesc %}</li>
<li><a href="https://stacker.news/" target="_blank" rel="noopener">Stacker News</a> - {% translate stackernewsdesc %}</li>
<li><a href="https://www.reddit.com/r/Jobs4Bitcoins/" target="_blank" rel="noopener">Jobs4Bitcoins</a> - {% translate jobs4bitcoinsdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="content">{% translate content %}</h2>
<p>{% translate contenttext %}</p>
<ul>
<li><a href="https://fountain.fm/" target="_blank" rel="noopener">Fountain</a> - {% translate fountaindesc %}</li>
<li><a href="https://www.publish0x.com/" target="_blank" rel="noopener">Publish0x</a> - {% translate publish0xdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="bounties">{% translate bounties %}</h2>
<p>{% translate bountiestext %}</p>
<ul>
<li><a href="https://www.lightningbounties.com/" target="_blank" rel="noopener">Lightning Bounties</a> - {% translate lightningbountiesdesc %}</li>
<li><a href="https://bitcoinbounties.org/" target="_blank" rel="noopener">Bitcoin Bounties</a> - {% translate bitcoinbountiesdesc %}</li>
<li><a href="https://github.com/bitcoin-dot-org/bitcoin.org#earn-bitcoin-for-contributing" target="_blank" rel="noopener">Bitcoin.org</a> - {% translate bitcoinorgdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="mining">{% translate mining %}</h2>
<p>{% translate miningtext %}</p>
<ul>
<li><a href="https://ocean.xyz/" target="_blank" rel="noopener">OCEAN</a> - {% translate oceandesc %}</li>
<li><a href="https://www.nicehash.com/" target="_blank" rel="noopener">NiceHash</a> - {% translate nicehashdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="rewards">{% translate rewards %}</h2>
<p>{% translate rewardstext %}</p>
<ul>
<li><a href="https://foldapp.com/" target="_blank" rel="noopener">Fold</a> - {% translate folddesc %}</li>
<li><a href="https://www.lolli.com/" target="_blank" rel="noopener">Lolli</a> - {% translate lollidesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="important">{% translate important %}</h2>
<p>{% translate importanttext %}</p>
<ul>
<li>{% translate warning1 %}</li>
<li>{% translate warning2 %}</li>
<li>{% translate warning3 %}</li>
</ul>
</div>
</div>

</div>
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue #2524 requests "Add a 'Earn Bitcoin' button on the home page, possibly next to the 'Buy Bitcoin'" but this PR does not include the necessary changes to add the homepage button. The button integration requires modifications to _includes/templates/index.html (around line 10 where the Buy Bitcoin button is located). While this requirement was listed as "possibly" in the issue, it would significantly improve discoverability of the new earn page and help fulfill the issue's goal of making Bitcoin earning opportunities more accessible.

Copilot uses AI. Check for mistakes.
Comment on lines +561 to +591
earn:
title: "Earn Bitcoin - Bitcoin"
pagetitle: "Earn Bitcoin"
pagedesc: "Not everyone can buy Bitcoin. Discover ways to earn it through work, content creation, and contributions."
freelancing: "Freelancing & Microtasks"
freelancingtext: "Complete tasks and freelance work paid in Bitcoin via the Lightning Network."
microlancerdesc: "Complete small tasks for instant Bitcoin payments via Lightning"
stackernewsdesc: "Earn sats by posting valuable content and comments"
jobs4bitcoinsdesc: "Reddit community for finding freelance work paid in Bitcoin"
content: "Content Creation"
contenttext: "Create content and get paid in Bitcoin for your work."
fountaindesc: "Earn Bitcoin for listening to podcasts and creating clips"
publish0xdesc: "Earn cryptocurrency for writing and reading articles"
bounties: "Bug Bounties & Open Source"
bountiestext: "Contribute to open source projects and earn Bitcoin for fixing bugs or adding features."
lightningbountiesdesc: "Earn sats for fixing GitHub issues via Lightning Network"
bitcoinbountiesdesc: "Directory of active Bitcoin bounties across projects"
bitcoinorgdesc: "Earn Bitcoin for contributing to this website"
mining: "Mining"
miningtext: "Earn Bitcoin by providing computational power to secure the network."
oceandesc: "Decentralized Bitcoin mining pool"
nicehashdesc: "Marketplace for buying and selling hashpower"
rewards: "Shopping Rewards"
rewardstext: "Earn Bitcoin back when you shop at participating retailers."
folddesc: "Earn Bitcoin rewards when shopping with the Fold card"
lollidesc: "Browser extension that gives Bitcoin back on online purchases"
important: "Important Warnings"
importanttext: "Be cautious when earning Bitcoin online:"
warning1: "Never pay money upfront to earn Bitcoin - legitimate opportunities don't require deposits"
warning2: "Research any platform thoroughly before providing personal information"
warning3: "Be skeptical of promises of high returns with little effort"
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR is missing a menu translation key for navigation integration. A menu-earn key should be added in the layout section (around line 1201) to match the pattern used by other pages like menu-buy, menu-sell, etc. For example: menu-earn: "Earn Bitcoin". This is required to integrate the earn page into the navigation menu as requested in issue #2524.

Copilot uses AI. Check for mistakes.
content: "Content Creation"
contenttext: "Create content and get paid in Bitcoin for your work."
fountaindesc: "Earn Bitcoin for listening to podcasts and creating clips"
publish0xdesc: "Earn cryptocurrency for writing and reading articles"
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The description mentions "Earn cryptocurrency" which is inconsistent with the Bitcoin-focused nature of this page and the rest of the website. This should be changed to "Earn Bitcoin for writing and reading articles" to maintain consistency. Note that Publish0x may support multiple cryptocurrencies, but the page should focus on Bitcoin earning opportunities.

Suggested change
publish0xdesc: "Earn cryptocurrency for writing and reading articles"
publish0xdesc: "Earn Bitcoin for writing and reading articles"

Copilot uses AI. Check for mistakes.
Comment on lines +18 to +85
<div class="row card-row">
<div class="card earn-card">
<h2 id="freelancing">{% translate freelancing %}</h2>
<p>{% translate freelancingtext %}</p>
<ul>
<li><a href="https://microlancer.io/" target="_blank" rel="noopener">Microlancer</a> - {% translate microlancerdesc %}</li>
<li><a href="https://stacker.news/" target="_blank" rel="noopener">Stacker News</a> - {% translate stackernewsdesc %}</li>
<li><a href="https://www.reddit.com/r/Jobs4Bitcoins/" target="_blank" rel="noopener">Jobs4Bitcoins</a> - {% translate jobs4bitcoinsdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="content">{% translate content %}</h2>
<p>{% translate contenttext %}</p>
<ul>
<li><a href="https://fountain.fm/" target="_blank" rel="noopener">Fountain</a> - {% translate fountaindesc %}</li>
<li><a href="https://www.publish0x.com/" target="_blank" rel="noopener">Publish0x</a> - {% translate publish0xdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="bounties">{% translate bounties %}</h2>
<p>{% translate bountiestext %}</p>
<ul>
<li><a href="https://www.lightningbounties.com/" target="_blank" rel="noopener">Lightning Bounties</a> - {% translate lightningbountiesdesc %}</li>
<li><a href="https://bitcoinbounties.org/" target="_blank" rel="noopener">Bitcoin Bounties</a> - {% translate bitcoinbountiesdesc %}</li>
<li><a href="https://github.com/bitcoin-dot-org/bitcoin.org#earn-bitcoin-for-contributing" target="_blank" rel="noopener">Bitcoin.org</a> - {% translate bitcoinorgdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="mining">{% translate mining %}</h2>
<p>{% translate miningtext %}</p>
<ul>
<li><a href="https://ocean.xyz/" target="_blank" rel="noopener">OCEAN</a> - {% translate oceandesc %}</li>
<li><a href="https://www.nicehash.com/" target="_blank" rel="noopener">NiceHash</a> - {% translate nicehashdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="rewards">{% translate rewards %}</h2>
<p>{% translate rewardstext %}</p>
<ul>
<li><a href="https://foldapp.com/" target="_blank" rel="noopener">Fold</a> - {% translate folddesc %}</li>
<li><a href="https://www.lolli.com/" target="_blank" rel="noopener">Lolli</a> - {% translate lollidesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="important">{% translate important %}</h2>
<p>{% translate importanttext %}</p>
<ul>
<li>{% translate warning1 %}</li>
<li>{% translate warning2 %}</li>
<li>{% translate warning3 %}</li>
</ul>
</div>
</div>
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The layout structure is incorrect. Each card section is placed in its own separate card-row div, which will cause layout issues. Following the pattern used in other similar pages (e.g., support-bitcoin.html lines 17-89, spend-bitcoin.html lines 15-41), all card elements should be placed within a single card-row container. This allows the CSS grid system to properly display cards side-by-side on wider screens and stack them on mobile devices.

Copilot uses AI. Check for mistakes.
Comment on lines +19 to +76
<div class="card earn-card">
<h2 id="freelancing">{% translate freelancing %}</h2>
<p>{% translate freelancingtext %}</p>
<ul>
<li><a href="https://microlancer.io/" target="_blank" rel="noopener">Microlancer</a> - {% translate microlancerdesc %}</li>
<li><a href="https://stacker.news/" target="_blank" rel="noopener">Stacker News</a> - {% translate stackernewsdesc %}</li>
<li><a href="https://www.reddit.com/r/Jobs4Bitcoins/" target="_blank" rel="noopener">Jobs4Bitcoins</a> - {% translate jobs4bitcoinsdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="content">{% translate content %}</h2>
<p>{% translate contenttext %}</p>
<ul>
<li><a href="https://fountain.fm/" target="_blank" rel="noopener">Fountain</a> - {% translate fountaindesc %}</li>
<li><a href="https://www.publish0x.com/" target="_blank" rel="noopener">Publish0x</a> - {% translate publish0xdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="bounties">{% translate bounties %}</h2>
<p>{% translate bountiestext %}</p>
<ul>
<li><a href="https://www.lightningbounties.com/" target="_blank" rel="noopener">Lightning Bounties</a> - {% translate lightningbountiesdesc %}</li>
<li><a href="https://bitcoinbounties.org/" target="_blank" rel="noopener">Bitcoin Bounties</a> - {% translate bitcoinbountiesdesc %}</li>
<li><a href="https://github.com/bitcoin-dot-org/bitcoin.org#earn-bitcoin-for-contributing" target="_blank" rel="noopener">Bitcoin.org</a> - {% translate bitcoinorgdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="mining">{% translate mining %}</h2>
<p>{% translate miningtext %}</p>
<ul>
<li><a href="https://ocean.xyz/" target="_blank" rel="noopener">OCEAN</a> - {% translate oceandesc %}</li>
<li><a href="https://www.nicehash.com/" target="_blank" rel="noopener">NiceHash</a> - {% translate nicehashdesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
<h2 id="rewards">{% translate rewards %}</h2>
<p>{% translate rewardstext %}</p>
<ul>
<li><a href="https://foldapp.com/" target="_blank" rel="noopener">Fold</a> - {% translate folddesc %}</li>
<li><a href="https://www.lolli.com/" target="_blank" rel="noopener">Lolli</a> - {% translate lollidesc %}</li>
</ul>
</div>
</div>

<div class="row card-row">
<div class="card earn-card">
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CSS class earn-card is used but does not exist in the codebase (verified in _sass/screen.scss). While the base .card class will still apply styling, this class serves no purpose. Consider either: (1) removing earn-card and using only the base card class (like spend-bitcoin.html does), or (2) adding appropriate CSS rules for .earn-card in _sass/screen.scss if custom styling is needed (similar to how .support-card at line 1206 and .buy-card at line 1210 are defined).

Copilot uses AI. Check for mistakes.
- Fix template layout: all cards now in single card-row container
- Use support-card CSS class (existing) instead of non-existent earn-card
- Remove target="_blank" from links for codebase consistency
- Fix Publish0x description: "cryptocurrency" -> "Bitcoin"
- Add menu-earn translation key
- Add Earn Bitcoin link to header navigation menu (Participate section)
- Add Earn Bitcoin link to footer navigation menu

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants