Skip to main content
Snapshot X is a complete governance infrastructure designed for decentralized autonomous organizations (DAOs). It combines the power of onchain execution with the flexibility of offchain voting, supporting multiple blockchain networks including Ethereum, Starknet, and traditional Snapshot spaces.

What is Snapshot X?

Snapshot X is a monorepo containing a Vue 3 frontend, GraphQL API, transaction relayer, and TypeScript SDK that work together to provide a seamless governance experience. Whether you need gasless voting, cross-chain proposals, or onchain execution, Snapshot X has you covered.

Key Features

Multi-Chain Support

Deploy governance spaces on EVM chains, Starknet, or keep them fully offchain. Mix and match strategies across networks.

Gasless Voting

Enable gasless voting through the Mana relayer, reducing barriers to participation and improving DAO engagement.

Flexible Strategies

Support multiple voting strategies including token balances, whitelists, and cross-chain proofs with Herodotus integration.

Onchain Execution

Execute proposal outcomes directly onchain with support for Safe, Timelock, and custom execution patterns.

TypeScript SDK

Full-featured SDK (@snapshot-labs/sx) for creating clients, proposals, and votes across all supported networks.

Protocol Support

Index and interact with Snapshot X, Compound Governor, and OpenZeppelin Governor protocols.

Core Packages

UI (apps/ui)

Vue 3 frontend application providing the user interface for governance interactions.
  • Technology: Vue 3, TailwindCSS, Vite, Pinia
  • Features: Space management, proposal creation, voting interface, delegation
  • Repository: apps/ui

API (apps/api)

Apollo GraphQL server with Checkpoint blockchain indexer for governance data.
  • Technology: Apollo Server, Checkpoint, MySQL
  • Features: Indexes events from EVM, Starknet, and offchain sources
  • Protocols: Snapshot X, Compound Governor, OpenZeppelin Governor
  • Repository: apps/api

Mana (apps/mana)

Express transaction relayer for gasless voting and cross-chain execution.
  • Technology: Express, ethers.js, starknet.js
  • Features: Gasless voting, L1↔L2 messaging, automated proposal execution
  • Repository: apps/mana

SX.js (packages/sx.js)

Shared TypeScript SDK for governance interactions across all networks.
  • Package: @snapshot-labs/sx
  • Technology: TypeScript, ethers.js, starknet.js
  • Features: Clients for EVM, Starknet, and offchain; signing utilities; strategy helpers
  • Repository: packages/sx.js
  • Install:
npm install @snapshot-labs/sx
# or
yarn add @snapshot-labs/sx

Architecture Overview

The architecture separates concerns cleanly:
  • UI handles user interactions and displays governance data
  • API indexes blockchain events and serves aggregated data via GraphQL
  • Mana handles transaction submission and gasless voting
  • sx.js provides shared utilities used by all services
  • External services (snapshot-hub, snapshot-sequencer) handle offchain Snapshot spaces

Governance Types

Snapshot X supports two types of governance spaces:

Onchain Spaces

Spaces deployed on blockchain networks with onchain voting and execution:
  • Networks: Ethereum, Sepolia, Starknet, Starknet Sepolia
  • Protocols: Snapshot X, Compound Governor, OpenZeppelin Governor
  • Features: Onchain voting power, onchain execution, verifiable results
  • Indexed by: API in this repository

Offchain Spaces

Traditional Snapshot spaces with gasless offchain voting:
  • Networks: Ethereum Mainnet, Goerli
  • Features: Gasless voting, flexible strategies, social consensus
  • Data source: snapshot-hub
  • Write operations: snapshot-sequencer

Key Concepts

A space represents a governance DAO with its own configuration, voting strategies, and execution patterns. Spaces can be deployed onchain or exist as offchain entities.
Proposals are governance actions that space members can vote on. They include metadata, execution strategies, and timing parameters.
Strategies determine how voting power is calculated. Examples include token balances (ERC20, ERC20Votes), whitelists, and cross-chain proofs.
Execution strategies define how approved proposals are executed onchain. Common patterns include Safe (multi-sig), Timelock (delay + veto), and direct execution.
Authenticators verify that votes and proposals come from authorized users. Types include signature-based (EthSig, StarkSig) and transaction-based (EthTx, StarkTx).

Getting Started

Ready to build?

Follow our quickstart guide to install the SDK and create your first proposal

Learn More

Architecture

Deep dive into system architecture and data flows

GitHub Repository

Explore the source code and contribute

Discord Community

Join our community for support and discussions

Website

Visit the Snapshot X platform

Build docs developers (and LLMs) love