ERC-8352: Cross-Chain Event Archive

Hey, I have been working on cross-blockchain migration and backup. I have figured out that a generic brick is missing to specify a generic way to archive event from one blockchain to another. I think that it could be a great fit for a new ERC.

I have drafted an ERC proposal and I would like to have insights from the community. Thank you for your help :slight_smile:!

Reference implementation: GitHub - spiko-tech/erc-cross-chain-event-archive · GitHub

ERC PR : Add ERC-8352: Cross-Chain Event Archive by nicolasassouad · Pull Request #1914 · ethereum/ERCs · GitHub

Abstract

This ERC defines a minimal envelope for recording, on an EVM chain, events that occurred on another EVM chain. It standardizes a single EventArchived log format carrying a monotonic version, an event identifier, and view functions to check whether a given source event has been archived and at which version. Corrections to an erroneous record are expressed as higher-versioned records under the same identifier. One optional extension adds a push-based write function. How archived records are produced, transported, or authorized is out of scope, so a single indexer can ingest cross-chain event history from any conforming contract without knowing its write path.

  • How is data from other chains supposed to be recorded? Are movements on external chains not captured?

  • Does this proposal aim to standardize events that record tokens moving in and out through bridges or other contracts?

Hey @myuksal, thank you for your question!

How is data from other chains recorded?

The standard only defines the envelope (the EventArchived event and the archiveEvent function). How events actually get from the source chain to the archive chain is intentionally out of scope. In practice, an off-chain relayer/indexer reads events on the source chain and calls archiveEvent on the destination.

Does it capture bridge movements specifically?

It is more general. It archives any kind of smart contract events (token transfers, RWA-specific compliance-related events,…). The payload field carries the raw event data in the source chain’s native encoding, and the indexer decodes it based on sourceChainId. So the goal is a generic archive for cross-chain event history.

1 Like

Quick update: the proposal is now in draft and submitted to the ERCs repo for review: https://github.com/ethereum/ERCs/pull/1914

Thanks to everyone who shared feedback. Comments are very welcome, both on the PR and here.