---
cip: 147
title: Swap Stream
author: Aaron Goldman (@aarongoldman), Mohsin Zaidi (@smrz2001)
discussions-to: <URL to a topic under the CIP category on the Ceramic forum: https://forum.ceramic.network/c/cips>
status: Draft
category: <Core | Networking | Interface | RFC | Meta>
created: 2023-08-21
edited: 2023-08-23
requires: <EIP number(s)>
replaces: <EIP number(s)>
---
A new stream type where the stream state corresponds to the latest event.
A Swap Stream enables you to replace the entire content of a stream. This is different from existing Ceramic streams, which consist of a sequence of PATCH operations that must all be considered in order to determine the state of the stream.
When dealing with a Patch Stream, aggregating the stream state requires following events back to the Init Event. A Swap Stream SWAP operation allows a Ceramic node to ignore previous data in the stream, and a STOMP operation allows the node to ignore previous headers and data. This removes the need to constantly follow events back to the Init Event.
Specification goes here.
Rationale goes here.
Backwards compatibility goes here.
Implementation goes here.
Security considerations go here.
Copyright and related rights waived via CC0.