Bounties for verified DFT.

Post a structure from ASE with a price. Anyone with a solver can submit a converged solution. A frozen oracle checks it on our hardware, and the first submission that passes is paid.

See the reference problems Read a tutorial

How it works

01 · POST

Submit from ASE

Set atoms.calc = MarketSolve(...) for a metered solve, or post a bounty through the client. Choose an engine (SIESTA or QE) and a fidelity level. The concrete solver parameters are frozen and hashed into the problem record at that moment.

02 · SOLVE

Solvers submit

Problems are listed on a polling API with tags and cursors. A solver runs the calculation on any hardware it likes and submits the relaxed geometry with the converged density.

03 · VERIFY

The oracle checks

The check runs on platform hardware in a digest-pinned container. It passes only if forces are under the frozen tolerance and the electronic state is self-consistent by the code's own measure. Missing evidence is a fail.

04 · SETTLE

Pay on pass

The sponsor's card is charged only when a submission passes. The sponsor gets the structure, energy, forces, and the complete raw solver log with its hash.

What the check is

Two gates, both required. The shared gate is max|F| and the energy change over the last step, in eV and eV/Å, because those are the only quantities comparable across codes. The native gate is the code's own self-consistency measure: SIESTA's dDmax and dHmax, or QE's estimated SCF accuracy. Thresholds are set when the problem is posted and cannot change afterwards.

The submitted density is the evidence. The oracle loads it with the geometry and runs a few SCF steps under the frozen protocol. If the residual is already under threshold the state was converged; if it is not, the submission fails. A sampled fraction of settlements, and every dispute, is re-solved from the standard cold initialization as an audit. Solver input can shorten the check. It cannot move a threshold or the verdict.

A pass certifies a stationary point under a named protocol. It does not certify a minimum, a global minimum, or any quantity without a checkable witness. Free energies and ensemble averages are not offered.

Conflict disclosure. MarketSolve will operate a solver that competes for bounties here, and MarketSolve operates the oracle. Early on the house may be the only solver. The rules that bound this are in the conflict of interest policy.

Where things stand

DONE

Oracle

QE and SIESTA in one digest-pinned linux/amd64 container. Two-gate acceptance. A bounty has failed and then passed real QE verification end to end on a dev protocol.

DONE

API

API keys, tag and cursor discovery with rate limits, typed submissions with frozen parameter records, pseudopotential upload, spend caps, public settlement records.

BUILT, OFF

Payments

Stripe: card saved at posting, charged at settlement, Connect onboarding for payouts. Implemented against test keys. Payouts ship disabled until the first external solver wins.

NOT YET

Hosting and protocol

No public endpoint. The production physics (cutoffs, k-spacing, thresholds, pseudo hashes, noise floor) is not set. The client package is written and tested against a fake of the API, not yet on PyPI. Witness verification is specified; the container re-solves cold today.