Skip to main content
  • Decision Makers
  • Security Researchers
  • Engineers
Union Private Payments leverages zero knowledge proofs to provide composable, private transfers.

Composable

Most privacy solutions require moving funds into a dedicated chain or L2, or alter the address format of the wallet. This introduces fragmentation and makes the app segregated from existing onchain infrastructure.With Union, users still operate on regular, native addresses. This allows existing applications to operate on private transfers without needing special integration. Private transfers are available on (almost) all EVM chains, increasing the distribution availibilty for products leveraging privacy.

Privacy Guarantees

Union Private Payments give the same guarantees as bank transfers. Regulators can request access to participants in the system within their jurisdiction, allowing for products integrating privacy to be fully compliant. Union Private Payments are not a tool for money laundering and complies with AML regulations.

System Overview

A private transfer leveraging Union Private Payments uses a triparty system:
  • sender
  • receiver
  • attestor
The sender initiates the private transfer, either by generating a deposit address for the receiver, or by collecting the address from the receiver. This allows the protocol to function for exchange deposits, withdrawals, and peer-to-peer transfers. For existing applications, deposit and withdrawal flows have the same user experience and do not require frontend changes.Each asset is configured with an attestor. The attestor is a third party required to generate deposit address. This allows transfers with asset specific compliance, taking into account MiCA or the Genius Act.When this is not required, assets can be configured without an attestor, making the transfer process equal to an ERC-20 transfer.

Zero knowledge proofs

The core cryptographic primitive allowing for private transfers is based on zero knowledge proofs (ZKPs). This allows the protocol to verify onchain that a transfer is valid, without disclosing the sender, receiver, chain or amount. The sender and receiver always have access to this information, allowing applications to maintain transaction histories.