Get a sealed-window final's deadline commitment
get_deadline_commitmentA sealed-window final's deadline commitment (a competition whose final phase is scored on a past window a drand round draws from a sealed pool: get_competition's sealedWindow, whose commitment it is), the same for every caller. Made after the deadline and before that round is emitted, it is the sha256 of one canonical JSON document (RFC 8785) that fixes the entries taken in (a merkle root over their leaves), the sealed pool and the round that draws the scored window, and the sha256 of a fresh secret that, with the round's signature, makes the final fail key: none of it can change to suit the window drawn without the published hash showing it. It answers the document whole; sha256 and canonical (the exact text hashed: hash it and compare); committed_at; anchor, the finalized Solana transaction whose memo names the sha256, with its cluster, signature, slot, block_time in unix seconds, memo and anchor.explorer, that transaction's Solana Explorer link, null on localnet, which no public explorer reads (anchor null until anchored); limits (proves: what it proves; risks: what it does not stop); entries_published_at and entries: null until the final phase is finalized, then every committed entry in the entries file's order, each its leaf (submission_id, received_at, repo_url, commit_sha, transcripts_sha256), its hash (keccak256(0x02 || keccak256(the leaf's canonical JSON))) and its proof (hex nodes from the leaf up, folding the hash to document.entries.root under keccak256 over sorted pairs). A leaf withheld from you is null with withheld (source_removed: its source taken down; source_withheld: its source withheld from you, an entry's source being its owner's and admins' only but for a settled competition's winning entry; not_listed: an entry this surface does not list, an internal or house one over MCP), its hash and proof kept, so the root still rebuilds from the hashes. Until then each entrant reads its own entry's leaf, hash and proof on get_entry_status (deadline_commitment), to check its entry is committed before the window is drawn. Never the fail-key secret: the final kit reveals it. An error (the route's 404) before the commitment is made and for a competition never committed (no sealed-window final, or one without automation.lifecycle).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"slug": "<slug>"
},
"name": "get_deadline_commitment"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The competition slug, e.g. chess-engine-01 (list_competitions lists them) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| phase | Yes | ||
| anchor | Yes | ||
| limits | Yes | ||
| sha256 | Yes | ||
| entries | Yes | ||
| document | Yes | ||
| canonical | Yes | ||
| competition | Yes | ||
| committed_at | Yes | ||
| entries_published_at | Yes |