If you had a time machine, what coordinates would you enter?
GPS can tell you where something is on Earth right now. It cannot, by itself, describe one exact place at one exact moment in the physical universe.
The Abrams Event Address (AEA) is an open standard I built to explore that problem: a machine-readable address for an event in spacetime.
What is the Abrams Event Address?
Modern physics describes the universe as spacetime, with three dimensions of space and one dimension of time forming a single four-dimensional structure. Under the block-universe interpretation of relativity, events do not simply appear and disappear as time passes. They occupy a coordinate and a position within that four-dimensional structure. The past, present, and future can therefore be thought of as different, unique locations and addresses in spacetime: a singular four-dimensional block.
If you could travel anywhere in spacetime, what coordinates would you enter?
Our existing coordinate systems are very good at the jobs they were created to do. GPS can locate something on or near Earth. Astronomical reference frames can describe positions in space. Clocks can identify moments in time.
But none of those, by itself, is a complete address for an event in spacetime.
A latitude and longitude such as 52.205878° N, 0.117867° E can identify Cambridge, England, but that location exists at every moment. We tend to think of Cambridge as stationary because our maps move with the Earth. But zoom out: Earth rotates while it orbits the Sun, and the Solar System is being carried through the Milky Way. Over the 17-odd years since Stephen Hawking hosted his famous party for time travelers in 2009, Cambridge has traveled tens of billions of miles along a trajectory in the galactic frame. Attempting to navigate to those raw terrestrial coordinates from outside our frame without accounting for that macro-cosmic drift would result in a massive spatial displacement, missing the intended target by billions of miles.
The location hasn't contradicted itself by being stationary and moving billions of miles: both are true, depending on the reference frame. Because the map itself is moving, space and time are not just two arbitrary fields glued together. You cannot know where Cambridge was in 2009 without knowing the exact epoch to determine Earth's position and orientation at that moment. Time is fundamentally required to resolve the spatial coordinate.
Furthermore, relativity dictates that time does not flow at the same rate everywhere; a clock in deep space ticks at a different rate than a clock deep within Earth's gravity well. The AEA eliminates this ambiguity by explicitly declaring the atomic time scale (such as TAI) alongside the reference frame.
So the question is not simply where?
It is: Where, when, relative to what, and in what physical state?
If a hypothetical traveler were approaching from outside our Earth-fixed frame, entering “Cambridge, 2009” would not work. That prompt fails to specify the atomic time scale, the coordinate frame, Earth's orientation at that epoch, or how the local coordinate transforms into the larger frame of the approach.
Furthermore, even if you hit the exact spatial point at the exact time, you are still not necessarily in the same physical state. A point stationary on a floor is moving at tens of thousands of miles per hour in other frames. You must specify how that destination is moving (its kinematics) within the declared frame.
I created the Abrams Event Address, or AEA, to bring those pieces together into one explicit spacetime address.
AEA does not attempt to encode the trajectory of the entire galaxy into a single string. Instead, it identifies the celestial body, the exact epoch, and the reference frame. Established ephemerides and transformation models can then place that frame at that time. The AEA record carries the event's precise state inside that declared frame: its three-dimensional location, its velocity, its orientation, and an integrity seal so the encoded address can be checked for alteration.
The invention is not simply storing space and time together. It is making the assumptions that ordinary coordinates leave implicit explicit enough that a location can be resolved as a physical state at a particular epoch and within a declared frame. The map itself is moving. The frame is moving. The destination is moving. Therefore “where?” cannot be separated from “when?” and “relative to what?”
And I did not leave this as a thought experiment.
I turned that concept into a working open specification called AEA-STATE/1. The current implementation encodes an event into a deterministic 136-byte record and includes a bare-metal Rust core, C/C++ interface, Python tools, test vectors, cryptographic verification, and a browser-based inspector. It is designed to work alongside existing navigation, telemetry, robotics, and flight systems rather than replace them.
The idea began with a question about how you would address a destination in spacetime. I turned that question into an actual coordinate specification you can run, inspect, test, and build software against.
“Addresses precede transportation. Before asking whether travel through spacetime is possible, you need a rigorous way to describe the destination.”
WHERE?
Earth → latitude / longitude / altitude
WHERE + WHEN + RELATIVE TO WHAT?
Universe → body → frame → time → position → motion
“A time machine is the thought experiment. The coordinate problem is real.”
What would an addressing system look like if the address space were spacetime itself?
Human description vs. Machine-readable AEA
Explore real physical events encoded into the AEA format. Switch between Stephen Hawking's 2009 party on Earth, the Perseverance Rover touchdown on Mars, and the Starship booster catch:
Stephen Hawking's Reception
Gonville & Caius College · Cambridge, UK
June 28, 2009 · 12:00:00 UTC
52.205878° N, 0.117867° E · 56.0 m elevation
AEA:399:TAI:1246190426.0:ITRF2020:3916909.5232774816,8057.749278632174,5016918.648210711:0,0,0:0,0,0,1:9f6cc1096562729a902167fd622e66a264a239f3e9a9d804414659e3ab97800e
Same event. Machine-readable. Deterministic. Verifiable across planetary bodies.
399 and frame ITRF2020; Mars uses NAIF ID 499 and frame IAU_MARS.Explore repository on GitHub →A location isn't just latitude and longitude.
Classical coordinates assume you are standing on Earth's surface right now. But physical space never sits still:
A real spacetime address therefore needs more than “where.” It needs enough physical context to reconstruct where, when, relative to what, and in what state.
What goes into a spacetime address?
Seven intuitive questions on top. Rigorous engineering specifications underneath:
Where?
POSITION3D Cartesian coordinates in meters from center of mass + geoid calibration so arriving craft don't strike bedrock.
When?
TIME (TAI)Continuous International Atomic Time (TAI) integer seconds and subsecond nanoseconds, immune to civil leap-second pauses.
Relative to what?
BODYCentral gravitational body origin via NASA NAIF IDs (Earth = 399, Mars = 499, Moon = 301, Barycenter = 0).
In which coordinate chart?
FRAMEDeclared reference frame (ITRF2020 for crust, GCRS for geocentric orbit, BCRS for deep space, ICRF3 quasars).
How is it moving?
KINEMATICS3D velocity vector in m/s. Required for kinetic momentum matching to eliminate fatal impact shear.
Which way is it facing?
ORIENTATIONUnit quaternion on Lie group. Eliminates Euler angle gimbal-lock singularities.
Has the record changed?
SEAL (SHA-256)32-byte FIPS 180-4 cryptographic seal. Instantly detects cosmic-ray memory bit-flips or tampering before coordinates enter a flight loop.
Don't take my word for it. Run the code.
Inspect the C reference implementation, Python CLI, Rust harness, and verification suites on GitHub.
Can an event have a permanent machine-address in spacetime?
The AEA specification defining mandatory physical context.
136-byte wire binary, C-ABI header, and #![no_std] Rust core.
Relativistic transformation chains, geodesy, and astrometry.
Everything above is the intuitive narrative. Below are the formal proofs, IAU transformation chains, wire specifications, and bare-metal SDKs. Click any drawer to inspect:
01Four Physical Hazards & Mathematical Proofs
The Vacuum Trap: 34-Second Leap Offset
Civil UTC periodically inserts leap seconds. On June 28, 2009, civil UTC had diverged from continuous atomic time (TAI) by +34.0 seconds. Materializing 34 seconds early along Earth's orbit leaves you in vacuum:
Outcome: 1,012 kilometers out in interplanetary vacuum, waiting for Earth to arrive.
Kinetic Impact Shear: 33.25 GJ Collision
Arriving at coordinates while stationary relative to the Sun results in Earth smashing into you at orbital velocity (). For a 75 kg human mass:
Outcome: Kinetic shear releasing energy equivalent to the explosive detonation of 7.95 tons of TNT.
Bedrock Burial: 46.3 m Geoid Undulation
GPS elevation () measures against the smooth mathematical WGS84 ellipsoid. Under the EGM2008 gravitational geoid, Cambridge sits above the ellipsoid:
Outcome: Targeting uncorrected ellipsoidal height buries arrival 46.3 meters deep inside Cretaceous chalk bedrock.
Tectonic Plate Drift: The 2040 Drift
Under the ITRF2020 Plate Motion Model, the Eurasian plate rotates as a rigid body with angular velocity , displacing Cambridge at :
Outcome: 68.5 cm physical displacement relative to geocenter between 2009 and 2040.
02Relativistic Astrometry & IAU 2000/2006 Transformation Chains
03The 136-Byte AEA-STATE/1 Wire Specification & Embedded Guarantees
| Offset | Size | Type | Field | Physical Definition & Semantic Bounds |
|---|---|---|---|---|
0..3 | 4 B | uint32_t | version | Wire format protocol version (1 for AEA-STATE/1). |
4..7 | 4 B | uint32_t | body_naif | NASA NAIF identifier (399 = Earth geocenter, 499 = Mars, 0 = Barycenter). |
8..15 | 8 B | int64_t | time_sec | Continuous atomic seconds elapsed since epoch on declared time scale. |
16..19 | 4 B | uint32_t | time_nsec | Fractional subsecond nanoseconds (0 ≤ nsec ≤ 999,999,999). |
20..21 | 2 B | uint16_t | frame | Reference frame enum (1 = ITRF2020, 2 = GCRS, 3 = BCRS, 4 = BODY). |
22..23 | 2 B | uint16_t | time_scale | Time scale enum (1 = TAI atomic time, 2 = TT, 3 = TCB, 4 = TDB). |
24..47 | 24 B | double[3] | pos_m | Cartesian position [X, Y, Z] in meters relative to frame origin. |
48..71 | 24 B | double[3] | vel_mps | Cartesian velocity [Vx, Vy, Vz] in meters/second in declared frame. |
72..103 | 32 B | double[4] | quat_xyzw | Unit attitude quaternion [qx, qy, qz, qw]. Identity null: [0, 0, 0, 1]. |
104..135 | 32 B | uint8_t[32] | hash | FIPS 180-4 SHA-256 seal computed over 104-byte canonical prefix. |
0 malloc, 0 free. Verified with llvm-nm libaea.a | grep malloc == 0.04Related Research & Downstream Systems
Predict-and-transmit fixed-point state updates compressing 200+ byte ephemerides into 32-byte residual bursts for constrained deep-space links.
Read specification notesSub-50 nanosecond Ethernet MAC packet arrival sealing for high-frequency defense radar telemetry and financial matching engines.
Explore hardware systemsNIST Classic McEliece syndrome verification on embedded ARM CPUs in 0.226 ms, securing telemetry records against quantum adversaries.
Security postureSub-15W integer inference running 134 MB neural weights in 148 MB RAM on host ARM CPUs without discrete GPU hardware.
Explore engineering workEngineering Scope: AEA is an immutable state sealer, 4D coordinate standard, and flight blackbox serialization schema. It is not an active trajectory propagator or orbital Kalman filter. Zero heap allocations (0 malloc, 0 free).
Technical Peer Review & Collaboration
Bring your mission specifications.
I welcome technical peer review from astrodynamics specialists, defense avionics contractors, embedded systems engineers, and research institutions.