Get this node's certificate

Returns the performance certificate this node holds for itself as a provider.

Returns the performance certificate this node issued for itself as a provider — a signed proof that its machine completed a known benchmark in a timekeeper-attested amount of time.

GET/certificate
curl https://<node>/certificate

A node that is not running as a provider has no certificate of its own and answers 404. A provider also answers 404 until its first benchmark run finishes — issuance happens in the background at startup, once the node has peers to gather timekeeper attestations from.

Response

{
  "provider": "a1b2c3d4...",
  "seed": "9f8e7d6c...",
  "workload_version": 3,
  "iterations": 375000000,
  "work_proof": "4b5a6978...",
  "score": 0.4212,
  "start_attestation_root": "1122aabb...",
  "end_attestation_root": "3344ccdd...",
  "start_median": 1770000000000000000,
  "end_median": 1770000002374000000,
  "issued_at": 1770000000000000000,
  "expires_at": 1770604800000000000,
  "price_multiplier_milli": 1000,
  "signature": "...",
  "hash": "f2a3b4c5..."
}
FieldMeaning
providerHex ed25519 public key of the provider the certificate belongs to.
seedHex benchmark seed, derived from the start attestation and the provider key.
workload_versionVersion of the benchmark algorithm the proof was produced with.
iterationsLength of the benchmark hash chain.
work_proofHex final hash of the chain — the proof the work was done.
score1.0 / elapsed_seconds, where elapsed is measured between the attested medians. Higher is faster.
start_attestation_rootMerkle root over the start attestations.
end_attestation_rootMerkle root over the end attestations.
start_medianMedian attested start timestamp, in unix nanoseconds.
end_medianMedian attested end timestamp, in unix nanoseconds.
issued_atEqual to start_median.
expires_atissued_at plus the validity period — 7 days.
price_multiplier_milliProvider's price multiplier, ×1000 (1000 = 1.000×).
signatureThe provider's signature over the certificate.
hashSHA-256 of the certificate's canonical bytes. This is the value a lease block pins in certificate_hash.

Certificates are compact by design: they carry merkle roots rather than the full attestation arrays.

Errors

{ "error": "no performance certificate" }

That response carries HTTP 404.