Skip to content

Add ERC: AI Agent Memory Access Rights#1752

Open
clavote-boop wants to merge 10 commits into
ethereum:masterfrom
clavote-boop:master
Open

Add ERC: AI Agent Memory Access Rights#1752
clavote-boop wants to merge 10 commits into
ethereum:masterfrom
clavote-boop:master

Conversation

@clavote-boop

Copy link
Copy Markdown

Summary

This PR introduces a new draft ERC: AI Agent Memory Access Rights — a minimal four-function on-chain interface (readMemory, writeMemory, deleteMemory, exportMemory) through which an Ethereum address asserts sovereign control over AI agent memory records that reference that address.

Motivation

AI agents on EVM-compatible networks accumulate memory about their principals (conversation history, preferences, delegated context). No standardised on-chain mechanism currently allows a principal to read, correct, delete, or port those records. This gap has direct GDPR implications (Articles 15–20) and is structurally identical to the problem solved for token ownership by ERC-20/721 — but for data rights.

Relationship to existing ERCs

ERC Focus Orthogonal?
ERC-8183 Agentic commerce / task-payment flows ✓ Yes
ERC-8259 Agent identity & threat registry ✓ Yes
ERC-8239 Agent skill registry ✓ Yes
ERC-8888 / TruthAnchor On-chain proof of agent actions ✓ Yes

This ERC addresses user data rights over stored memory inputs, not agent outputs, identity, skills, or commerce. It is composable with all four.

Interface surface

Four functions + two events. No storage layout mandate. No backend opinion. ERC-165 support required. Analogous in size to ERC-165 itself.

function readMemory(address subject, bytes32 recordId) external view returns (bytes memory);
function writeMemory(address subject, bytes32 recordId, bytes calldata data) external;
function deleteMemory(address subject, bytes32 recordId) external;
function exportMemory(address subject) external view returns (bytes memory);

Checklist

  • EIP-1 preamble complete (title ≤44 chars, description one sentence, no "standard", no self-assigned ERC number)
  • - [x] RFC 2119 keywords confined to Specification section
  • - [x] Security Considerations section present and substantive
  • - [x] Copyright waived via CC0
  • - [x] requires: 165 declared
  • - [x] Reference implementation included
  • - [x] discussions-to points to Ethereum Magicians ERCs category (to be updated with thread URL once TL1 reached)
  • - [x] No external links beyond permitted sources

Notes for editors

