MONARKFleetNarabiUkemiBellit abstains so DeFi can act.
Ukemi · calibration course · weth-2025-09-22 · hypothesis report of its offline steps

One recorded lending episode, replayed offline from recorded reads: the book at a block, the realized oracle path, the scores, then the pre-registered hypotheses. Outcomes are test results at a stated level, as reported by the course tool. Never a probability of being right.

what is served

Served state of the class liquidation-eligible-coverage, as copied from the served gate description (https://api.monarkgate.tech/openapi.json) at 2026-09-25T03:26:01.410Z and hashed in the site manifest; the live description may have changed since:

the served region is a conformal upper bound on the liquidable amount for the calibrated class; the lower edge is 0 by construction, not a calibrated bound; abstains (under_calib) outside it; this class requires alpha = 0.01, nMin = 100; calibrated on one recorded episode; no coverage is claimed on any other event; the H-3 exchangeability check is a report, a YES licenses nothing more; the bound holds only if yhat was produced by the frozen close-factor rule on a mono-collateral WETH account at the first crossing, which the gate does not check

A calibration of this class is committed; the served clause above states the bound it carries. The report below is the offline course, not the served registry.

calibration per stratum, and exchangeability with the design episode

Amounts are in the lending venue's oracle base currency (8 decimals); a stratum is a range of the predicted liquidable amount.

stratumpredicted amountcalibration pointsbound margin (qhat)covered / trials on the design episodeoutcomeliquidated · multi-call
stratum 0 · meets the floorbelow 2000.00000000170 (floor 100)1261.84298996361 / 363 (344 scored zero)yes (level 5/100)27 · 1
stratum 1at least 2000.00000000, below 100000.0000000021 (floor 100)none (below the floor)not tested (below the floor); 148 trials availableunder_calib (n below the floor of 100)16 · 1
stratum 2at least 100000.00000000, below 1000000.0000000010 (floor 100)none (below the floor)not tested (below the floor); 46 trials availableunder_calib (n below the floor of 100)4 · 0
stratum 3at least 1000000.000000004 (floor 100)none (below the floor)not tested (below the floor); 8 trials availableunder_calib (n below the floor of 100)0 · 0
pooled class Aall2051261.84298996554 / 565 (509 scored zero)yes (level 5/100), reported outside the condition47 · 2

What a yes means: the pre-registered exchangeability test with the design episode (the recorded episode the score was designed on, never served) did not reject at its stated level. It is not a coverage claim, and the report estimates no coverage bound across episodes.

A comparison trial scored exactly zero (the realized amount did not exceed the prediction) counts as covered whatever the bound; the number of such trials is shown next to each ratio.

Stratum 0 is committed and served: the served verdict read at 2026-09-25T03:26:01.410Z carries 170 calibration points, fewer than the 199 an interior quantile rank needs at the served level, so the quantile rank equals the number of calibration points (170 of 170) and the served bound margin, 1261.84298996, is the largest calibration score observed, reported as is. The served upper bound for a prediction in this stratum is the prediction plus this margin; served calibration digest e7e673664c03e3c5d15956d864f8379b6fe4660ed689be38a85add95d4eff334.

Pooled class A: bound margin 1261.84298996 (quantile rank 204 of 205).

verification

The p-value of the pre-registered exchangeability test with the design episode, for each tested row, as the report prints it:

  • stratum 0 (level 5/100) · 0.463421687426 · exchangeability test p-value (beta-binomial), not a probability of being right
  • pooled class A (level 5/100) · 0.128427677444 · exchangeability test p-value (beta-binomial), not a probability of being right

The gate carries this sentence with the class once a stratum is committed:

calibrated on one recorded episode; no coverage is claimed on any other event; the H-3 exchangeability check is a report, a YES licenses nothing more

the other pre-registered hypotheses

Accounts liquidated by more than one call, against the pre-registered threshold of a share at most 5/100: liquidated class-A accounts 2 of 47 → yes; all liquidated accounts 4 of 72 → no.

Positions (account, debt asset, collateral asset) reconciled exactly: 73 (0 abstained); liquidation calls in the window: 77, outside it: 0; accounts abstained: 0.

Liquidated amount in class A: 1847180.51809934; of it, after the first call: 48189.04377058; deficit reported apart: 0.00000000.

Oracle values the protocol read at the liquidation call blocks and at the block before each: 58 values, 57 in the on-chain update series of 42 updates, 1 equal to the anchor, 0 outside. Measured maximum lag 2 updates (pre-registered bound 3 updates; 0 over it) → yes. At the call blocks themselves: 35 values, 35 in the series, maximum lag 1. Update blocks monotone: yes; phase change: no.

Anchor: block 23414669, price 4448.00000000, taken from the last oracle update before the reference block; lowest value read 4120.72000000.

Declared bias: these values are sampled at and just before liquidation blocks only.

Population: 9034 mono-collateral WETH accounts (meets the floor of 100); class A calibration points: 205.

Zero predictions of the frozen rule: 1 account crossed the threshold on the path with a zero prediction; 1 account with a zero prediction liquidated (1 that never crossed on the path, amount 20.90575766; 0 that crossed).

The account liquidated with a zero prediction that never crossed on the path, on Ethereum mainnet:

Realized labels: 73 label lines; unresolved: 0; no-quorum residuals: 0; deficits without a price on an asset other than USDT: 0; lines of another episode: 0.

Pre-registered condition for the next step: no stratum that meets the floor failed the exchangeability test (true); unresolved labels: 0; condition satisfied. The pooled class A outcome (yes) is reported outside this condition. The condition changes nothing that is served.

digests

report digest 8ad53d1a83601045599f1117d69f1675a36112b856074a7902217d3f71e1d44f

SHA-256 of the canonical JSON of the report body (object keys sorted, no whitespace). Anyone can recompute it from the published copy of the report, apps/site/data/ukemi-course.json in the public repository.

  • course tool 65b0d8f9608969c670bd321d7613920c408ccf90bac4e067e990b93dad77fc25
  • pre-registration 1971d9b14ce0adf8c617f23e2ed1e323d80224cf442636aba5f7cf5fc5892f49
  • fresh calibration scores fd6fab7ebf5d2779b904494accab8916fac8293587ed24d21fb052cb024074a4
  • realized-label inputs fc4440fe0fd3c95084b606d9b2a30f2156985ab4aaf9278ec14482a7c36aee1a
  • realized labels e2d6c0e48f3503aed4e48d5041d6178ca28b8dc6db36c19ba534ccd4c5611837
  • realized oracle path cc7f5cd9b7b93a319044514a1d150a805393e69c575314ff21b1cb9c6ddb0971
  • design-episode comparison scores 301d39fa806fd36a72cc446484aa4d04807a56ab603b1b69f464264550a126ad

The course tool, the pre-registration and these input files are not in the public repository; their SHA-256 digests are published so that a copy can be checked against them.