< Return to the Challenge Details.


Submission Process

By participating, Contestants agree to be bound by the Official Rules on the Challenge website and the decisions of the judges and/or Sponsor, which are binding and final on matters relating to this Challenge.

Your entry on the application form is your submission to the Challenge (”Submission”). Only Submissions made by this form, online, will be considered by the judges. There is no limit to the number of Submissions a Contestant can make, but each Submission must be made on a separate application form.

To enter, follow all steps described below.

1) First, Contestants must create a Submission following the guidelines on this website.

2) Contestants must post their Submissions to a public repository with a GitHub account for which the individual entering is the contact person. The Submission must include a licensing statement making the Submission available under the MIT license. As an exception, Submissions under other OSI-approved licenses may also be accepted when they are built upon third-party components requiring those licenses.

3) After the Submissions have been publicly posted, Contestants must complete the online Challenge application form and submit by the end of the Challenge Submission Period. No other methods of delivery will be accepted. All contact information provided must be current, accurate, and valid.

4) Sponsor will start publishing Submissions on this website on October 14, 2016. You have the right, but not the obligation, to post Submissions early in the Contest Submission Period to potentially receive appropriate feedback from Judges (as defined below). If you choose to post your Submissions early, the judges will look at this favorably, as noted in the judging criteria.

Submission Guidelines

By uploading your Submission, you agree that your Submission conforms to the Submission Guidelines (as defined below), is otherwise qualified, and that Sponsor, in its sole discretion, may remove your Submission and disqualify you from the Challenge if it believes your Submission fails to conform to these Guidelines.


Unless a given Submission can justify its more efficient API (e.g., with multiple nonces per solver invocation in order to possibly maximize hardware utilization), our preferred C API for the Equihash solver is as follows:

int SolverFunction(const unsigned char* input,

bool (*validBlock)(void*, const unsigned char*),
void* validBlockData,
bool (*cancelled)(void*),
void* cancelledData,
int numThreads,
int n, int k);

The optional preferred CLI API for the Equihash solver is as follows:

./solver -i <input> -t <numThreads> -n <n> -k <k>

Test Vectors

Zcash Equihash test vectors for n=200, k=9 and n=144, k=5 are currently available as part of this GitHub pull request:



The Zcash Company is sponsoring a prize fund, in total of $30,000 for the winner(s) of the challenge. Note that the winning CPU entry will receive a $10,000 prize and the winning GPU entry will receive a $10,000 prize and the other $10,000 of prizes will be distributed to the Runners Up.

Selected Contestants and Runners Up will be required to respond (as directed) to the phone and/or e-mail notification within seventy-two (72) hours of attempted notification (“Notification”). Selected Contestants and Runners Up may be sent a declaration of eligibility / liability / publicity release (“Release”). Unless restricted by law, Selected Contestant and Runners Up will be required to complete and return the Release within seventy-two (72) hours of the date notice is sent. If a Selected Contestant and/or Runner Up: (i) cannot be contacted; (ii) does not respond in a timely manner; or (iii) fails to return the Release as provided herein, such Contestant forfeits all rights to receive a prize, and an alternate Contestant may be selected (up to three attempts). Assumed notification by caller ID and any subsequent returned calls do not constitute a winner. Selected Contestant and Runners Up selection subject to verification, including verification of each Contestant’s eligibility.

Acceptance of any prize shall constitute and signify each Contestant’s agreement and consent that Sponsor may use the Contestant’s name, city, state, likeness, Submission and/or prize information in connection with the Challenge for promotional, advertising, or other purposes, worldwide, in any and all media now known or hereafter devised, including the Internet, without limitation and without further payment, notification, permission or other consideration, except where prohibited by law.

The prizes may be a taxable event for Selected Contestants and Runners Up. For all prizes, all federal, state and local taxes and other expenses in connection with the prize are the sole responsibility of the Selected Contestant and Runners Up. If Selected Contestant is not able or willing to accept the Grand Prize or any portion thereof for any reason, Grand Prize may be forfeited and may not be awarded.

Zcash may, at its sole discretion, provide additional cash and other incentives after the close of the Challenge and pursuant to prizes being awarded to give Winners and other Contestants incentives to complete or update their original Challenge Submission.

The Small Print

There are some more legal details on our Small Print page.