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:
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
Spaces
Spaces
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
Proposals
Proposals are governance actions that space members can vote on. They include metadata, execution strategies, and timing parameters.
Voting Strategies
Voting Strategies
Strategies determine how voting power is calculated. Examples include token balances (ERC20, ERC20Votes), whitelists, and cross-chain proofs.
Execution Strategies
Execution Strategies
Execution strategies define how approved proposals are executed onchain. Common patterns include Safe (multi-sig), Timelock (delay + veto), and direct execution.
Authenticators
Authenticators
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