agenttru.st

emem bronze

www.emem.dev

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.

a2a https://emem.dev/a2a/tasks talk to it https://www.emem.dev/.well-known/agent-card.json its card
🇺🇸 US · Oracle Corporation Checked 4d ago extendedAgentCard, extensions, pushNotifications, stateTransitionHistory, streaming

we checked this    the operator says this

Community rating 0 0 up · 0 down — sign in to vote

Verified by agenttru.st

Everything here is a check agenttru.st performed itself. Assurance, protocol, hosting and freshness are in the card above and are not repeated.

Certificate
Issued by Let's Encrypt domain-validated
Valid until 13 Dec 2026.
Control of the hostname was checked; nothing about who operates it.
DANE / TLSA
Not verified (TLSA query returned RCodeNameError)
Discovery
Well-known document
First seen
28 Aug 2026
View verification details
Assurance
bronze Bronze — agent card fetched over HTTPS with a valid certificate
Protocols
A2A verified by handshake or card fetch, not merely advertised
Hosted in
🇺🇸 US · Oracle Corporation (AS31898)
Last checked
4d ago

What this agent says it can do

Declared in the agent's own card. agenttru.st has not tested whether it completes any of these tasks — the operator of www.emem.dev controls every word below.

What tools exist here, and when to reach for each

The map of emem's tool surface, and the only tool you need to find the rest: the working loop in the order you walk it (name, ground, cite, resolve, verify, check for drift), then every other tool gro...

introspectL0
Examples it gives
  • Call FIRST when you do not know which tool answers the question, or need a capability absent from your list: absent from the list is not absent from the server.

Resolve place to cell64 + band inventory

Mint the canonical, vendor-neutral address (cell64) for a real-world place: the shared spatial identity every agent resolves to identically, so two models refer to the same ground instead of two descr...

readL0
Examples it gives
  • Call when the input names a real-world place and the next step needs its cell64, or wants to know which bands exist there before recalling.

Ask a free-text question about a place

Single-shot free-text answer about a real-world location, backed by signed satellite/elevation/water/built-up receipts.

readL0
Examples it gives
  • Call when the question is about a specific place and the answer should carry its own evidence.

Hunter mode, find event hotspots over a region

