MONARKFleetNarabiUkemiBellit abstains so DeFi can act.
narabi · reading the served files · committed capture of the published files, taken 2026-09-24; the files as served now are read once this page runs in a browser
built · step 6 of 7 before first reading

Narabi — daily

One daily UTC window per line: attested, published, replayable, pre-registered, bounded. Two static files, nothing else.

Why seven steps

T = 6, from the committed capture of 2026-09-24. T is read from the published state, never typed here. We will not speak of this as a series until it has run for seven daily steps — one week of a published timeline that anyone can recompute and replay from the two static files, before we point to it. Seven steps is a week, nothing stronger: no trend is claimed, and no coverage is measured.

The bound printed daily is the Angelopoulos, Barber and Bates long-run quantity (B + η₁)/(T·η_T) with c = B = 1/24 and ε = 0.1; it stays above the target 0.1 until T = 1789, and we say so plainly rather than as a feature.

The tracker adapts; the gate does not yet. No coverage is measured — the printed bound is a long-run quantity, not a per-window coverage and not a probability.

What Narabi is

Narabi is the sensor of the first vertical. Shōgen attests, Hikae reads coverage, Ukemi carries the prediction contract; Narabi's measured redemption flow produced the committed calibration of the gate's one class, and the daily timeline is published beside it, not read by the gate. It is the first MONARK piece that publishes its own daily state for public replay.

Attested

Raw burns, mints and closing supply over a declared block window.

AttestedFlow is the fifth frozen typed contract. Its bytes recompute from the chain: Transfer events to and from the zero address, plus totalSupply at the closing block. No score, no price, no probability rides on it.

Published

The timeline is appended once a day and never rewritten; the state file is replaced each day.

state.json holds the tracker as of the last window and is replaced when a window is published; timeline.jsonl grows by one line per daily UTC window. Each line carries the hash of the previous one, so a rewrite is detectable by anyone holding an older copy, and this page checks that the timeline served now extends, byte for byte, the one served when its committed capture was taken. Detectable, not certified: the only check of the facts is the recompute.

Preregistered

The committed gate region does not move on its own.

It holds until the drift criterion fires (rolling calm-miss at or above the threshold, evaluable after the calm window fills) and an ADR says so. A drift opens a review; it never switches anything automatically.

Bounded

A deterministic long-run bound, printed with T, and called weak on purpose.

Each step prints the long-run quantity of the first theorem of Angelopoulos, Barber and Bates for the decaying step tracker. It tightens as windows accumulate and stays above the target for a long time; the page prints the projected day rather than hiding it.

Adaptive

The word qualifies the quantile tracker, nothing else.

The tracker moves each window from the realized outcome. The gate reads the committed static calibration and does not depend on the tracker state. The tracker adapts; the gate does not yet.

Conformal

Split conformal calibration plus a decaying step quantile tracker.

The gate answers commit, defer or abstain over a region, never a probability of being right. The calibration is measured nonstationary across half years, so under unit weights the honest sentence is the Barber, Candes, Ramdas and Tibshirani one: no coverage is measured.

How a window is built

Five steps, every one recomputable from the chain and the two files.

  1. Fix the daily UTC window and read its block range from the chain, from_block to to_block.
  2. Sum USDe burns and mints inside the range from the token's Transfer events; read the closing supply.
  3. Form the velocity v: burns divided by the opening supply (reconstructed exactly as close plus burns minus mints), per hour of window. Burns only in the numerator; a true fraction of the stock, never the odds.
  4. Classify the window: calm when burns stay under one percent of the opening stock and the stock is above the committed floor; then evaluable, non evaluable or clipped for the pair.
  5. Score the pair against the persistence forecast (tomorrow's v is today's v), step the tracker on it, and append the line with its hash, the sentinel's version and its RPC endpoint pool (this page shows only its size).

What the gate does with it

The gate tool on mcp.monarkgate.tech/mcp serves one committed class for the USDe population, calibrated on 613 calm pairs. Every other population abstains under_calib. The committed region is locked to one key; no family label routes around it, and the tracker printed on this page is not what the gate reads.

task class
stable-run-velocity-24h

the task class of the served gate description for Narabi's redemption-flow velocity

committed key
narabi:persistence-v2@eip155:1/erc20:0x4c9edd5852cd905f086c759e8383e09bff1e68b3

the one (task class, predictor) key the committed region is locked to

calibration pairs
613

consecutive calm pairs behind q₁, counted at build from the committed calibration scores

calibration digest
c9793b28…59d9e86c

calibDigest over those scores, recomputed at build: the digest the gate's verdict carries, not the tracker digest below

Pull both files. Recompute any window from its block range with eth_getLogs and totalSupply. Rederive q_t from the s column with the tracker replay printed below. Recompute each line's hash from its fields, as this page does in your browser. The AttestedFlow documents are not served: rebuild one from its window's facts with the public sentinel code and compare its hash with the published one. If anything differs, that is the finding, and it is yours to publish.

