back to home

unionlabs / union

The trust-minimized, zero-knowledge bridging protocol, designed for censorship resistance, extremely high security, and usage in decentralized finance.

74,303 stars
3,844 forks
185 issues
RustTypeScriptSvelte

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing unionlabs/union in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/unionlabs/union)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview
<div align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="./.github/images/union-logo-white.svg"> <source media="(prefers-color-scheme: light)" srcset="./.github/images/union-logo-black.svg"> <img alt="Union" src="./.github/images/union-logo-black.svg" width="100%"> </picture> </div> <br/> <div align="center">

built with garnix Docs Discord badge Twitter handle

</div>

Union is the hyper-efficient zero-knowledge infrastructure layer for general message passing, asset transfers, NFTs, and DeFi. Its based on Consensus Verification and has no dependencies on trusted third parties, oracles, multi-signatures or MPC. It implements IBC for compatibility with Cosmos chains and connects to EVM chains like Ethereum, Berachain (beacon-kit), Arbitrum, and more.

The upgradability of contracts on other chains, connections, token configurations, and evolution of the protocol will all be controlled by decentralized governance, aligning the priorities of Union with its users, validators, and operators.

Components

ComponentDescriptionLanguage(s)
uniondThe Union node implementation, using CometBLSGo
galoisdThe zero-knowledge prover implementationGo Gnark
voyagerModular hyper-performant cross-ecosystem relayerRust
cosmwasmCosmWasm smart contract stackRust
light-clientsLight Clients for various ecosystemsRust
unionvisorNode supervisor intended for production usageRust
dripFaucet for Cosmos chains: app.union.build/faucetRust
evmEVM smart contract stackSolidity
appapp.union.buildTypeScript Svelte
siteunion.buildTypeScript Astro
TypeScript SDKTypeScript SDK for interacting with UnionTypeScript

Quickstart

Install Nix to reproducibly build any component, and to enter a dev shell with all dependencies:

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

(Note that some components can only be built on Linux. If you are using macOS, we recommend using OrbStack to easily set up a NixOS VM within two minutes. Most Union developers use macOS with OrbStack, and there is no need to install Nix inside of the NixOS VM.)

You can now reproducibly build any of Union's components from source:

nix build .#uniond -L
nix build .#voyager -L
nix build .#app -L

# to see all packages, run:
nix flake show

The result of whatever you build will be in result/

You can now also enter our dev shell, which has all of the dependencies (cargo, rustc, node, go, etc.) you need to work on any component: (Don't worry, this will not affect your system outside of this repo)

nix develop

Run the following to format the entire repo and check your spelling before each PR:

nix run .#pre-commit -L

Check the #developers channel on Union's discord if you need any help with this.

Supported Chains

NetworkMainnetsTestnets
Arbitrumarbitrum.42161arbitrum.421614
Babylonbabylon.bbn-1babylon.bbn-test-6
Basebase.8453base.84532
Berachainberachain.80094berachain.80069
Bobbob.60808bob.808813
BSCbsc.56bsc.97
Corncorn.21000000corn.21000001
Ethereumethereum.1ethereum.11155111, ethereum.560048
Osmosisosmosis.osmosis-1osmosis.osmo-test-5
Seisei.pacific-1, sei.1329sei.atlantic-2, sei.1328
Sui-sui.4c78adac
Unionunion.union-1union.union-testnet-10
Xionxion.xion-mainnet-1xion.xion-testnet-2

For the full list see https://docs.union.build/ucs/04/

Docs

The official docs are hosted here. Each individual component also has accompanying developer documentation for contributors, which you can find in each README.md.