Skip to main content

Quick Start

Get a node running locally with Docker in under 10 minutes.

Architecture Overview

Understand the hierarchical DAG consensus model and module layout.

Metagraph SDK

Build custom data applications on the Constellation Network.

API Reference

Explore the full REST APIs for L0 and L1 nodes.

What is Tessellation?

Tessellation implements a hierarchical DAG (Directed Acyclic Graph) consensus protocol where Layer 1 metagraphs create blocks that Layer 0 aggregates into global snapshots. This architecture enables scalable, parallel transaction processing across multiple metagraphs while maintaining a unified global state. Written in Scala 2.13 with Cats Effect 3 for purely functional, resource-safe concurrency.
L1 Metagraph Nodes  →  Currency L0  →  Global L0  →  Global Snapshots
      (blocks)           (snapshots)    (consensus)     (final state)

Key features

Hierarchical DAG consensus

L1 creates blocks, L0 aggregates into global snapshots with multi-phase FSM consensus rounds.

Extensible metagraph SDK

Override rewards, validators, and data application hooks to build custom on-chain logic.

Anti-entropy gossip

Resilient peer-to-peer state sync via origin-specific and content-addressed rumors.

Merkle Patricia Trie proofs

Verifiable state proofs computed per snapshot for cryptographic integrity.

Delegated staking

Token lock-based staking with configurable node assignment and epoch-based rewards.

Kubernetes-native

Production deployments via Kustomize overlays, Skaffold, and Docker Compose profiles.

Module layout

Tessellation is organized as a multi-module SBT project:
ModulePurpose
sharedCore data structures, cryptography, serialization
kernelRecursion schemes (Droste), category theory abstractions
node-sharedP2P networking, consensus engine, gossip protocol
dag-l0Global Layer 0 validator — aggregates all metagraph state
dag-l1Layer 1 validator — metagraph block creation and consensus
currency-l0Currency metagraph L0 with extension points
currency-l1Currency metagraph L1 with extension points
sdkStable API facade for metagraph developers
keytoolKey management and PKCS12 keystore operations
walletCLI wallet: transactions, delegated stakes, token locks
rosettaCoinbase Rosetta API v1.4.14 implementation

Tech stack

  • Scala 2.13.18 with Java 21 (enforced at build time)
  • Cats Effect 3 — async/IO and resource lifecycle
  • FS2 — streaming with backpressure
  • HTTP4s (Ember) — HTTP server and client
  • Circe — JSON serialization with Brotli compression
  • BouncyCastle — ECDSA cryptography
  • Refined types — compile-time validation

Get started

Run a node

Start a local L0 + L1 environment with Docker Compose.

Core concepts

Learn how DAG consensus, snapshots, and metagraphs work.

Build a metagraph

Use the SDK to extend Currency L0/L1 with custom logic.

Build docs developers (and LLMs) love