Tracker state

Narabi runs an adaptive quantile tracker (Angelopoulos–Barber–Bates 2024, decaying step) on the attested daily USDe redemption flow: its state moves each 24h window from the realized outcome, and the full timeline is published so anyone can replay it. What it carries is a deterministic long-run bound that tightens as windows accumulate, printed daily with T, not a per-window coverage, not a probability; the gate's committed calibration does not depend on the tracker state. Until the pre-registered drift criterion fires and an ADR says otherwise, the gate's region is still the committed static calibration: the tracker adapts, the gate does not yet.
q_t
1.372794e-2

current threshold of the adaptive quantile tracker

q₁
1.311923e-4

the committed static calibration

T
6

pairs stepped so far, evaluable or clipped

bound_thm1
0.9767

deterministic long-run bound, tightens as T grows; a — means no stepped pair yet

bound ≤ target, projected
2031-08-11

assumes one stepped pair per calendar day from the first tracker step (2026-09-18), under the published parameters; a change of c or ε would open a new parameter segment and move the printed bound to the arbitrary-step theorem of the same paper.

tracker parameter segments
one: every published bound equals the long-run bound under the published parameters
params
alpha = 0.1 · c = 0.041666666666666664 · eps = 0.1 · t0 = 0 · B = 0.041666666666666664
digest
26f94023…ae3d8dbe

the tracker digest: folds q₁, params and every stepped score

Pre-registered drift criterion

What a drift triggers is the opening of an ADR, never an automatic change of the committed gate region.

criterion
rolling calm-miss ≥ 0.40 over the last 90 calm pairs
status
6 of 90 calm pairs — evaluable after the window fills
fired
no

Windows

One row per daily UTC window, most recent first. Zeros are facts. A field not yet evaluable is a — with its status word. Amounts are rounded half-up to the unit shown; the exact integers are in the file.

dayTblockssupply open (USDe)burns (USDe)mints (USDe)supply close (USDe)supply identityv (per hour)regimepair
2026-09-23626036464–260436104.90 B11.32 M5.43 M4.89 Bholds9.6339e-5calmevaluable
2026-09-22526029316–260364634.90 B34.76 M26.38 M4.90 Bholds2.9529e-4calmevaluable
2026-09-21426022170–260293154.88 B17.60 M45.00 M4.90 Bholds1.5034e-4calmevaluable
2026-09-20326014998–260221694.84 B2.43 M35.73 M4.88 Bholds2.0892e-5calmevaluable
2026-09-19226007836–260149974.81 B12.33 M48.81 M4.84 Bholds1.0683e-4calmevaluable
2026-09-18126000651–260078354.74 B8.56 M76.20 M4.81 Bholds7.5211e-5calmevaluable
2026-09-17025993482–260006504.73 B7.25 M17.70 M4.74 Bholds6.3857e-5calmnon evaluable

Status is a word, not a colour. Fields not yet evaluable are printed as — with the word that says why.

Tracker trajectory

Each stepped pair, read from the published lines: the score s, whether it exceeded the committed q₁ (static miss) and the tracker's own threshold (tracker miss), the threshold before and after the step, the step size η and the long-run bound.

dayTsstatic missq beforeηq aftertracker misslong-run bound
2026-09-2361.9895e-4miss1.5150e-21.4220e-21.3728e-2—0.9767
2026-09-2251.4495e-4miss1.6736e-21.5864e-21.5150e-2—1.0506
2026-09-2141.2945e-4—1.8550e-21.8136e-21.6736e-2—1.1487
2026-09-2038.5942e-5—2.0705e-22.1553e-21.8550e-2—1.2888
2026-09-1923.1623e-5—-4.0355e-32.7490e-22.0705e-2miss1.5157
2026-09-1811.1354e-5—1.3119e-44.1667e-2-4.0355e-3—2.0000
2026-09-170—1.3119e-4—1.3119e-4—
static misses so far
2 of 6 stepped pairs

A static miss is a pair whose score exceeded q₁, the committed region the gate reads. The pre-registered drift criterion below is the rolling rate of static misses over calm pairs, evaluable only once its window fills; a count this small says nothing about coverage.

share of tracker misses so far
0.1667 over T = 6

Share of tracker misses so far, over T steps: a realized frequency on a handful of steps, not a coverage and not a probability.

sentinel's informational static budget (field B_t)
-0.1 with t_deg = 5 labels arrived

The sentinel's informational static budget (field B_t), computed from the static misses whose labels have arrived (t_deg). It is neither the budget a gate caller carries nor the MONARK authorization budget of the token page; a negative value is printed as it is.

