Welcome to the Official Bitcoin++ Hackathon!

This is the hackathon site for the bitcoin++ ecash edition conference in Berlin, Germany.

The main hackathon competition will be open ended (overall 1st, 2nd, 3rd). Anything involving bitcoin & ecash is fair game.

There are optional challenges that hackers may create projects around. Submitting for a challenge is optional, and ALL projects will be considered for the main competition.

Logistics

Start: Saturday (10/12/24) @ 4:45 PM (Berlin time - GMT+2)
Submission Deadline: Sunday (10/13/24) @ 11:00 AM - On Devpost
Presentations: Sunday @ 3:00 PM - MAX 3 minutes per team (practice & time yourself)
Awards & Closing: Sunday @ 2:00 PM

Challenges

1 Fedimint Guardian UX

Prompt: In fedimint, each eCash mint is operated by a few trusted custodians called “guardians”. Together, the guardians form a “federation” that custodies funds and manages operations within the mint.

Within a Fedimint instance, EVERYTHING is federated across the guardians… So every action (authorizing a social recovery, changing the name, adjusting settings, etc.) requires a threshold of guardians to approve the action. This creates a unique UX challenge to make the process smooth, secure, and intuitive for the guardians involved.

Your Challenge: Build an application that helps guardians manage their federation.

Some things to consider:
- Visualize Federated Decisions: Provide a clear, real-time view of ongoing proposals, the current status of approvals, and the steps needed to finalize decisions.
- Streamline Communication: Facilitate communication among guardians, allowing them to discuss proposals, share insights, and reach consensus with minimal friction. (cough cough… nostr)
- Ensure Usability: Focus on making the interface intuitive even for non-technical users, allowing all guardians to participate effectively in the federation’s governance, regardless of their technical expertise.

Resources
-
Fedimint Guardian UI - This is what guardians use today. While it’s not a requirement to build on it directly, you’re welcome to use it as boilerplate/inspiration.
- (Hacks on the Gateway UI are also fair game)

2 Fedimint Observer

Prompt: Fedimint Observer is designed to be the “mempool.space for Fedimint,” providing insights into transfers in and out of federations while respecting the privacy properties of Fedimint. Although it won’t show specific transaction flows, it can present interesting metrics about the entire federation.

Your Challenge: Extend Fedimint Observer or build something awesome with the data.

Some things to consider:
- User Transparency: Think about what insights a user would care about when evaluating federation. (location of guardians, nostr data, metadata completeness, uptime, etc.)
- Developer Insights: Create tools or dashboards within Fedimint Observer that allow developers to easily query and analyze federation data.
- Pizzazz: mempool.space is gorgeous. Let’s give fedimint observer the same treatment.

Resources
  - Fedimint Observer Repo

3 Ecash + Lightning Liquidity

Prompt: Liquidity management is a persistent challenge in the Lightning Network. Node runners often grapple with depleted channels, imbalanced liquidity, and the complexities of channel rebalancing or opening new channels—all of which can be costly and time-consuming.

Your Challenge: Use ecash payments to fix one of the Lightning Network’s many liquidity problems.

Some things to consider:
- Out-of-Band Payments: Implement a system that enables users to atomically swap between Lightning Network balances and ecash tokens.
- Interoperability: Think about how you could support a variety of mints and/or ecash protocols.
- HTLC Swaps: Consider creating a service that allows users to atomically swap lightning HTLCs for an ecash HTLC (locked to a pubkey for cashu)
- Safety & Security: Consider how an adversary might use your solution to steal funds from a lightning node.
- User Experience: Create an intuitive interface that works with the existing tools that node runners use today. 

Resources
  - ThunderHub node manager - Dashboard for managing lightning nodes
  - BoS (Balance of Satoshis) - CLI tools for managing LND

4 Cashu Point of Sale

Prompt: Ecash unlocks several magical UX features for bitcoin payments, including offline payments.

Your Challenge: Create an application that automates mint audits and displays uptime information.

Some things to consider
- NFC - Tap to Pay: Cashu supports a protocol for storing nuts on a card. Create a point of sale that allows a user to pay via NFC, then melts the ecash over lightning.
- UX: Consider other UX features that ecash unlocks.

5 Backup & Recovery

Prompt: One of the challenges with ecash wallets is the risk of losing access to funds if the wallet or device is lost. A secure, user-friendly, and interoperable backup and recovery scheme is essential to ensure users can restore their funds without compromising privacy or security.

