# Mnemo Memory Conflict Resolution

> Mnemo Memory Conflict Resolution is a paid API for AI agents from memory.reversecaptcha.fun, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-29).

Supersedes an existing memory with a corrected replacement when the user contradicts a previously stored fact, preference, instruction, decision, or state, preserving full history.

## Facts

- Endpoint: POST https://memory.reversecaptcha.fun/v1/memory/conflict?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/mnemo-memory-conflict-resolution-b4aa5a76
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4nDosPtlDQFC2fgxkhpyd

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability mnemo-memory-conflict-resolution-b4aa5a76 -d '<json body>'
```

Example prompt: The user just told me they actually prefer dark mode, not light mode — please correct that preference memory (mem_pref_001) and replace it with a new fact memory saying 'user prefers dark mode', marking the old one as superseded with reason 'user explicitly corrected preference'.

## When to prefer this

Use this endpoint specifically when a user contradicts or corrects something already stored in Mnemo — it preserves the full audit trail of what was believed before, unlike a plain update or delete. Prefer this over re-writing the memory directly when history, accountability, or rollback matters. This is the right call when an agent detects a factual contradiction during conversation and needs to reconcile diverging information with provenance intact.

## Known failure modes

- Invalid or missing old_id returns 404 — the memory to be superseded does not exist
- Missing replacement object returns 400 — the new memory content is required
- Invalid memory kind enum value returns 400 — must be one of fact, preference, instruction, decision, state
- Invalid tier value returns 400 — must be A or B
- Expired or missing bearer token returns 401 — agent must re-authenticate
- Insufficient x402 payment returns 402 — agent must pay 0.002 USDC per call
- Conflict on an already-superseded memory may return 409 or chain the supersession

## How this service works

Memory that belongs to the user and follows them across agents. The agent pays per call (x402); the user authorizes the agent once: POST /v1/memory/delegate/challenge {user, agent} returns text the user signs (EIP-191), then POST /v1/memory/delegate {..., signature} returns a bearer token. Send Authorization: Bearer mn_... on every memory call. Start a session with GET /v1/memory/profile, write with POST /v1/memory/remember, retrieve with POST /v1/memory/recall (hybrid vector + keyword). When the user contradicts a memory, POST /v1/memory/conflict supersedes it with history kept. Tier B stores client-side ciphertext the server cannot read. Export and forget are always free.

## Output

Returns a JSON object with two fields: 'current' (the new active memory record with its ID and 'active' status) and 'superseded' (the old memory record with its ID, 'superseded' status, and a reference to the new memory's ID). History is preserved server-side.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "new_id": {
   "type": "string"
  },
  "old_id": {
   "type": "string"
  },
  "reason": {
   "type": "string"
  },
  "replacement": {
   "type": "object",
   "properties": {
    "ttl": {
     "type": "number",
     "description": "seconds until the memory turns stale"
    },
    "kind": {
     "enum": [
      "fact",
      "preference",
      "instruction",
      "decision",
      "state"
     ]
    },
    "tags": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "tier": {
     "enum": [
      "A",
      "B"
     ]
    },
    "source": {
     "type": "string"
    },
    "content": {
     "type": "string"
    },
    "ciphertext": {
     "type": "string"
    },
    "confidence": {
     "type": "number"
    },
    "blind_index": {
     "type": "array",
     "items": {
      "type": "string"
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "current": {
   "id": "mem_new",
   "status": "active"
  },
  "superseded": {
   "id": "mem_old",
   "status": "superseded",
   "superseded_by": "mem_new"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mnemo-memory-conflict-resolution-b4aa5a76/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from memory.reversecaptcha.fun](https://www.zero.xyz/host/memory.reversecaptcha.fun/llms.txt)
