API & CLI

Work from the terminal.

The website and command-line client use the same public JSON API. Download the single-file client; there is no package to install.

CLI

Downloadkernelsprint.mjs
node kernelsprint.mjs bounties list --url WEBSITE_ORIGIN
Validate a brief locally
node kernelsprint.mjs bounties validate --file bounty.json
Print a template
node kernelsprint.mjs bounties init
Create a bounty from JSON
node kernelsprint.mjs bounties create --file bounty.json --url WEBSITE_ORIGIN
Submit source
node kernelsprint.mjs solutions submit --bounty ID --file kernel.py --name NAME --email EMAIL --notes '...' --accept-license --url WEBSITE_ORIGIN

Replace WEBSITE_ORIGIN with the site URL, or set KERNELSPRINT_URL. Set KERNELSPRINT_TOKEN to your saved token for private commands. Tokens are not accepted in command-line flags.

bounties validate checks only the structured manifest; it does not fetch a baseline, run a benchmark, or certify a result. bounties init prints an illustrative template and never writes a file by itself.

Prepare the brief

Download the example bounty JSON. Replace every example value, confirm your deadline and reward, then save it as bounty.json. Posting creates a public, unverified pledge immediately.

Each new brief includes an evaluation manifest covering environment, workload, correctness, measurement, integration, resources, award, and artifact handoff. It is a contract and fingerprint—not an executable harness or certification. The canonical public copy is available at GET /api/v1/bounties/:id/contract; pinned bundles are external and are not fetched by the CLI.

Use Node.js 22 or newer. Mutation retries are not idempotent: if a request times out, check what was created before submitting again.

HTTP API

Download the OpenAPI description.

GET /api/v1/bounties

List public bounties.

POST /api/v1/bounties

Create a bounty. Returns its public record and a management token once.

GET /api/v1/bounties/:id

Read a bounty and its public submission receipts.

PATCH /api/v1/bounties/:id

Archive an open bounty with its management token, only before the first submission.

POST /api/v1/bounties/:id/solutions

Submit a UTF-8 source file encoded in JSON. Returns a receipt token once.

GET /api/v1/bounties/:id/submissions

List private submission metadata with the bounty management token.

GET /api/v1/solutions/:id/source

Download source with a receipt or management token in the Authorization header.

Secrets

Management and receipt tokens are displayed only once. Store them somewhere secure. Send tokens as Authorization: Bearer TOKEN; never put them in a URL.