Your Challenge: Build a generic backup and recovery scheme for eCash wallets that ensures users can securely recover their funds even in the event of device loss or failure.

Some things to consider:

- Privacy-Preserving Backups: Ideally, private user data should NOT be exposed to the backup service provider. Consider how you can hide the identity of the backup owner.
- Denial of Service Resistance: Since a backup service stores data for a user, consider potential DoS vulnerabilities and mitigations.

Requirements

Project Submission

All teams must submit their projects on Devpost (this site). Do this early so you don't forget.

Judges will primarily use the presentations to select winners. They may reference your Devpost sumbissions as well.

- Submission Deadline: Sunday (10/13/24) @ 11:00 AM
- Presentations: Sunday @ 3:00 PM
- 3 minutes per team (practice & time yourself)

Judging Criteria

To judge hackathon projects, we follow the global standard for performance-based judging: the Olympics Women’s Gymnastics Rubric. Judges will be evaluating each hackathon team’s performance based on the following criteria:
- Routine Difficulty: Project idea, Potential impact of project, ambition
- Routine Execution: Project achievement, What you actually built, Does it work
 - General Effect: Swag Factor, Presentation, Applicability to theme (ecash)

Hackathon Sponsors

Prizes

$15,200 in prizes
1st Overall
Cryptocurrency logo
1 winner

9M Sats

2nd Overall
Cryptocurrency logo
1 winner

6M Sats

3rd Overall
1 winner

3M Sats

Challenge - Fedimint Guardian UX
Cryptocurrency logo
1 winner

2M Sats - Prompt: In fedimint, each eCash mint is operated by a few trusted custodians called “guardians”. Together, the guardians form a “federation” that custodies funds and manages operations within the mint.

Within a Fedimint instance, EVERYTHING is federated across the guardians… So every action (authorizing a social recovery, changing the name, adjusting settings, etc.) requires a threshold of guardians to approve the action. This creates a unique UX challenge to make the process smooth, secure, and intuitive for the guardians involved.

Your Challenge: Build an application that helps guardians manage their federation.

Challenge - Fedimint Observer
Cryptocurrency logo
1 winner

2M Sats - Prompt: Fedimint Observer is designed to be the “mempool.space for Fedimint,” providing insights into transfers in and out of federations while respecting the privacy properties of Fedimint. Although it won’t show specific transaction flows, it can present interesting metrics about the entire federation. - Your Challenge: Extend Fedimint Observer or build something awesome with the data.

Challenge - Ecash + Lightning Liquidity
Cryptocurrency logo
1 winner

2M Sats - Prompt: Liquidity management is a persistent challenge in the Lightning Network. Node runners often grapple with depleted channels, imbalanced liquidity, and the complexities of channel rebalancing or opening new channels—all of which can be costly and time-consuming.

Your Challenge: Use ecash payments to fix one of the Lightning Network’s many liquidity problems.

Challenge - Cashu Point of Sale
Cryptocurrency logo
1 winner

2M Sats - Prompt: Ecash unlocks several magical UX features for bitcoin payments, including offline payments.

Your Challenge: Create an application that automates mint audits and displays uptime information.

Challenge - Generic ecash Backup and Recovery
Cryptocurrency logo
1 winner

2M Sats - Prompt: One of the challenges with ecash wallets is the risk of losing access to funds if the wallet or device is lost. A secure, user-friendly, and interoperable backup and recovery scheme is essential to ensure users can restore their funds without compromising privacy or security.

Your Challenge: Build a generic backup and recovery scheme for eCash wallets that ensures users can securely recover their funds even in the event of device loss or failure.

Devpost Achievements

Submitting to this hackathon could earn you:

Judges

Niftynei

Niftynei
Bitcoin++

Elsirion

Elsirion
Fedimint

Calle

Calle
Cashu

Janusz

Janusz
Janitor

Judging Criteria

  • Routine Difficulty
    Quality of your Project Idea. Potential impact of your idea. Ambition/scope of the project (given the 24 hour deadline).
  • Routine Execution
    Project achievement. What you actually built. Does it work? Were you able to solve the problem you set out to solve?
  • General Effect
    Swag Factor, Presentation, Applicability to theme (ecash)

Questions? Email the hackathon manager

Tell your friends

Hackathon sponsors

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.