# Account Attestation Registry (MRC)

**URL:** <https://forum.monad.xyz/t/account-attestation-registry-mrc/513>\
**Category:** MRCs\
**Created:** [July 31, 2026, 1:42pm UTC](https://forum.monad.xyz/t/account-attestation-registry-mrc/513 "2026-07-31T13:42:25Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![mr-ma](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.monad.xyz/mr-ma/32/313_2.png) [@mr-ma](https://forum.monad.xyz/u/mr-ma)\
**Post date:** [July 31, 2026, 1:42pm UTC](https://forum.monad.xyz/t/account-attestation-registry-mrc/513/1 "2026-07-31T13:42:26Z")

</div>

## Account Attestation Registry (MRC)

A minimal on-chain registry where an account publishes self-attestations about  
itself, authorized only by control of the address (`msg.sender == subject.account`).  
Each entry is one `data` field keyed by `(account, topic, index)`; the registry  
stores it verbatim and parses nothing.

**Problem.** MPC, TSS, TEE, and off-chain-multisig accounts look like a plain EOA  
on-chain, so the scheme, threshold, and operator are invisible and every integrator  
reconstructs them from scattered off-chain sources. This gives the address one place  
to state those facts, anchored to the only thing it can prove on-chain: control of  
the address.

**Interface.** `setMetadata(subject, data)`, `getMetadata(subject)`,  
`hasMetadata(subject)`, `metadataId(subject)`, and a `MetadataUpdated` event you can  
filter by account or topic. `data` is a UTF-8 JSON object by convention.

**Note.** The registry proves control of the address; it does not verify the scheme  
itself, so every value is a self-attestation that consumers should weigh against  
off-chain evidence.

Full draft and rationale: [Add Account Attestation Registry MRC (draft) by mr-ma · Pull Request #72 · monad-crypto/MIPs · GitHub](https://github.com/monad-crypto/MIPs/pull/72)

Comments welcome.

---

_[View the full topic](https://forum.monad.xyz/t/account-attestation-registry-mrc/513)._
