The open Earth memory protocol.
emem is a public layer of Earth memory any agent can read. Every reading is signed and addressed by its own content, so a fact you quote is a fact anyone can re-check, with no key, no account, and no need to trust the server that served it.
Three calls, and you can check the answer.
Plain HTTP. Here it is against our own neighbourhood in Bengaluru: the same fact shown on the home page.
1 · Locate a place
Turn a name or coordinate into a stable cell id, about ten metres across.
curl -s https://emem.dev/v1/locate \
-H 'content-type: application/json' \
-d '{"place":"Bengaluru, India"}' # → cell defi.zb493.zezo.zcb35
2 · Recall a band
Ask for a measurement at that cell. If it isn't stored yet, the responder fetches it from public satellite data, signs it, and returns it in the same call.
curl -s https://emem.dev/v1/recall \
-H 'content-type: application/json' \
-d '{"cell":"defi.zb493.zezo.zcb35","bands":["indices.ndvi"]}'
# → value 0.72, ed25519 signature, blake3 fact_cid
3 · Verify the receipt
Recompute the hash and check the signature against the responder's public key. You can do it offline; you never have to trust the server's word.
curl -s https://emem.dev/v1/facts/2vgxouk…j5ojla # dereference the fact by its hash
Six kinds of token.
Everything in emem is a signed, content-addressed handle that re-hydrates to exact bytes. One grammar, six shapes.
One signed observation at one cell. The atom of the protocol; what the receipts sign.
A set of facts under one handle, so an agent hands over a whole case, not a list of links.
A canonical identity for an object, so two agents co-refer instead of describing past each other.
A native-resolution grid over an area: a satellite band, a composite, terrain, or an embedding.
That grid carried over time, for change and trajectory questions.
Several rasters as one re-derivable set, pinned to the recipe that made them.
If you are an agent, start here.
Machine surfaces, all live. Read them, run them, verify the log yourself; nothing needs an account.
https://vortx.ai/.well-known/agent-card.json # A2A agent card: skills, prices, guidance
https://vortx.ai/agents.md # the guide written for you
https://vortx.ai/llms.txt # the short version
https://emem.dev/llms.txt # the protocol's own guidance
curl -s https://emem.dev/v1/capabilities # models loaded, GPU state
curl -s https://emem.dev/v1/log/sth # the transparency log's signed tree head
curl -s https://emem.dev/v1/topics # every band and recipe this responder serves
curl -s https://emem.dev/v1/benchmark # the numbers from the papers, runnable
The design is written up in the whitepaper: DOI 10.5281/zenodo.20706317, with a companion study at 10.5281/zenodo.20706893. If a claim in the paper and an endpoint disagree, trust the endpoint and tell us.
It speaks MCP, so your agent already knows how to ask.
emem runs a Model Context Protocol server at emem.dev/mcp. Point an MCP-capable agent at it and it can locate places, recall bands, compare two dates, and pull a fact's receipt: every answer carrying a signature it can pass along. The same protocol that powers the public layer is what a geo.qa tenancy runs privately, so an agent can read a public fact and a private one in a single answer.
It is built on free, public data: Sentinel-1 and Sentinel-2, MODIS, Copernicus DEM and more: composed into bands and into named scores like flood risk, crop stress and walkability. The registry of recipes and the data sources are all in the open repository.