Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Ceramic Stream

A Ceramic Stream is a mutable, version-controlled data structure on the decentralized Ceramic network, enabling the storage and update of off-chain data like dynamic NFT metadata.
Chainscore © 2026
definition
COMPOSABLE DATA

What is a Ceramic Stream?

A Ceramic Stream is the fundamental unit of mutable, decentralized data on the Ceramic network, functioning as a version-controlled, interoperable data container.

A Ceramic Stream is a mutable data structure on a decentralized network that evolves over time through a series of commits, similar to a Git repository for application data. Each stream is identified by a globally unique StreamID and is controlled by a Decentralized Identifier (DID), which acts as the cryptographic owner. The data within a stream is stored as a commit log on the InterPlanetary File System (IPFS), ensuring verifiable provenance and censorship resistance. This model enables data to be updated, composed, and referenced across different applications without centralized control.

The architecture of a stream is defined by its StreamType, a schema that dictates its data model and state transition logic. Common types include TileDocument for general JSON documents and Model for defining data schemas in the Ceramic Tableland ecosystem. Updates to a stream are cryptographically signed commits that append to its log, creating an immutable history. This allows any user to verify the entire lineage of the data, providing strong integrity guarantees and enabling trustless collaboration between applications and users.

Streams enable powerful composability and data interoperability. Because streams are referenced by their immutable StreamID, one application's data can be seamlessly read and updated by another, forming a graph of interconnected data. For example, a user profile stored in one stream can be linked to a social graph or a reputation score in separate streams, all owned by the same DID. This breaks down data silos and allows developers to build on existing data sets, accelerating innovation and user ownership within the Web3 ecosystem.

From a developer's perspective, interacting with streams is facilitated by client libraries like Glaze or the core Ceramic HTTP Client. Operations include creating a stream from a schema, updating its content, and loading its current state. The network uses Consensus mechanisms to handle concurrent updates, ensuring consistency. This design is particularly suited for dynamic, user-centric data such as social profiles, content feeds, decentralized identifiers, and application settings that need to persist across different dApps and services.

In practice, Ceramic Streams form the backbone of user-centric data ecosystems. They power protocols like Ceramic Tableland, where streams define and instantiate data models for decentralized applications. By providing a universal layer for mutable data, streams solve the long-standing challenge of portable, updatable information in blockchain environments, which are typically optimized for immutable asset transfer. This makes them a critical infrastructure component for the next generation of interoperable, user-owned applications on the decentralized web.

how-it-works
DATA STRUCTURE

How a Ceramic Stream Works

A Ceramic Stream is the fundamental, mutable data unit on the Ceramic decentralized data network, functioning as a version-controlled, cryptographically verifiable log of updates.

A Ceramic Stream is a commit log—a tamper-evident, append-only data structure anchored to a blockchain. Each stream is identified by a unique StreamID and is controlled by a Decentralized Identifier (DID). The stream's state is not stored directly on a blockchain; instead, the network uses the blockchain (like Ethereum or Polygon) as a secure timestamping and ordering layer for the stream's commit hashes. This design separates the cost-intensive consensus of the base layer from the high-frequency data updates, enabling scalable, mutable data for applications.