Hashes per window (utterance, AttestedFlow, tracker digest, chain)
dayutteranceAttestedFlowdigest_Tprev lineline
2026-09-23487601…04111467555a…e6c10f26f940…3d8dbe842c96…ac775ce69ed7…ac1d31
2026-09-221e93d0…4229e9655164…4d5d206351f0…27b69a19879c…e65bd5842c96…ac775c
2026-09-21e10689…291ab33e85de…bd4e23e0d645…6d0f1e2c95e1…8c4d2b19879c…e65bd5
2026-09-206bb4bf…f4cdb7c9124f…8c0e718a2309…cc099ef73c70…d55b2c2c95e1…8c4d2b
2026-09-191c7013…405bb068aa1a…d6bf6ccada7b…3903f4ec4ce6…deec0af73c70…d55b2c
2026-09-18907195…83e4223692fa…cfd1309b5f89…35d63309beb6…81da82ec4ce6…deec0a
2026-09-178767c2…e4d3d66ec873…60338848d406…0c275aGENESIS09beb6…81da82

Recompute & diff

The hash chain makes a rewrite detectable, never certified. The only check of the facts is the on-chain recompute.

# facts — window 2026-09-23
eth_getLogs address=USDe topics=[Transfer] fromBlock=26036464 toBlock=26043610
  burns = sum(Transfer to the zero address)   -> 11321263619380000000000000
  mints = sum(Transfer from the zero address) -> 5429629789870680000000000
totalSupply at the close block                 -> 4890564085271987753523503861
# attestation
sha256(AttestedFlow bytes)                     -> 67555aa0afca4ca694434f46aed6deec6392ccd2078cc34e1645abd885e6c10f
# tracker replay (recomputed in this page from q1, params and the s column)
trackerReplay(q1, params, timeline.s) -> q = 1.372794e-2
state.json replay_q (published)       -> q = 1.372794e-2
# hash chain
prev_line_hash -> 842c96328367857dcbf29582fa5a4d9bbd3fdc51d107f56f8d771088a0ac775c
line_hash      -> e69ed7b085c9a7cb9a521f0ee95391abc81e05ba5b85c59ba7d302e64dac1d31

Recomputed when this page was built, on its committed capture; a browser that runs the page recomputes all of it again, first on that capture, then on the files as served now.

hash chain
7 links intact
state.json digest equals the last line's digest_T
yes
tracker digest recomputed from q₁, params and the s column
equals state.json
tracker replay recomputed here
1.372794e-2, the same as the published replay_q to the printed digits, over T = 6 steps
supply identity (open = close + burns − mints)
holds on all 7 windows (recomputed here in exact integers)
the timeline served now extends, byte for byte, the one served at the capture of 2026-09-24
not applicable: this is the capture

state.json · timeline.jsonl · published files, read-only

Operational register

sentinel_sha
e73866a8…5748f286
node_version
v24.21.0
endpoints
7 RPC endpoints in the read pool; each burns, mints and supply read needs two distinct providers that agree
lag
unknown until the files as served now are read
published at
—

the Last-Modified header of each served file

code versions (sentinel · node)
2026-09-17 → 2026-09-17 · sentinel b5a0ed…f81092 · node v24.21.0 2026-09-18 → 2026-09-19 · sentinel a87e86…5353f5 · node v24.21.0 2026-09-20 → 2026-09-20 · sentinel 2c58b8…d92295 · node v24.21.0 2026-09-21 → 2026-09-22 · sentinel a3ed49…64582d · node v24.21.0 2026-09-23 → 2026-09-23 · sentinel e73866…48f286 · node v24.21.0

a run of lines written by an unchanged sentinel build and Node version; a new build does not change the tracker parameters

source
committed capture of the published files, taken 2026-09-24; the files as served now are read once this page runs in a browser
read at
—

What this is not

  • Not a per window coverage.
  • Not a probability of being right.
  • Not a price, a peg gauge or a run alarm.
  • Not a trend: seven steps is a week, nothing stronger.
  • Not a switch: a drift opens an ADR, never an automatic change.

Glossary

T
Number of pairs the tracker stepped on so far, evaluable or clipped. Read from state.json, never typed on this page.
q₁
The committed static calibration threshold, the one the gate reads.
q_t
The tracker's current threshold after T steps. Published, not consumed by the gate.
bound_thm1
The long-run bound for the current T. A dash means no stepped pair yet.
regime
calm, stress or below floor: calm when the opening stock is above the committed floor and burns stay under one percent of it.
pair
evaluable, non evaluable or clipped: whether the window contributes a step.
static miss
A stepped pair whose score exceeded q₁, the committed region. Counted, never a coverage.
tracker miss
A stepped pair whose score exceeded the tracker's own threshold before the step.
calm-miss
Share of calm pairs whose residual exceeded q₁, over the rolling window. Metadata for the criterion, never a tracker filter.
supply identity
What each window must satisfy: opening supply equals closing supply plus burns minus mints, checked on every line.
code version
A run of lines written by an unchanged sentinel build and Node version. A new build does not change the tracker parameters.
parameter segment
A run of unchanged tracker parameters. A change of c or ε would open a new one and move the printed bound to the arbitrary-step theorem.
under_calib
Too few calibration points for a population: the gate abstains for it, serving no region while its state is published. A named state, never a number.