# The record

Summary: Nox FZE, an independent company, records your venue's public market data. Each UTC hour becomes a sealed hour in a hash chain, delivered into storage you own within 15 minutes after the hour closes. If your storage or the recorder is unavailable, the hour arrives later. Anyone you share a sealed hour with can recompute its file hashes and its link to the hour before with openly available tools.

## Find your path

### Your venue's engineers

Before the first sealed hour arrives:

1. [Record format, version 1](https://noxfze.com/docs/format): the exact contract of every file.
2. [Command-line verification](https://noxfze.com/docs/verify): check an hour with `jq`, `b3sum` and `zstd`.
3. [Reading a sealed hour](https://noxfze.com/docs/read): query the tables with DuckDB and pyarrow.
4. [Starting a record](https://noxfze.com/docs/start): the written request, the order form and your storage.

### A party you share hours with

A partner, a data aggregator or a researcher your venue shares a sealed hour with:

1. [Command-line verification](https://noxfze.com/docs/verify): check that the hour is intact and chained.
2. [Reading a sealed hour](https://noxfze.com/docs/read): join every row to the frame it came from.
3. [Gaps, reconnections and replicas](https://noxfze.com/docs/gaps): what the record holds and what it misses.

### An AI agent for your venue

An agent that reads, cites and runs these pages:

1. [The complete documentation as one text file](https://noxfze.com/llms-full.txt), and a Markdown version of each page.
2. The commands on each page run as written, on the [synthetic example hours](https://noxfze.com/docs/example), and print the
   output the page states.
3. Requests go by email to contact@noxfze.com, subject "Venue record request (agent)".

## What one sealed hour holds

Each channel your venue publishes (trades, order book, funding) has one directory per UTC hour. It holds the frames
exactly as received, a normalized form of trades and the order book, and a manifest. Each normalized row references
the frame it came from.

The manifest lists each file of the hour with its size and hash. It lists every reconnection and every gap Nox
detects in your venue's message sequence. It carries the hash of the previous hour's manifest, which makes the hours
a hash chain. Every UTC hour has a manifest, including an hour in which Nox received no messages.

The hash of an hour's manifest is that hour's root, and the next hour's manifest carries it. This root shows only
that the hour is unchanged since Nox FZE sealed it, and which messages Nox FZE received from the venue's public
interfaces and when. It gives no opinion on the venue or on its markets, volume, statements, controls or systems.

## Pages

- [Record format, version 1](https://noxfze.com/docs/format): the layout, encodings, files and manifests of a sealed hour, and the
  checks a verifier makes.
- [Command-line verification](https://noxfze.com/docs/verify): the manifest, each file's size and hash, and the link to the hour
  before, with `jq`, `b3sum` and `zstd`.
- [Reading a sealed hour](https://noxfze.com/docs/read): the trades with DuckDB and pyarrow, each row joined to its frame, and a run of
  hours as one table.
- [Gaps, reconnections and replicas](https://noxfze.com/docs/gaps): how a manifest declares breaks in the sequence, reconnections and
  what each replica received.
- [Synthetic example hours](https://noxfze.com/docs/example): two synthetic pairs of hours, one with a declared gap, each as one
  download with its listing and expected result.
- [Starting a record](https://noxfze.com/docs/start): the written request, the order form, storage you own, and the 30-day pilot.
- [Questions venues ask](https://noxfze.com/docs/questions): short answers to the questions a venue asks before a record starts, each
  with the page that states it in full.

To verify a sealed hour in your browser without installing anything, use
[Verification, the in-browser check of a sealed hour](https://noxfze.com/verify).
