// the find
unionlabs/union
The trust-minimized, zero-knowledge bridging protocol, designed for censorship resistance, extremely high security, and usage in decentralized finance.
Union is a ZK-based cross-chain bridging protocol that connects Cosmos and EVM chains without trusted third parties, oracles, or multisigs. It implements IBC for Cosmos compatibility and uses consensus verification via BLS12-381 ZK proofs to bridge to Ethereum, Arbitrum, Base, and a dozen other chains. Aimed at DeFi protocols and infrastructure teams who need trust-minimized cross-chain messaging.
The ZK consensus verification approach (CometBLS + gnark prover) is architecturally sound — you're verifying actual validator set signatures rather than trusting a committee, which is a genuine security improvement over most bridge designs. The Voyager relayer is modular Rust with a plugin architecture, making it extensible to new chains without forking the core. Nix-based reproducible builds across a mixed Go/Rust/Solidity/TypeScript monorepo is genuinely impressive and rare at this scale. Mainnet support across 13+ chains with a working TypeScript SDK means this isn't vaporware — there's real deployed infrastructure.
The ZK proof generation via galoisd is the critical bottleneck — proving latency directly affects bridge finality, and the repo gives no benchmarks or SLAs for how long a cross-chain message actually takes end-to-end. The monorepo mixes Go, Rust, Solidity, Move, and TypeScript which means the reviewer surface for security audits is enormous; a subtle bug in the gnark circuit or the Solidity verifier contract can break the trust-minimization guarantee entirely. The app2 frontend has a significant amount of dashboard/gamification code (missions, achievements, leaderboard) that reads like it was built for an airdrop campaign, not a serious infrastructure product. Documentation exists but the architecture doc is thin — understanding how the ZK verifier keys are generated, rotated, and whose job it is to upgrade the verifier contract on each chain requires deep source reading.