Skip to main content

Multi-chain governance made simple

Build decentralized governance with our TypeScript SDK, GraphQL API, and transaction relayer. Support EVM, Starknet, and offchain voting in one platform.

Quick start

Get up and running with Snapshot X in minutes

1

Install the SDK

Install the @snapshot-labs/sx package using your preferred package manager.
npm install @snapshot-labs/sx
2

Initialize a client

Create a client for your target blockchain. Snapshot X supports EVM, Starknet, and offchain governance.
import { clients } from '@snapshot-labs/sx';

// Create an EVM client
const client = new clients.evmEthereumSig.Client({
  networkConfig: {
    eip712ChainId: '0x1',
    proxyFactory: '0x...',
    spaceFactory: '0x...'
  }
});
3

Create a proposal

Use the client to create governance proposals programmatically.
const receipt = await client.propose({
  space: '0x...', // Space contract address
  author: account,
  metadataUri: 'ipfs://...',
  executionStrategy: {
    addr: '0x...',
    params: '0x'
  },
  userProposalValidationParams: '0x'
});
Check out the SDK Overview for detailed examples and advanced usage patterns.

Explore by package

Snapshot X is a monorepo containing multiple packages for different use cases

SX.js SDK

TypeScript SDK for governance interactions, signing, and blockchain operations across EVM, Starknet, and offchain

Vue UI

Vue 3 frontend for creating and participating in governance with real-time data

GraphQL API

Apollo server with Checkpoint indexer for querying governance data across multiple chains

Mana Relayer

Express service for gasless voting, cross-chain execution, and automated proposal execution

Core concepts

Understand the building blocks of Snapshot X governance

Spaces

Governance DAOs with voting configurations and execution strategies

Strategies

Voting power calculation methods including token balance and cross-chain proofs

Executors

Onchain execution patterns for Safe, Timelock, and custom governance

Authenticators

Signature and transaction authentication for EVM and Starknet

Development guides

Learn how to set up and contribute to the Snapshot X monorepo

Development setup

Set up your local environment and install dependencies

Running services

Run the UI, API, and Mana relayer locally

Contributing

Guidelines for contributing code and documentation

Ready to build governance?

Start building multi-chain governance with Snapshot X today. Our SDK and infrastructure handle the complexity so you can focus on your community.

Get started now

Build docs developers (and LLMs) love