Skip to content

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

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

unionlabs/union

Folders and files

NameName
Last commit message
Last commit date
Apr 13, 2025
Mar 16, 2025
Apr 3, 2025
Feb 11, 2025
Apr 23, 2025
Feb 26, 2025
Mar 24, 2025
Apr 24, 2025
Apr 24, 2025
Apr 21, 2025
Apr 19, 2025
Apr 21, 2025
Apr 21, 2025
Apr 21, 2025
Mar 24, 2025
Apr 21, 2025
Apr 23, 2025
Apr 21, 2025
Apr 7, 2025
Apr 21, 2025
Apr 1, 2025
Mar 24, 2025
Apr 10, 2025
Feb 25, 2025
Apr 21, 2025
Apr 22, 2025
Apr 18, 2025
Mar 24, 2025
Apr 17, 2025
Mar 6, 2025
Apr 21, 2025
Mar 24, 2025
Nov 23, 2024
Sep 25, 2024
Feb 6, 2025
Apr 14, 2025
Nov 17, 2023
Jul 28, 2023
Apr 22, 2025
Dec 17, 2024
Apr 23, 2025
Apr 21, 2025
Aug 15, 2024
Aug 15, 2024
Apr 13, 2025
Sep 24, 2024
Nov 23, 2024
Jan 14, 2025
Mar 24, 2025
Apr 2, 2025
Apr 22, 2025
Apr 10, 2025
Apr 19, 2025
Apr 10, 2025
Apr 18, 2025
Apr 1, 2025
Jan 8, 2025
Jan 15, 2024
Mar 24, 2025
Apr 10, 2025
Apr 1, 2025
Apr 1, 2025
Apr 10, 2025
Apr 10, 2025
Apr 10, 2025
Apr 10, 2025

Repository files navigation

Union

built with garnix Docs Discord badge Twitter handle

Union is the hyper-efficient zero-knowledge infrastructure layer for general message passing, asset transfers, NFTs, and DeFi. It’s 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

Component Description Language(s)
uniond The Union node implementation, using CometBLS Go
galoisd The zero-knowledge prover implementation Go Gnark
voyager Modular hyper-performant cross-ecosystem relayer Rust
hubble Multi-ecosystem, GMP-enabled chain indexer Rust
cosmwasm CosmWasm smart contract stack Rust
light-clients Light Clients for various ecosystems Rust
unionvisor Node supervisor intended for production usage Rust
drip Faucet for Cosmos chains: app.union.build/faucet Rust
evm EVM smart contract stack Solidity
app app.union.build TypeScript Svelte
site union.build TypeScript Astro
TypeScript SDK TypeScript SDK for interacting with Union TypeScript

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.

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.