Skip to main content

Proving Job Status

POST 

/experimental/prove/status

Reports the status of a proving request, so a client whose connection dropped mid-proof can find out what happened. Send the plaintext (not encrypted) JSON body { "key": "<hex>" }, where key is the 64-character hex job key of the request.

The job key is the SHA-256 of what the request asks for, so the client derives it from the request it sent. The hash input is, in order: the ASCII domain tag aleo-prover/job/v1; the network id as a little-endian u16; the broadcast flag as one byte; the payload — 0x00 followed by the Authorization's snarkVM bytes, or 0x01, the request count as a little-endian u32 and each Request's snarkVM bytes; and the fee — 0x00 for none, or 0x01 followed by its snarkVM bytes. "snarkVM bytes" is the object's to_bytes_le. A request sent to a deprecated byte-format route has the same key as the JSON request it stands for.

A job that is still running is answered with a Retry-After header. Records are kept for 24 hours after a job finishes and are held in memory, so they do not survive a restart of the service. Responses are never cacheable.

Request​

Responses​

Job status

Response Headers
    Retry-After

    Present while the job is still running. Seconds to wait before asking again.