The core mechanism is the stream state machine, which progresses through a series of commits. Each commit is a signed Ceramic Commit, which can be a Genesis Commit (creating the stream with a schema and initial data), a Signed Commit (an update to the stream's content), or an Anchor Commit (a proof of recency and order, written to a blockchain). The network's nodes, running the js-ceramic implementation, validate each commit against the stream's state transition rules and the controlling DID's signature to deterministically compute the current state.

Streams are composable and can reference other streams, enabling complex, interconnected data graphs. For example, a user profile stream might reference a stream schema that defines its structure and a tile document stream containing the actual profile data. Developers interact with streams via the Ceramic HTTP API or client libraries, performing operations like stream.state = nextContent to create an update commit. The network's peer-to-peer libp2p transport layer propagates these commits, ensuring eventual consistency across nodes without global consensus on content.

This architecture provides cryptographic verifiability: any party can fetch the commit log for a StreamID and independently verify the entire history and current state, ensuring data integrity and provenance without trusting a central server. It enables use cases like user-controlled social graphs, verifiable credentials, and collaborative documents where data must be mutable, owned by users, and interoperable across applications in the decentralized web (Web3).

key-features
ARCHITECTURE

Key Features of Ceramic Streams

Ceramic Streams are the fundamental data structure for mutable, decentralized information, built on top of IPFS and secured by a blockchain. These features define their unique capabilities.

01

Mutable & Versioned Data

Unlike static files on IPFS, Ceramic Streams are mutable data structures with a full version history. Each update creates a new commit, cryptographically linked to the previous state, forming an immutable log. This enables applications like editable user profiles, collaborative documents, and updatable metadata while preserving a complete audit trail.

02

Decentralized Identity (DID) Control

Access control is managed by Decentralized Identifiers (DIDs). The stream's controller, identified by their DID, holds the private keys to authorize updates. This model ensures self-sovereign data where users, not applications or servers, own and control their information. Permissions can be granularly defined for reading and writing.

03

Composable Data Models (TileDocument)

The most common stream type is a TileDocument, which stores JSON data conforming to a data model defined by a StreamID. These models, often published on the Ceramic Model Registry, enable interoperability. Applications can discover and reliably read streams created by other apps if they use the same model, fostering a composable data ecosystem.

04

Deterministic StreamID

Every stream is uniquely identified by a StreamID, a Content Identifier (CID) derived from its genesis commit. This ID is deterministic: anyone can recalculate the same StreamID from the initial data and the controller's DID. It provides a permanent, immutable pointer to the stream's evolving state, enabling reliable referencing across the network.

05

Blockchain-Anchored Security

Stream security is anchored to a blockchain (e.g., Ethereum, Polygon) without storing the data on-chain. The controller's DID resolves to a blockchain account, and updates are signed by that account. This uses the blockchain for decentralized authentication and Sybil resistance, while the high-frequency data lives on the scalable Ceramic network.

06

Decentralized Data Availability

Stream data is stored and replicated across the Ceramic peer-to-peer network and IPFS. Nodes pin stream history, ensuring data availability and censorship resistance. The network uses a gossip protocol to propagate updates, making streams highly available and durable without relying on centralized servers or databases.

examples
CERAMIC STREAM

Examples & Use Cases

Ceramic Streams are mutable, decentralized data structures. Here are key applications that leverage their unique properties for user-centric data.

03

Composable Data for DeFi & DAOs

In decentralized finance and governance, Streams provide a shared state for off-chain data. A DAO's proposal metadata, member reputation scores, or a DeFi protocol's dynamic configuration parameters can be stored in a Stream. This allows multiple interfaces and smart contracts to reference and react to the same authoritative, updatable dataset.

Composable
Data Model
04

Verifiable Credentials & Attestations

Streams are ideal for issuing and managing verifiable credentials. An issuer can create a Stream containing a credential (e.g., a proof of KYC or a course completion). The credential can be updated (e.g., revoked) or have its status checked, with all actions cryptographically signed and recorded. The holder controls the Stream, deciding which applications can access it.

05

Cross-Application User Settings

Users can maintain application preferences in a personal Stream, such as notification settings, UI themes, or connected wallet addresses. Any dApp that integrates with the user's DID (Decentralized Identifier) can read these settings to provide a personalized experience, creating seamless cross-application state without centralized servers.

06

Underlying Technology: StreamID & CommitID

Every use case relies on core Ceramic identifiers. A StreamID is a permanent, immutable pointer to a specific Stream (e.g., a user's profile). A CommitID points to a specific state (commit) within that Stream's history. This separation allows applications to reference either the latest state or a historical snapshot with cryptographic certainty.

technical-details
CERAMIC GLOSSARY

Technical Details: Stream Types & Structure

This section details the core data model of Ceramic, explaining the different types of streams, their internal structure, and how they enable mutable, versioned data on a decentralized network.

A Ceramic Stream is a mutable, version-controlled data structure stored on the decentralized Ceramic network, identified by a unique StreamID. Unlike static files or immutable blockchain transactions, a stream is a commit log—a cryptographically verifiable chain of updates where each new state is a commit anchored to the previous one. This structure allows data to evolve over time while maintaining a complete, tamper-proof history, making streams ideal for dynamic applications like user profiles, social graphs, and collaborative documents.

The internal structure of a stream is defined by its StreamType, a schema that dictates the rules for its content and state transitions. Common types include TileDocument streams for generic JSON documents, CAIP-10 Link streams for blockchain account associations, and Model streams that define data schemas for use with the ComposeDB graph database. Each commit in a stream's log contains the updated content, metadata, and a proof linking it to the previous state, secured by the stream controller's DID (Decentralized Identifier).

Streams are fundamentally decentralized; no single entity controls the network or the data. The state of a stream is resolved deterministically by any node by replaying its commit log. Access control is managed via capability-based security, where the stream controller (holder of the private key for its DID) authorizes updates. This model enables user-centric data ownership, where individuals or applications control their own streams, and others can permissionlessly read and verify their entire history.

DATA MODEL COMPARISON

Ceramic Stream vs. Traditional Storage

A technical comparison of Ceramic's stream-based data protocol against conventional database and file storage paradigms.

Feature / MetricCeramic StreamTraditional Database (SQL/NoSQL)Centralized File Storage (S3, IPFS)

Core Data Unit

Mutable Stream (versioned DAG)

Table Row / Document

Immutable File / Object

Data Mutability

Built-in Versioning

Decentralized Write Access

Permissioned via DID

Native Data Composability

Storage Location

Decentralized Network (IPFS)

Centralized Server

Centralized or P2P Network

Default Data Availability

Global, Redundant

Single Provider

Single Provider or Pinned

Query Model

StreamID / CommitID lookup

Indexed SQL/NoSQL queries

Content Identifier (CID) lookup

ecosystem-usage
CERAMIC STREAM

Ecosystem Usage

A Ceramic Stream is a mutable, decentralized data structure identified by a unique StreamID, enabling applications to manage and synchronize dynamic data across the web3 ecosystem. Its primary use cases span identity, social graphs, and composable application state.

04

Cross-Protocol Data Bridges & Indexing

Streams serve as a canonical data layer that bridges multiple blockchains and protocols.

  • Cross-Chain Reputation: A user's reputation earned on Ethereum can be written to a stream and read by an application on Polygon.
  • Decentralized Indexing: Services like The Graph can index on-chain events and write aggregated results (e.g., user transaction history) to a Ceramic stream for efficient querying.
  • Oracle Data Feeds: Verified real-world data from oracles can be committed to a stream, providing a tamper-evident record for smart contracts to reference.
CERAMIC STREAM

Common Misconceptions

Clarifying frequent misunderstandings about Ceramic Streams, the core data structure for mutable, decentralized information on the Ceramic Network.

No, a Ceramic Stream is a decentralized, mutable data structure anchored to a blockchain, not a simple database record. While it stores data, its defining characteristics are its immutable commit log (stored on the Ceramic Network) and its mutable state, which is deterministically derived from that log. Each update creates a new commit (like a Git commit) signed by the stream controller, forming a verifiable history. The current state is a cryptographic accumulator of all commits, making it tamper-evident and portable across applications without a central database.

CERAMIC STREAM

Frequently Asked Questions

Common questions about Ceramic Streams, the core data structure for mutable, decentralized information on the Ceramic Network.

A Ceramic Stream is a mutable data structure on the Ceramic Network, identified by a unique StreamID, that stores and manages evolving state using a commit log anchored to a blockchain. Unlike static files on IPFS, a Stream is a live document whose state is updated through cryptographically signed commits. Each commit contains a DAG-JOSE envelope with a JWS (JSON Web Signature) for authentication and a CID (Content Identifier) linking to the actual data payload, enabling verifiable, decentralized data collaboration.

  • Core Components: StreamID, Commit Log, State.
  • Key Property: Mutable, versioned, and owner-controlled.
  • Underlying Tech: Uses IPLD for content-addressing and DIDs for decentralized identity.
ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team
Ceramic Stream: Mutable Data for NFTs & dApps | ChainScore Glossary