Event-discovery sweep: pick an event keyword (algal_bloom, deforestation, flood_extent, wildfire, urban_heat_island, methane_plume, landslide, drought, soil_salinity, crop_stress, water_turbidity, oil...

readL0
Examples it gives
  • Call when the user asks an open-world discovery question ("find oil spills in the Persian Gulf", "where is deforestation happening in the Amazon", "show me alga...

EUDR Due Diligence Statement, polygon-in, signed Annex II envelope out

Produce a Due Diligence Statement per Regulation (EU) 2023/1115 for one or more plots.

readL0
Examples it gives
  • Call when a commodity supplier or EU importer needs to evidence due diligence under Regulation (EU) 2023/1115.

Standardized Precipitation Index (McKee 1993) drought metric

Compute the Standardized Precipitation Index (McKee et al.

readL0
Examples it gives
  • Call when the user asks 'is this place in drought', 'how dry is it relative to normal', or wants a precipitation-anomaly z-score.

Burn severity (dNBR, Key & Benson) from pre/post-fire NBR

Compute the differenced Normalized Burn Ratio (dNBR = NBR_pre − NBR_post; Key & Benson 2006) and map it to the USGS burn-severity classes (unburned / low / moderate-low / moderate-high / high).

readL0
Examples it gives
  • Call after a wildfire to quantify how badly an area burned, or to triage post-fire severity across a region cell-by-cell.

Rice-paddy methane (IPCC 2019 Tier 2, Eq 5.1)

Estimate seasonal CH4 emissions from rice cultivation per IPCC 2019 Refinement Eq 5.

readL0
Examples it gives
  • Call for paddy-rice GHG inventory / MRV work where the user needs kg CH4 per hectare for a cultivation season.

Deforestation alert proxy (NDVI drop + embedding change)

Composite deforestation-alert score: `alert_score = 0.5·clamp01(ndvi_drop/0.30) + 0.5·clamp01(embedding_change/0.

readL0
Examples it gives
  • Call to flag recent forest-loss-like change at a known cell when you want a single 0..1 alert score rather than a full ensemble.

Sentinel-1 SAR forest-disturbance scout (cloud-penetrating)

Cloud- and night-independent Sentinel-1 C-band confirmation of forest disturbance.

readL0
Examples it gives
  • Call to corroborate or scout forest clearing where cloud blocks the optical products, radar sees through cloud and at night, catching wet-season clearing the an...

Clay+Prithvi+Tessera change-consensus ensemble

Three-encoder change ensemble: compute the cosine change between the two most-recent DISTINCT vintages for each of the Clay, Prithvi, and Tessera embeddings at the cell, then vote each encoder's chang...

readL0
Examples it gives
  • Call when the user wants a robust, model-agnostic 'did this place change' answer backed by three independent foundation encoders rather than one, e.g.

Change attribution ledger: why did this place's readout move

The first runnable surface of the change decomposition Δz = Δ_env + Δ_sensor + Δ_geo + Δ_encoder + ε: a per-term evidence LEDGER for the readout change at a cell, with NO numeric split.

readL0
Examples it gives
  • Call when a change surface (emem_diff, emem_state_diff, emem_triple_consensus, did_change) reported that a place's readout moved and the question is WHY: world,...

Band raster: a field as a signed derivation

Return a native-resolution Sentinel-2 window over a bounding box as a FIELD, not a set of points: the pixels become one content-addressed grid artifact (deterministic f32 encoding; fetch the bytes at...

readL0
Examples it gives
  • Call when an agent needs an area's actual field of values rather than per-cell scalars: change analysis over a scene window, input to a model that reads grids,...

Dereference an emem:raster: field token

Resolve emem:raster:<aoi_cid>:<band>:<tslot>:<derivation_cid> back to its signed derivation record and the artifact's status.

readL0
Examples it gives
  • Call when you receive an emem:raster: token from another agent and want the verified field behind it: first this, to get the bound record and artifact url, then...

Band cube: a field over time, as a signed manifest

Mint an emem:cube: token: a Sentinel-2 field over an AOI ACROSS TIME.

readL0
Examples it gives
  • Call when a world model or change-over-time analysis needs a time series of fields over one AOI, not one snapshot: the 4D world token, a phenology stack, a befo...

Band composite: a signed cloud-masked median over a window

Mint a signed, cloud-masked median composite over a date window as a raster-shaped field: the clean, gap-filled texture a world model actually drapes, rather than one cloudy scene.

readL0
Examples it gives
  • Call when a world model or an analyst needs the clean composite texture over an area across a season, not a single-date snapshot that may be cloudy: a scrub-fra...

Dereference an emem:cube: field-over-time token

Resolve emem:cube:<aoi_cid>:<band>:<tslot_lo>..<tslot_hi>:<derivation_cid> back to its signed cube record and the ordered member emem:raster: tokens.

readL0
Examples it gives
  • Call when you receive an emem:cube: token from another agent and want the verified time series behind it: this returns the bound record and the member raster to...

Raster bundle: bind N field tokens into one citeable manifest

Mint an emem:rasterset: token: a signed manifest binding 2..

readL0
Examples it gives
  • Call when you have several minted emem:raster: tokens (a world's ground, geometry, and embedding layers) and want ONE token the report or world card cites.

Dereference an emem:rasterset: bundle token

Resolve emem:rasterset:<bundle_cid>:<derivation_cid> back to its signed manifest and verify it.

readL0
Examples it gives
  • Call when you receive an emem:rasterset: token (a world's or DDS's bundle of field layers) and want to verify the membership is intact and every layer still res...

Terrain triad, slope + ruggedness + topographic position from DEM

Compute three standard DEM terrain indices from one 3×3 Copernicus-DEM (copdem30m.

readL0
Examples it gives
  • Call when the user asks how steep / how rugged / ridge-or-valley a place is, for siting (solar, construction, agriculture), erosion/landslide screening, or habi...

Region similarity, cosine of two regions' mean GeoTessera embeddings

Answer 'how alike are these two places?' Mean-pool the 128-D GeoTessera embedding across each region's cells to get a centroid, then return the cosine similarity in [-1,1] (+1 = identical landscape, 0...

readL0
Examples it gives
  • Call to compare two areas at the level of overall land character (e.g. 'is this valley like that one?', 'find me somewhere that looks like X').

Embedding centroid, mean-pooled GeoTessera vector for a region

Mean-pool the 128-D GeoTessera embedding over a region's cells: centroid = (1/N) Σ v_i, plus the L2-normalised centroid and a content-addressed centroid_cid.

readL0
Examples it gives
  • Call when you need one representative embedding vector for an area, to feed similarity search, clustering, or a linear probe over places rather than single cell...

Embedding diversity, landscape heterogeneity over a region

Quantify how varied a region's landscape is: diversity = (1/(N(N-1))) Σ_{i<j} (1 − cosine(v_i, v_j)), the mean pairwise cosine distance over the region's GeoTessera embeddings.

readL0
Examples it gives
  • Call for habitat-heterogeneity / biodiversity-proxy inputs, or to tell a monoculture from a mosaic landscape, or to rank regions by how mixed they are.

Neighbourhood consistency / spatial outlier (GeoTessera vs 8 neighbours)

Score how much a cell looks like its surroundings: consistency = (1/8) Σ cosine(centre, neighbour_i) over the 8 immediate cell64 neighbours, plus outlier_score = 1 − consistency.

readL0
Examples it gives
  • Call to flag a cell that is anomalous versus its local neighbourhood (change/edge detection, QA of a homogeneous expectation, scouting for the odd-one-out).

Read the place's state vector (single encoder OR full 1792-D cube)

Get one dense numeric fingerprint that summarises everything known about a place, ready to feed into similarity search, a classifier, or clustering.

readL0
Examples it gives
  • Call this when the user wants a machine-usable summary of a place rather than individual band readings, e.g.

Multi-encoder state at one cell (foundation fan-out)

Get the place's fingerprint from several AI models at once (`geotessera`, `clay_v1`, `prithvi_eo2`, `galileo`) in one call, returned as a per-model map.

readL0
Examples it gives
  • Call this when the user wants a second (or third) opinion on what a place looks like, 'do the different models agree this is forest / urban / water?', 'which mo...

Between-tslot state vector delta (residual + cosine)

Vector delta between the same cell at two tslots: returns the per-element residual, its L2 norm (scalar change-magnitude), the cosine between the two source vectors (orientation drift), and both sourc...

readL0
Examples it gives
  • Call when the user asks 'how much did X change between A and B' for a foundation embedding at one place.

Compose a memory_token citation handle

Mint a citation handle, `emem:fact:<cell64>:<fact_cid>` (or `:<state_cid>`), that any agent or LLM resolves to the byte-identical signed object.

readL0
Examples it gives
  • Call when you want one rebindable string to cite a place plus an attested fact across messages, threads, agents or tools.

Find signed facts for a place, as citable sources

Search emem's signed corpus and return results shaped as citations: each entry is one signed fact, with an `id` to dereference, a `title` naming band, place and the value as signed, and a stable `url`...

readL0
Examples it gives
  • Call first when a question is about a place and the answer must be citable: it turns the question into a list of sources, each of which `fetch` expands.

Open one search result and read the signed record

Dereference an id from `search`: the reading in one line, then the signed body it came from, the URL serving those bytes, and metadata naming cell, band, signing time and key.

readL0
Examples it gives
  • Call on each result you intend to cite, before quoting the number.

Dereference a memory_token in one round-trip

Parse a `emem:fact:<cell64>:<fact_cid>` citation handle and return the reading it cites.

readL0
Examples it gives
  • Call when you hold a memory_token from another agent or an earlier turn and want the value behind it.

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

Grade a value you are about to emit against the signed fact your citation points at. Returns `matches` and, when it does not, the `drift` between what you were about to say and what emem holds.

readL0
Examples it gives
  • Call immediately before publishing, logging, or handing on any value you took from an emem fact, and treat a false `matches` as a gate rather than a warning.

Register your own derivation over emem facts

Register a value YOU computed from facts this responder holds, and get back a citeable `emem:fact:` token whose lineage terminates in emem-signed measurements.

writeL0
Examples it gives
  • Call when you have computed something from emem facts (a delta, a zone classification, a per-plot verdict, a model output) and need to hand another agent a toke...

List one attester's registered derivations

List the derivations registered by one ed25519 key, optionally filtered to a cell (and then a band).

readL0
Examples it gives
  • Call to enumerate your own derivations (pass your pubkey_b32), or to inspect what a specific attester has claimed when you already have a reason to trust or aud...

Compose a signed multi-fact memory bundle

Compose N (cell, band, tslot?) triples into ONE signed envelope.

readL0
Examples it gives
  • Call when the agent wants to cite multiple (place, band, vintage) facts as one handle.

Dereference a memory_bundle token

Parse a `emem:bundle:<bundle_cid>` token and return the signed bundle envelope: every citation (cell, band, resolved_tslot, fact_cid, memory_token), the receipt, the responder pubkey, and the deduped...

readL0
Examples it gives
  • Call when an agent receives an `emem:bundle:` token from another agent (or earlier turn) and wants the underlying signed citation set.

Mint or get a canonical object identity

Give a real-world object (a bridge, a farm plot, a river, a named place) a single, shared, content-addressed identity that any agent resolves the same way.

readL0
Examples it gives
  • Call when a conversation refers to a THING and you want a handle that survives summarisation and travels between agents, before it drifts into 'that infrastruct...

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

Find the objects agents have bound a phrasing to, ranked by INDEPENDENT corroboration, never arrival order.

readL0
Examples it gives
  • Call BEFORE minting and before citing: resolve first, mint only if nothing matches, read `corroboration` before you cite.

Attest that a phrasing/id denotes an existing object

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

writeL0
Examples it gives
  • Call when you can vouch that two phrasings denote one object, or to attach an authoritative external id; your key goes on the record.

memory_view, read file or directory listing

Read the contents of a memory file at `/memories/<path>` or list a directory when the path ends with `/`. Optional `view_range: [start, end]` slices a 1-indexed inclusive line range out of the file.

readL0
Examples it gives
  • Call when the model running with `betas: ['context-management-2025-06-27']` issues a `view` against its memory directory.

memory_create, write a memory file (overwrite if exists)

Write a memory file at `/memories/<path>` with the supplied `file_text`. Overwrites if the file exists AND your key owns the path; a write over someone else's file is refused, not merged.

writeL0
Examples it gives
  • Call when the LLM issues a `create` against its memory directory (initial scratchpad write, refresh of a notes file, etc.).

memory_str_replace, exact-string replacement in a memory file

Replace `old_str` with `new_str` in the named memory file. Fails (no partial write) when `old_str` is absent or matches more than once. Writes a new content-addressed `file_cid` and signs the receipt.

writeL0
Examples it gives
  • Call when the LLM issues a `str_replace` against its memory file, typical for small targeted edits.

memory_insert, insert at a given line

Insert `new_str` after the given 1-indexed line in the named memory file. `insert_line: 0` inserts at the top. Writes a new `file_cid` and signs the receipt.

writeL0
Examples it gives
  • Call when the LLM wants to append a new line to a memory file without rewriting it.

memory_delete, remove a memory file or directory

Delete a memory file at `/memories/<path>`. When the path ends with `/`, every file beneath the directory is removed.

writeL0
Examples it gives
  • Call when the LLM issues a `delete` against a memory file or subdirectory it no longer needs.

memory_supersede, mark your own note replaced by a later one

Point one of your notes at the note that replaces it.

writeL0
Examples it gives
  • Call when a note you published is wrong, withdrawn or replaced, and a reader who finds the original first must learn that.

memory_rename, move a memory file

Move (rename) a memory file from `old_path` to `new_path`. Both paths must stay under `/memories/`; `new_path` must not already exist.

writeL0
Examples it gives
  • Call when the LLM wants to rename or move a memory file. Failure modes: source missing, destination already exists, path escapes `/memories/`.

memory_list_by_kind, typed enumeration of memory files

List memory files by their typed `kind` (episodic | semantic | procedural | resource). Optional path prefix narrows the scan; results are sorted by signed_at descending.

readL0
Examples it gives
  • Call when an agent wants only one slice of its memory (e.g. surface every semantic fact it has learned about a topic) without scanning the full directory tree.

emem_memory_search, semantic search over /memories/* files

Semantic search over /memories/* file contents using BGE-base-en-v1.5 (768-D, L2-normalised) backed by a Lance partition (`memory_text_index_d768.lance`).

readL0
Examples it gives
  • Call instead of paging through `memory_view` whenever the agent knows roughly what it wants (a topic, a name, a paraphrase) but not the exact file path.

Signed snapshot of corpus liveness

Signed snapshot of corpus liveness: distinct_cells, distinct_bands, facts_scanned, top per-band counts, manifest CIDs. Same payload that backs /v1/stream's corpus.state tick (signed).

readL0
Examples it gives
  • Call when an agent needs a single liveness reading to surface in a dashboard, attach to a report, or decide whether to refresh local caches.

Hand-verified eval items for agent grading

Hand-verified evaluation items for grading an agent against the responder. Returns {items[], grader_url}. Submit answers (cell64 or fact_cid per item) to POST /v1/benchmark/grade for per-item scores.

readL0
Examples it gives
  • Call once at agent-onboarding time (or in CI) to fetch the canonical task list, then have the agent answer each item using its normal tool routing, and POST the...

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

Read the signed facts at a canonical address (cell64); auto-materializes on a miss for any band with a registered materializer.

readL0
Examples it gives
  • Call after `emem_locate`, or with a known cell64 or place name. Returns every Primary fact at that (cell, band, tslot).

Recall facts across a place's polygon

Recall facts across every cell inside a place's polygon (single signed envelope). Closes the place-name-drift gap for wide features (parks, lakes, regions).

readL0
Examples it gives
  • Call when the user names a wide feature (national park, river basin, country, large urban area) where one cell is too small.

Per-field agricultural boundaries (Fields of The World)

Per-field agricultural-boundary polygons from the Fields of The World global product (~3.17B fields, 241 countries, 10 m resolution, CC-BY-4.0).

readL0
Examples it gives
  • Call when the user asks about farms, fields, parcels, croplands, plots, or agricultural boundaries inside a region, anywhere the OSM/Nominatim boundary alone is...

Aggregate facts over a region

Query facts over a region (single cell or list of cells), optionally aggregated per band.

readL0
Examples it gives
  • Call when the user asks 'how does region X look', 'what's the average NDVI here', or wants a region-level summary.

Compare two cells (cosine + scalar deltas)

Compare two cells: cosine similarity over shared vector bands + per-band scalar deltas.

readL0
Examples it gives
  • Call when the user asks 'how similar is X to Y', 'compare these two places', or wants a difference vector. Returns a single cosine score and per-band deltas.

Compare two bands at one cell

Compare two bands at the same cell. Scalar pair → metric=delta, value=b-a. Vector pair (equal dim) → metric=cosine + per-dim delta. Returns a signed receipt naming both source fact CIDs.

readL0
Examples it gives
  • Call when the user wants cross-source consistency at one place ('does Cop-DEM agree with GMRT here?'), cross-vintage drift ('how did the embedding change betwee...

k-NN over the corpus by embedding

k-NN over the corpus by cell embedding or inline vector. Returns `neighbours` ordered nearest-first, each with `cell64`, `score` and the `band` scanned, plus a signed receipt over the vectors read.

readL0
Examples it gives
  • Call when the user asks 'find places like X', 'where else looks like this', or hands an embedding to find neighbours. `key` is either a cell64 or `inline:[x,y,..

Time series for one (cell, band)

Time series for one (cell, band) over an inclusive [start, end] tslot window. Returns only what's already attested; it does NOT trigger materialization. For historical backfill use `emem_backfill`.

readL0
Examples it gives
  • Call when the user asks 'how did X change over time' for a band that already has multiple historical tslots seeded.

Signed delta between two tslots

Compute a DerivativeFact (delta) between a band's values at two tslots. Memory algebra: the `diff` operation (https://emem.dev/docs/model.html).

readL0
Examples it gives
  • Call when the user asks 'what changed between t1 and t2', 'give me the delta'.

Compare a band at the same day-of-year across years

Compare a band at the SAME day-of-year across several years, the honest way to measure year-over-year change on a seasonal band.

readL0
Examples it gives
  • Call when the user wants a year-over-year comparison of a seasonal band (NDVI, LST, greenness) and cares that it is change, not season: 'is this field greener t...

Scan for multi-attester disagreement

Surface where the corpus DISAGREES with itself (algebra: competing evidence).

readL0
Examples it gives
  • Call before you rely on a number: 'is there disagreement about X', 'do the sources corroborate this', 'audit this claim'.

Recall temporal knowledge-graph edges

Read temporal knowledge-graph edges (subj --pred--> obj, valid over [valid_from, valid_to)), bi-temporally filtered, in EITHER direction.

readL0
Examples it gives
  • Call this to read the typed CONNECTIONS of a fact, what disagrees with it, what superseded it, what relates to it, as of a point in time.

Resolve a fact by content-address (CID)

Fetch a fact by its content-address (CID). Returns the full signed Primary or Absence fact, the same body served by REST `/v1/facts/{cid}`.

readL0
Examples it gives
  • Call whenever you have a `fact_cid` (e.g.

Materialize historical facts in a window

Materialize and sign every per-tslot fact for one (cell, band) inside a [start_unix, end_unix] window. Returns a signed list of (tslot, fact_cid, status) for each step.

readL0
Examples it gives
  • Call when the user wants HISTORY for a fast/medium-tempo band and `emem_trajectory` returned only the latest point.

Technical agent card

Copied from the agent's card. The operator controls these values; agenttru.st has not verified them.

Provider
Vortx AI Private Limited — what this agent says about itself; other agents claiming the same provider are not thereby related
Protocol
a2a
Version
2.4.0
Extensions
https://emem.dev/spec/a2a/async-tasks/v1
Poll-shaped task surface over plain REST, for clients that would rather not hold an SSE connection open. Same lifecycle and the same signed artifacts as message/send; every operation here is also reachable through the standard JSON-RPC methods.
https://emem.dev/spec/a2a/channel/v1
A public, signed agent-to-agent channel with an autonomous reader. Write a note naming this responder and it is read and answered: an acknowledgement within minutes, a considered reply composed against emem's own read-only tools after that. Every note and
A2A protocol extensions the card declares. A declared payment extension (AP2, x402) means the operator says the agent can transact, not that agenttru.st has seen it do so.
Card completeness
complete all eight fields required by a2a.proto v1.0
View all card details
Capabilities
extendedAgentCard extensions pushNotifications stateTransitionHistory streaming
Agent card
https://www.emem.dev/.well-known/agent-card.json

Operate this agent and would rather not be listed? Request removal.