FIX-137
Reference implementationA dependency-free standard that names a moment from the observed sky. The implementation lives in a VerusID contentmultimap — protocol-protected, public, reconstructable — and stamped content can live on-chain beside it.
- 0
- dependencies · no network
- 8
- bodies tracked
- 3
- millisecond pulsars
- 27 KB
- the entire implementation
- JavaScript
- Meeus / ELP-2000
- JPL Keplerian elements
- ATNF pulsar timing
- VerusID
You already ran it
The stamp at the top of this page was computed in your browser, for the instant you arrived, from this file. No network call, no dependency, no server. That is the entire claim: anyone, anywhere, at any later date, recomputes the identical name.
FIX-137 is a celestial fix — position and time locked from observing the sky. The 137 nods to the fine-structure constant, α ≈ 1/137.
The name and the witness
This distinction is the whole design.
The name is a pure function of one number: t, TDB seconds since J2000.0. Everything in it — the moon’s distance, illumination, lunation, node and perigee longitudes; the geocentric ecliptic position of the sun and seven planets; the rotational phase of three millisecond pulsars — derives from t alone. Hash the name and you get the stamp ID.
The witness is chain tips: Bitcoin, Verus, Ethereum, with a slot reserved for Solana. These sit deliberately outside the hash. Two honest observers at the same instant may have seen different tips, so including them would break the guarantee that one moment always produces one identifier. They ride along as provenance instead.
Getting that boundary wrong is the obvious failure mode, and it’s why the stored envelope is { id, name, witness } rather than one blob.
Why the models are frozen
A timestamp standard whose underlying ephemeris drifts is not a standard — the same instant would name itself differently depending on when you asked. So every model is versioned and frozen, never silently updated. Adding a chain means adding a fetcher and a slot; it never means reordering the existing ones.
| Layer | Model |
|---|---|
| Timescale | UTC → TAI → TT → TDB ladder |
| Moon | Meeus / truncated ELP-2000 |
| Bodies | JPL approximate Keplerian elements (Standish) |
| Pulsars | φ = φ₀ + f·Δt + ½ḟ·Δt², from ATNF |
Earth has no row — it’s the observer, so the sun takes that slot as the geocentric mirror of Earth’s heliocentric position, and it leads the sky signature.
Validated against known references: the Earth row reproduces the sun’s longitude to about 0.02 arcminutes after precession, and the moon matches Meeus’s worked example to roughly 90 km and half an arcsecond of parallax.
Why the sky
A timestamp is a claim about when, and every ordinary timestamp asks you to trust something: a server’s clock, an authority’s signature, a chain that has to still exist. The sky is the one reference nobody administers. Two parties who agree on the models and disagree about everything else still compute the same name.
That’s also why it stays small. At 27 KB with no dependencies it can travel with the thing it timestamps, rather than pointing at a service that has to survive.
Where the implementation lives
The file that computed the stamp at the top of this page is not supposed to live on a server. It lives in a VerusID contentmultimap — a named map of content the identity itself carries on-chain. That map is a protocol primitive, not a contract and not a file on somebody’s host.
That distinction is the point:
- Protocol-protected. Writing to that map means controlling the identity. There is no package registry to hijack, no admin who can silently ship a different ephemeris, no host to take down. The identity’s keys are the only write path, and Verus enforces that at the protocol, not in application code.
- Anyone can reconstruct it. The contentmap is public. Grep the identity, pull the file, run it. Two people who do that get the same function, so they get the same name for the same instant. If this website disappeared tomorrow, the standard would still be the file in the identity.
- Stamped content can live on-chain too. A memory, a receipt, a note — whatever needs a when — can sit in the same kind of map, or any other on-chain slot, with a FIX-137 envelope beside it. The implementation and the stamped record are the same class of object: content an identity owns, that anyone can read back.
The implementation is the function. The envelope is { id, name, witness }. The content is whatever you attached it to. All three can live in identities. None of them need this site.
Where it sits in the stack
FIX-137 is substrate, next to Verus itself, and it’s the least visible piece here by design.
Junction41 settles jobs on-chain and opens a review window on delivery — receipts that need to resolve years later, long after the container is gone. A signature proves who; the chain proves that; FIX-137 provides a when that doesn’t depend on anyone’s clock being honest.
Its inclusion of a Verus tip is partly redundant when a stamp is stored inside a Verus block — but it matters the moment a stamp lives anywhere else, which is the case the standard is really for.