Note: this document is a draft for the purpose of soliciting feedback. Details may not be final yet.
Wallet Competition
The Neptune Cash ecosystem is evolving at an incredible pace. The requests for features are stacking up across the board, and the neptune-core
developers can barely keep up. Among all feature requests, one category stands out for its large tally: a graphical user interface wallet.
Meanwhile, the code base is evolving into a stabler and more modular state, to the point where it is possible to contribute meaningfully without intricate knowledge of the rest of the system.
In response to this market demand, in order to release some of the pressure on the neptune-core
team, and since it is possible, we have decided to outsource the development of GUI wallets. Not to some well-defined firm or individual contractor, but to the community at large. Specifically, we are launching a competition to solicit contributions from anyone who pleases. And there is a bounty for the winner(s).
Scope
The competition focuses on graphical user interfaces for managing the user’s Neptune Cash wallet. In particular, we are looking for programs that present users with a smooth user experience as they import and export Neptune Cash wallet seeds, and send and receive Neptune Cash transactions.
Bounty
The total prize money amounts to 11’000 Neptune coins, of which at least 6’000 will go to the winner. The remaining 5’000 coins will be distributed among the runners-up according to a distribution at the discretion of the judges.
For each winning submission, the entire reward will be disbursed as one Neptune Cash transaction to an address supplied by the winning teams. Further distribution is the responsibility of the winning teams.
Eligibility
The minimum requirements for the GUI Wallet program are as follows.
- The GUI Wallet must be capable of standalone operation, meaning that it must participate in the Neptune peer-to-peer protocol itself or manage a process that does it.
- By default, no secrets (cryptographic or other) leave the device. Functionality for exporting secrets must be expressly selected.
- The GUI Wallet must be capable of importing and exporting seed phrases; these seed phrases must be compatible with the
neptune-cli
commandsimport-seed-phrase
andexport-seed-phrase
. - The GUI Wallet must be capable of sending and receiving Neptune coins.
- The GUI Wallet must be capable of tolerating reorganizations.
- The entire software package must be licensed under the MIT license or similar. Moreover, it must have an up-to-date Github repository.
- The GUI Wallet must run on Linux.
The following features are optional.
- A mode of use whereby the GUI Wallet communicates with a separate process or server without managing it, such as an instance of
neptune-core
running on the same machine or even another machine over the internet. - A mode of use whereby the GUI Wallet interacts with an external party to outsource the production of proofs or other work-intensive tasks.
- Support for other operating systems besides Linux, or even platforms like web or smartphone.
Judgment
Judgment is reserved for the neptune-core
team who may at their discretion elect judges to outsource judgment to. The neptune-core
team and any elected judges are barred from receiving bounties.
The judges will evaluate the eligible submissions according to the following criteria, listed in order of importance.
- User experience.
- Ease of installation.
- Code quality, git discipline, test coverage, release build distribution.
- Community response.
- Resource requirements.
Projects will not be penalized for reusing code that was developed by other teams, provided that such code is duly attributed. However, the judges will take into special consideration and rate highly the original sources of such code reuse instances.
The judges will base their judgments on the snapshot of the repository taken at the deadline for submission and will not take into account later commits. The judges’ evaluations and scores will be published when the winners are announced.
Timeline
- 2025-04-16: Competition Announcement Draft Published
- 2025-05-01: Competition Announcement Finalized
- 2025-10-01: Deadline for Submissions
- 2025-11-01: Judges’ Report on Eligibility
- 2026-01-01: Winner(s) Announced & Payout(s) Arranged
How To Submit
- Create a Github repository.
- Develop a GUI Wallet.
- Mark the repository “public”.
- Announce the submission in the forum on the official GUI Wallet Competition thread before the deadline.
Draft
This document is in draft status, meaning that a) details may not be final, and b) feedback is requested. Feel free to comment on this thread.