---
title: "Publish Market Mark Head"
method: POST
path: "/v1/tools/publish_market_mark_head"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Publish Market Mark Head

`POST /v1/tools/publish_market_mark_head`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/publish_market_mark_head`
- Auth: none declared

Publishes one SPEC.md §HEAD-1 head-commit publication event for a market's mark-price print stream (stream = "mark:<venue>:<pair>"), so a series of art-560-oracle-price-aggregation prints for the same pair becomes a sequence-numbered, signer-continuous chain instead of a set of unlinked artifacts a reader must independently discover and order, mirroring MRM-LINEAGE-BUILD-SPEC.md's art-649-publish-model-risk-head and NAV-LINEAGE-BUILD-SPEC.md §3 / INDEX-LINEAGE-BUILD-SPEC.md §5's own §HEAD-1 sections, applied to a market's mark-print cadence. HARD FENCE: this node never accepts or handles private key material, the caller signs the head-commit off-node via chaingraph/kernels/_head.mjs's own buildHead/signHead and separately runs its own Ed25519 verification (again via _head.mjs's verifyHeadProof/verifyChain) before calling this node. signature_valid and chain_valid are the caller's own verification claim, asserted and digested into this receipt, never independently re-derived by this node (the real zkVM guest has no WebCrypto at all, so an in-kernel Ed25519 verify result would not be reproducible across this repo's required execution environments). The one field this node DOES independently recompute is head_hash (pure SHA-256/JCS over the caller-supplied head, never trusted as a caller-asserted value, per SO #34). Backed by ocg-head-file@1 only at first, matching the model-risk/NAV/index lineage rows; a head-file tip proves the signer's claimed tip, it does not itself detect equivocation (needs ocg-head-tlog@1, a later WU) and is not itself a print-cadence/staleness enforcement mechanism. The estate's head-commit primitive (SPEC.md §HEAD-1 + _head.mjs) is merged to main; this node applies that estate-internal primitive to a market's mark-price stream and makes no claim under CFTC, SEC, or any venue's own market-data attestation obligations itself.

**Tool URL:** https://ainumbers.co/mcp.html

## Request body

- object
  - `chain_verification` unknown[], required
    - unknown
  - `head` unknown, required
  - `prior_head` unknown, required
  - `signature_verification` unknown, required

## Response `200`

Successful tool execution result

- object
  - `chain_errors` unknown[], required
    - unknown
  - `chain_valid` boolean, nullable, required
  - `chain_verified_by` string, nullable, required
  - `errors` string[], required
  - `fence` string, required
  - `head_hash` string, nullable, required
  - `is_genesis` false | true, required
  - `not_proven` object[], required
    - `detail` string, required
    - `item` string, required
  - `prev_head_hash` string, nullable, required
  - `regulatory_framework` string, required
  - `root` string, nullable, required
  - `rotates_to` string, nullable, required
  - `seq` number, nullable, required
  - `signature_valid` boolean, nullable, required
  - `signature_verified_by` string, nullable, required
  - `signer` string, nullable, required
  - `stream` string, nullable, required
  - `structural_error` string, nullable, required
  - `timestamp` string, nullable, required

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
