Q token mark QUADPublic Accountability

Schemas before speculation

Public Contracts

A public contract says who owns a record, what version it follows, how fresh it is, what it proves, and what a reader must not infer from it.

A visible endpoint is not launch. A schema is not custody. A receipt field is not universal truth.

Contract Register

Use the owning surface first. The main website can index and explain contracts, but it does not own chain state.

Machine-Readable Contract Register

The JSON register gives crawlers, reviewers, and future tooling a stable public shape without exposing private mechanics.

Scope

Schema families, global rules, status labels, public routes, evidence classes, replay domains, timeout policies, and must-not-infer boundaries.

Limit

The JSON is static public interface guidance. It does not prove live interop, current chain state, custody, admission, settlement, liquidity, launch, rewards, allocation, or economic activation.

Contract Shape

Every public contract or data export should carry enough context to prevent a stronger claim from sneaking in.

FieldPurposeBoundary
contract_idStable identifier for the route, file, export, receipt, or schema family.Does not prove the route is currently live.
owner_surfaceCore, Infra, Bridge, Liquid, main website, wallet metadata, indexer, or external rail.Does not transfer authority to the caller.
schema_versionVersion used by the current public shape.Does not certify backward compatibility unless the contract says so.
statusLive, staged, closed, stale, degraded, refused, quarantined, retired, or cannot verify.Does not upgrade weaker states into availability.
evidence_classObservation, receipt, proof, metadata, route, quote, refusal, finality, handoff, or settlement request.Does not become universal truth outside its class.
freshness_ruleHow to decide whether this value is current enough to quote.Does not permit invented values when stale.
verifier_urlPublic route that can be checked next, where available.Does not expose private routes or private recovery material.
must_not_inferClaims this record cannot support.No sale, allocation, reward eligibility, custody, admission, redemption, liquidity, or launch inference.

Schema Families

The same contract discipline applies whether a visitor reads a page, JSON, receipt, wallet label, or indexer output.

Status

surface, status, freshness, last_update, source_url, boundary.

Receipt

receipt_id, owner_surface, event, proof_class, payload_boundary, verifier_url.

Balance

denom, amount, balance_class, module_flag, finality, owner_surface.

Route

source_chain, host_chain, destination_chain, route_state, refund_state, handoff_state.

Object

object_id, service_class, visibility, retention, proof_class, receipt_id.

Quote

quote_id, expected_denom, expected_amount, expiry, status, refusal_reason.

Provider

provider_id, service_class, work_state, challenge_state, settlement_state, receipt_id.

Release

artifact_id, source, status, hash, supersedes, boundary.

Wallet metadata

chain_id, denom, display, decimals, address_prefix, state_label.

Versioning Rules

  • Additive change: new optional fields can appear without changing old meanings.
  • Required change: new required fields should carry a schema version and migration note.
  • Breaking change: old consumers should see a clear retired, superseded, or owner-changed label.
  • Deprecation: old routes should keep a public boundary long enough to stop stale quoting.
  • Owner change: the new owner must be explicit; a redirect does not transfer chain authority by itself.

Stale And Missing Values

  • Null: intentionally empty or not applicable.
  • Missing: not present in this contract version or not exposed by the owner.
  • Stale: once observed but too old to quote as current.
  • Refused: owner rejected the action, route, or interpretation.
  • Redacted: intentionally withheld from the public contract.
  • Terminal: no further public action is available from this state.

Consumer Rules

Different consumers can read the same public contract, but none of them should inflate it.

ConsumerAllowed useMust not do
WebsiteOrient readers, link to owners, summarize labels, and expose static fallback.Do not become chain state, private procedure, or live custody proof.
WalletDisplay chain id, denom, address prefix, balance class, fee class, and finality label.Do not imply spend authority, redemption, yield, reward eligibility, or launch from metadata.
ExplorerShow blocks, transactions, validators, status, and public chain metadata.Do not turn visible hashes into mining, rewards, market cap, or PoW assumptions.
IndexerCache and query public records with owner, version, freshness, and source URL.Do not backfill missing current state from old snapshots or adjacent chains.
IntegratorBuild UI around owner, phase, proof, boundary, receipt, and stale handling.Do not hide closed, stale, refused, or not-yet-public states behind optimistic buttons.
AssistantQuote the canonical public summary and downgrade unknown live state.Do not infer drones, datasets, DePIN rewards, AI-data networks, mining, sale access, or entitlement.

Must-Not-Build List

These are contract failures, even when the interface looks polished.

No static-as-current

Do not present cached, fallback, fixture, rehearsal, or stale JSON as current chain state.

No endpoint-as-authority

An endpoint answering requests does not prove custody, admission, settlement, or chain health by itself.

No receipt inflation

A receipt proves its event and proof class; it does not prove every downstream claim.

No wallet gate to read

Public pages should be readable without Keplr, a wallet connection, signature, seed phrase, or payment.

No hidden availability

Closed, refused, paused, stale, or not-yet-public routes should look closed, refused, paused, stale, or not yet public.

No private material

Public contracts must not expose private payloads, private endpoints, private accounts, keys, sensitive recovery detail, or private support routes.