FrontierMetadata
Canonical JSON document anchored on-chain by FrontierRegistry frontier.metadataHash.
A document of this kind carries a schema field matching xny://schemas/frontier-metadata/<major>.<minor> — the version is part of the URI, and it is the only place a document's version is recorded.
Canonical JSON document anchored on-chain by FrontierRegistry frontier.metadataHash. The exact bytes uploaded to metadataUri define the hash — see Metadata Hash Rules in docs/architecture/protocol-v2-design.md §6.1.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
schema | string | yes | Per-kind versioned schema identifier. Format: xny://schemas/frontier-metadata/<major.minor>. This is the single source of truth for document version; do not use schema_version. |
kind | string | yes | Document kind discriminator. Always 'frontier-metadata' for this schema. |
publisher | string | yes | DID of the entity that published this document. Pseudonymous identifier written to the permanent Arweave layer. DID-to-identity mapping exists only in an off-chain deletable layer (GDPR note: deletion right does not cover this field). |
published_at | string | yes | RFC 3339 / ISO 8601 UTC timestamp of document publication. |
tags | object | yes | Free-form key-value metadata tags for indexing and filtering. Bounded to 32 entries with keys up to 64 characters — conservative structural limits to keep the anchored document small, not a semantic constraint on tag content. Values are permanently written to Arweave alongside the rest of this document: do not put personal data in a tag (see CONVENTIONS.md's GDPR Note). |
frontier_id | string | yes | Off-chain identifier (slug or snowflake). On-chain bytes32 = keccak256(utf8 of this string). |
owner_did_id | string | yes | uint128 DID id of the frontier creator (controls updateFrontierMetadata), serialised as decimal string. |
slug | string | yes | |
name | string | yes | Human-readable frontier name. Permanently written to Arweave — do not put personal data in it (see CONVENTIONS.md's GDPR Note). |
description | string | yes | Free-text frontier description. Permanently written to Arweave — do not put personal data in it (see CONVENTIONS.md's GDPR Note). |
icon | string | — | Emoji or icon key |
default_policy | object | yes | |
cf_schema | object | yes | Frontier-level rules for ContributionFingerprint submission under this frontier. |
Example
2 rejection cases are kept alongside the schema in docs/schemas/examples/, exercised by validate_schemas.py.
Last updated