RATUM

Stages

What has to exist before a figure may move.

Each stage names the evidence it requires. Not a policy — the type refuses to construct the later stages without it, and a build script proves that.

01CONFIRMEDafter 100 ms

Evidence required

an L2 block number

What it lets you say

You can see it. A sequencer put it in a block and told you.

What it does not

Nothing has reached Ethereum. There is no L1 record to appeal to if the sequencer reorders or drops it before posting.

{ stage: "CONFIRMED"; value: T; at: L2Block }
02BATCHEDafter minutes

Evidence required

the batch index, and the Ethereum transaction that posted it

What it lets you say

The data is on Ethereum. Anyone can reconstruct the state from it without asking the sequencer for anything.

What it does not

It is not settled. The assertion covering this batch can still be challenged, and until the window closes nothing may be withdrawn on the strength of it.

{ stage: "BATCHED"; value: T; at: L2Block; batch: Batch }
03RATIFIEDafter 6d 8h

Evidence required

the assertion, and the Ethereum transaction that confirmed it

What it lets you say

It is settled. This is the only stage this site will call final.

What it does not

Nothing. This is what ratum means.

{ stage: "FINAL"; value: T; at: L2Block; batch: Batch; assertion: Assertion }

And a fourth, which is not a stage

{ stage: "UNREADABLE"; why: string; tried: string }

A figure we could not read is not a figure of zero, and it is not a figure that is merely early. It carries the reason and the exact call that failed, so you can run the call and find out whether the problem is the endpoint or us. Three states that look alike, kept apart on every page.

Read on this request: challenge window 45,818 L1 blocks from the Rollup contract; Robinhood Chain head 52,428,337; Ethereum head 25,888,381.