MONARKFleetNarabiUkemiBellit abstains so DeFi can act.
Documentation menu
docs · applications · MONARK Bellbuilt

A signed record of tokenized equities, off hours.

Keep a public, signed record of how tokenized U.S. equities trade on a public ledger, in particular while U.S. markets are closed: a gap per session when its closing price can be read, a named abstention when it cannot, a signed, hash-chained record.

What Bell is

MONARK Bell is an application of the engine, on its DeFi side: tokenized equities, off-hours. It connects to Hikae and Shōgen, and it publishes from its own host, https://bell.monarkgate.tech. The register’s served note: a signed, hash-chained timeline served on its own host, checked end to end by a non-LLM reader-side verifier against the committed keyring.

The latest signed record, line 2 of the timeline, was published at 2026-09-24T08:41:21.864Z and covers 3 instruments: TSLAx, AAPLx, SPYx. The timeline holds 2 lines, as read from the host at 2026-09-25T02:44:41.407Z.

Why off hours

A token that tracks a U.S. equity trades on a public ledger at every hour, while the market of the equity it tracks opens on a calendar. Between two closes, the token keeps moving and the reference price does not. Empirical work on tokenized stocks measures how far and how often the token strays from the last close overnight and over the weekend (Cong, Landsman, Rabetti, Zhang and Zhao (2025)). Bell does not predict that gap. It keeps a public record of it, session by session, that anyone can recompute, and it names every case where it cannot compute one.

The day, session by session

Bell classifies every fill by its New York wall-clock date and minute, with daylight saving applied per date, into the sessions of one trading day. An off-hours instant belongs to the gap that begins on the most recent trading day; the regime of that gap is read by walking forward to the next trading day.

One New York trading day: pre, regular and after hours, with the off-hours on both sides.One trading day, New York wall clock, daylight saving applied per dateovernightpreregularafterovernight04:0009:3016:0020:0013:00 on a half-day17:00 on a half-dayAN OFF-HOURS GAP BELONGS TO ONE REGIMEovernight-weekday: from the end of after-hours to the next pre-open, a night with no weekend and no closure in itweekend: a gap with a Saturday or a Sunday in itholiday: a gap with a full closure in it; a weekend around it does not change the regime
The sessions of one trading day. The bounds are the collector’s own constants, read by this page from the method definitions a root test pins to the collector.

From fills to a signed line

A fill is one swap in one declared pool, read from the ledger and counted once per transaction signature, so a route through an aggregator appears once. The list of fills must agree on two distinct operators, and a deterministic sample of them is cross-read on both; the publisher refuses a record that fails its closed checks; the host signs each line and chains it to the one before.

From fills to a signed line: the collector reads, the publisher checks, the host publishes, a reader verifies.THE COLLECTOR READSthe collector's session readsof on-chain fills: the listof fills agreed on twooperators, a deterministicsample of them cross-read onboth, the rest read on oneTHE PUBLISHER CHECKSthe publisher's closedchecks: read quorum, earliestpublication time, no closingprice carriedTHE HOST PUBLISHESa signed, hash-chainedpublication on its own host,checked by the reader-sideverifierA READER VERIFIESeach line's signature againstthe committed keyring, thechain back to its genesis,and the state bound to thehead lineThe first three boxes are the register’s own words for MONARK Bell. A signature attests origin, not truth; the facts are checked by recomputing them.
From fills to a signed line. The words of the first three boxes are MONARK Bell’s wiring in the fleet register.

The gap and the cash leg

The gap of a session compares the price per share of the token’s fills, volume-weighted, with the reference close of the day the session is keyed to. Before a gap is computed, the close is read twice, from two sources, and the two readings must agree as integers at a fixed scale.

Two readings of the close must agree before a gap is computed; a disagreement abstains, never an average.The close, first readinga consolidated end-of-day sourceThe close, second readinga second source, cross-readthe same integerat a fixed scale?yescash_cross matched: a gapg = ln( VWAP_share / P_close )nocash_cross_mismatchthe session abstains, never an averagecash_cross_unavailable: the cross-read could not run for that day, stated apart from a mismatchno_close_ref: the close is missing or not positive; no gap is fabricatedThe record carries the gap and the on-chain price, never the close itself: a reader brings the close under their own licence.
The cash leg: two readings of the close, compared before any gap. A disagreement abstains; it is never averaged away.

In the latest record, a gap is computed for 9 of its 9 session rows. Each row below is read from the served state:

instrumentsessionfillscash leggap gabstention
TSLAxafter112matched0.0045769277none
TSLAxovernight-weekday268matched0.0076461167none
TSLAxpre308matched0.0254545113none
TSLAxregular2422matched0.0109991552none
AAPLxafter588matched-0.0348331181none
AAPLxovernight-weekday901matched0.0039546808none
AAPLxpre360matched0.0009762779none
AAPLxregular770matched0.0058649746none
SPYxregular2244matched-0.1314785368none

Residuals, halts, the multiplier

A residual is a named reason the collector could not produce a clean fact. The list is closed, every code is counted in the state file, and a session carries its codes next to the number they qualify. The codes counted above zero in the latest record, per instrument:

TSLAx
no_wrapper 1 · por_unavailable 1 · quorum_sampled 1 · halts in the window: 0 · shares per unit: 1
AAPLx
multiplier_unit 1 · no_wrapper 1 · por_unavailable 1 · quorum_sampled 1 · halts in the window: 0 · shares per unit: 1.0026642075893797
SPYx
multiplier_unit 1 · no_wrapper 1 · por_unavailable 1 · quorum_sampled 1 · halts in the window: 0 · shares per unit: 1.003909240011759

A trading halt of the underlying is matched to the first fill after it and the last fill before its resume; a missing resume time, an unknown reason and the gap between block time and submission time are all declared, never guessed. The shares-per-unit multiplier converts a token amount into shares at the time of each fill; when it cannot be established as constant or known over the window, the session abstains. The full closed list, with a gloss for each code, is on the method page.

The chain, the key, the anchors

The served timeline as a chain: each line names the hash of the line before it, back to the genesis value.GENESIS0000000000…the previous-line hashof the first lineline 1published_at 2026-09-23T21:35:52.438Zprev_line_hash 0000000000…state_sha256 a828489f64…key_id 30fd26e80e…sig: Ed25519 over the canonical lineline_hash 4a417cf022…line 2published_at 2026-09-24T08:41:21.864Zprev_line_hash 4a417cf022…state_sha256 4564701add…key_id 30fd26e80e…sig: Ed25519 over the canonical lineline_hash ef3b06f2ff…Each line carries the hash of the line before it and a signature over its own canonical bytes.A rewrite breaks the chain at recomputation: detectable by whoever keeps an earlier copy, never certified.
The served timeline as a chain, drawn from the committed facts of its first and latest lines.
public key
https://bell.monarkgate.tech/bell/pubkey.json, Ed25519, key_id 30fd26e80efac0d93e1f82c5f4372354ec71e5294f36d946d5167ce0ef39c672, active from line 1
files
/timeline.jsonl · /state.json · /provenance.json
deploy check
12 of 12 controls passed at 2026-09-24T08:41:49.208Z, the reader-side verifier run against the served host
anchors
17 lines in the anchors register, 16 of 16 proofs carrying a Bitcoin block record; they timestamp the manifests of the counter-verification run of the multiplier history. The register.
the latest record’s timestamp anchor
anchored: the proof file records Bitcoin block 968402, the earliest of 3; the record's line and every line before it existed before that block; read from the file when this page was built, not checked against a node here

A real record

The latest line of the timeline, as committed from the host, and the first session row of its first run. Nothing here is typed: the page prints the objects it read.

line 2 of https://bell.monarkgate.tech/timeline.jsonl: its facts as committed in the site data. The served line does not carry line_hash, which is the hash of its canonical bytes, computed here; the runs it binds are left out.
{
  "seq": 2,
  "kind": "publication",
  "published_at": "2026-09-24T08:41:21.864Z",
  "prev_line_hash": "4a417cf02289b4968c17e7dc9f61c013bf04d62c77e541993a05a20a6965f47c",
  "line_hash": "ef3b06f2ff93951e200a6559b42ab66df5ac4aa38b86d3aa763c118c766f6464",
  "key_id": "30fd26e80efac0d93e1f82c5f4372354ec71e5294f36d946d5167ce0ef39c672",
  "state_sha256": "4564701add6e4231a67912ef45c7db640cd76dfe88302a96bc0e7722090508b9",
  "provenance_sha256": "ad8dd9b023bdfafade328d7ada5d17ae53d0de2133fcdf808237409d136fc39b",
  "sig": "p6WSevOLNoXGSv3Ge3IIWVFTFDcUFhAp0yoM9aI5X3BPAcjb7aSv6CE7kMr5EevB2HYiVnJjicF9Q2wotqffBA"
}
one session row of the run TSLAx, as served in the state file, its on-chain price and volume left out (the Bell page prints them)
{
  "symbol": "TSLAx",
  "session": "after",
  "regime": null,
  "n": 112,
  "abstain": null,
  "gT": "0.0045769277",
  "exceed": [
    {
      "threshold": 1,
      "exceeded": 0
    },
    {
      "threshold": 2,
      "exceeded": 0
    },
    {
      "threshold": 5,
      "exceeded": 0
    }
  ],
  "earliest_publish_utc": 1789675200000,
  "cash_cross": "matched",
  "multiplierUsed": null,
  "rebase_residuals": []
}

To check a line yourself, follow the verification page: the key, the chain, the signatures, the state files. The reader-side verifier and the public keyring are in the public repository.

What Bell does not do

The Bell page shows the latest record in full and the method page every definition.

Sources

  • Cong, Landsman, Rabetti, Zhang and Zhao (2025) Tokenized Stocks. SSRN working paper 5937314. read in full Used for overnight and weekend deviations of tokenized equities from the last close.
  • Kenneth R. French (1980) Stock Returns and the Weekend Effect. Journal of Financial Economics, vol. 8, no. 1, pp. 55-69. not yet obtained Used for the historical antecedent of the weekend gap, cited as a name only until obtained.
  • S. Josefsson and I. Liusvaara (2017) Edwards-Curve Digital Signature Algorithm (EdDSA). IETF RFC 8032. read in part Used for the signature over each line of the Bell timeline.
  • National Institute of Standards and Technology (2015) Secure Hash Standard (SHS). Federal Information Processing Standards Publication 180-4. read in part Used for the hash every record, line and digest is recomputed with.
  • B. Laurie, E. Messeri and R. Stradling (2021) Certificate Transparency Version 2.0. IETF RFC 9162. read in part Used for an analogy only: an append-only, hash-chained log makes a rewrite detectable.