The discussions-to field currently points to the ERCs category (https://ethereum-magicians.org/c/ercs/57). A dedicated thread will be posted and the field updated via a follow-up commit once the account reaches Trust Level 1. This is consistent with the approach taken by ERC-8259 (PR #1730).

This ERC defines an interface for user-controlled access to AI agent memory records, including read, write, delete, and export functions.
@eip-review-bot

eip-review-bot commented May 17, 2026

Copy link
Copy Markdown
Collaborator

File ERCS/erc-8264.md

Requires 1 more reviewers from @g11tech, @jochem-brouwer, @samwilsn, @xinbenlv

@@ -0,0 +1,234 @@
---
eip: XXXX

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
eip: XXXX
eip: 8264

@clavote-boop

Assigning next sequential EIP/ERC/RIP number.
Numbers are assigned by editors & associates.

Please also update the filename.

Comment thread ERCS/erc-8264.md Outdated
title: AI Agent Memory Access Rights
description: An interface for user-controlled read, write, delete and export of AI agent memory records stored by any on-chain or off-chain memory provider.
author: Clavote (@clavote-boop)
discussions-to: https://ethereum-magicians.org/c/ercs/57

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please create a topic on Eth Magicians for this ERC, with a link to this PR.

Per editor review on ethereum#1752:
- eip: XXXX -> eip: 8264 (number assigned by editors)
- rename erc-draft-ai-agent-memory-access-rights.md -> erc-8264.md
- fix internal link ./eip-165.md -> ./erc-165.md

Clears the EIP Walidator filename error and the Jekyll eiptable
sort error (both caused by the non-numeric eip header / filename).
Resolves EIP Walidator errors on PR ethereum#1752:
- description trimmed to <=140 chars
- cite only merged ERCs by number: link ERC-8183 and ERC-173;
  drop references to ERC-8259/8239/8888 (those proposals are still
  open PRs with no merged file, so they cannot be linked and are
  not citable by number yet) - replaced with descriptive prose
- title comment IERC-XXXX -> IERC-8264

Remaining: discussions-to must point to an Eth Magicians thread
(topic pending creation).
ethereum/ERCs builds the site by renaming erc-*.md -> eip-*.md, so
internal links must use ./eip-NNNN.md (matches every other ERC).
Also link the "ERC-165 Support" heading so the first occurrence of
the ERC-165 reference is a link (eipw markdown-link-first).

Remaining CI item: discussions-to (Eth Magicians topic pending).
@clavote-boop

Copy link
Copy Markdown
Author

Thanks @abcoathup. Applied the assigned number:

  • eip: 8264, file renamed to erc-8264.md
  • Cleared the eipw lint: trimmed description under 140 chars, fixed internal links (eip-8183.md, eip-165.md, eip-173.md), linked the ERC-165 heading. I also dropped the references to ERC-8259/8239/8888 — those are still open PRs with no merged file, so they aren't linkable yet; happy to add "see also" links once they're merged.
  • discussions-to: I'm setting up the Ethereum Magicians topic. My forum account is new and doesn't have topic-creation permission yet — I'll update discussions-to to the thread URL as soon as it does. If there's a preferred way to handle that in the interim, let me know.

CI is green except discussions-to, pending the topic.

@github-actions github-actions Bot removed the w-ci label May 21, 2026
@clavote-boop

Copy link
Copy Markdown
Author

@abcoathup — Eth Magicians discussion topic created and discussions-to updated (pushed in 42383dd):

https://ethereum-magicians.org/t/erc-8264-ai-agent-memory-access-rights/28584

That clears the last EIP Walidator item. CI should now be green.

@clavote-boop

Copy link
Copy Markdown
Author

Update — public CC0 reference implementation now live

The reference implementation for this ERC is now public at https://github.com/clavote-boop/rmem-gateway.

Contents:

  • Five-module Python reference impl of readMemory / writeMemory / deleteMemory / exportMemory (EIP-191 owner signature verification, encrypted vault, hash-chained audit log) — all selftest-green.
  • standards/erc-8264.md — source of this PR.
  • Companion ERC draft: standards/erc-portable-agent-memory-capsule-DRAFT.md (Capsule format + Body Lease + Credential Broker, requires: 8264, CC0). PR submission to this repo following shortly.
  • Live anchor of a Capsule Merkle root on Bitcoin (mutinynet) verifying the on-chain commitment path end-to-end: 224958929c...69f0a.

cc @g11tech @jochem-brouwer @SamWilsn @xinbenlv — gentle ping for the one outstanding reviewer slot. Happy to address any composition concerns; the spec is intentionally orthogonal to ERC-8004, ERC-8183, EIP-7702, and ERC-7857.

Documents a second reference implementation, RmemMemoryRegistry, deployed on
Sepolia (11155111) and Base Sepolia (84532) at
0x2cf251859d172e292aa6a4ef4bbf7621b8117e4e. The interface is unchanged; the
contract demonstrates the storage-layer and authorisation-layer freedoms the
spec explicitly leaves to implementors (keccak256-commitment storage and
subject-controlled on-chain Body-Lease delegation).

Source: https://github.com/clavote-boop/rmem-gateway/tree/main/contracts (CC0).
@github-actions

Copy link
Copy Markdown

The commit 951c012 (as a parent of 9330169) contains errors.
Please inspect the Run Summary for details.

@github-actions github-actions Bot added the w-ci label May 23, 2026
eipw's markdown-rel-links rule forbids non-relative links and <url> autolinks
in ERC text. Strip the etherscan/basescan/github links; keep the addresses
and the source repo name as plain text. Renderers / reviewers can resolve
them from context.
@github-actions github-actions Bot removed the w-ci label May 23, 2026
Third deployment of RmemMemoryRegistry. Same canonical address as Sepolia +
Base Sepolia (deterministic from deployer EOA + nonce 0). All three pass
supportsInterface(0x13a642d4) and supportsInterface(0x01ffc9a7).
@clavote-boop

Copy link
Copy Markdown
Author

Update — RmemMemoryRegistry deployed and live on three testnets (2026-05-22).

Linked addresses for reviewer convenience (block explorer pages — kept out of the ERC text itself because eipw's markdown-rel-links rule forbids external links in the spec). All three are the same canonical address; this is deterministic because they're all the deployer EOA's nonce-0 transaction on their respective chain.

Chain Chain ID Address Deploy tx
Sepolia 11155111 0x2cf251859d172e292aa6a4ef4bbf7621b8117e4e 0x5fd6ec20…
Base Sepolia 84532 0x2cf251859d172e292aa6a4ef4bbf7621b8117e4e 0x3dbb3d1e…
BNB Smart Chain Testnet 97 0x2cf251859d172e292aa6a4ef4bbf7621b8117e4e 0x4bbf7560…

Each contract responds true to supportsInterface(0x13a642d4) (this ERC's interfaceId) and supportsInterface(0x01ffc9a7) (ERC-165). Each emits MemoryWritten/MemoryDeleted per the spec on the respective ops.

Source: clavote-boop/rmem-gatewaycontracts/ — Foundry suite (19/19 tests passing), Solidity contracts, deploy script, and a web3.py client that calls the deployed contracts. CC0.

This reference impl is a second, lease-aware extension alongside the in-spec SimpleAgentMemory impl. It demonstrates the two storage-and-authz dimensions the spec explicitly leaves open: (1) keccak256(data) commitment storage (off-chain encrypted payload, on-chain 32-byte hash) and (2) subject-controlled grantLease(body, scopes, expiresAt) delegation. The interface itself is untouched.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants