Search

Search for projects by name or address

Privacy

Zcash via NEAR Intents logo
Zcash via NEAR Intents

This route has no Ethereum contracts. Real-time monitoring is not supported.

About

A round trip from Ethereum into shielded ZEC and back through NEAR Intents, so that Zcash's shielded pool serves as the privacy pool.


  • Markdown
  • Metrics
    Not trackedData tracking is not available for this project.

  • Trusted setup
  • Exit window
  • Privacy
    Link privacy
  • Reproducibility

  • Tracked on
    Ethereum logo
  • Attributes
    BridgedZKTransfersAny amount

  • About

    A round trip from Ethereum into shielded ZEC and back through NEAR Intents, so that Zcash's shielded pool serves as the privacy pool.

    Zcash via NEAR Intents touches three blockchains, but can be abstracted as a privacy pool with Ethereum as its base: Ethereum assets are bridged to the NEAR Intents ledger, swapped into ZEC and paid out into Zcash’s shielded pool, where the actual privacy lives. To come back, the ZEC is sent to a fresh NEAR Intents deposit address, swapped and withdrawn to any Ethereum address. The reference clientSometimes labelled interchangeably as a “node”, they are tasked with processing transactions and managing the blockchains's state. They run the computations for each transaction according to the rollup's virtual machine and protocol rules. If comparing to Ethereum clients, these would be execution clients such as Geth, as opposed to consensus clients. is Zodl (formerly Zashi), the Electric Coin Company’s self-custodial wallet, which embeds the NEAR Intents swap directly and pays out into shielded addresses.

    Flow

    1. Ethereum to NEAR Intents. Each swap quote from the 1Click API comes with a fresh Ethereum deposit EOA. The user sends ETH or an ERC-20 there. The operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades.’s so-called Proof-of-Authority (PoA) bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge., in practice a custodial bridge with a single admin key, sweeps the funds into its treasury account 0x2CfF…2680, also an EOA, and mints a wrapped token (eth.omft.near or eth-0x…omft.near) on NEAR. There is no multisig or onchain verification on either side. The mint memo names the Ethereum transaction hashA fixed-length fingerprint of variable-size input, produced by a hash function..
    2. Swap to ZEC. Market makers quote off-chain through a relay run by the operator. The winning quote settles atomically in the VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract intents.near. Every balance and swap is public state on the NEAR blockchain.
    3. Withdraw into Zcash. The wrapped ZEC (zec.omft.near) is burned through the Zcash connector zcash-connector.bridge.near, which builds a transaction from bridge UTXOs and has it signed by NEAR’s MPC networkA constellation of nodes (peers) that communicate via a peer-to-peer protocol, for example, in propagating transactions and blocks to other nodes. (v1.signer, 11/17 signers). The payout can be a shielded Orchard output into the Ironwood pool. Zodl requests a fresh shielded address for every swap. The recipient address is published in the burn message on NEAR.
    4. Inside Zcash. The ZEC now sits in the shielded pool. Transfers inside the pool hide sender, recipient and amount.
    5. Back to Ethereum. The user sends ZEC from the pool to a fresh bridge deposit address, a transparent address derived by the connector from the quote. A whitelisted relayer proves the deposit against the Zcash light client zcash-client.bridge.near on NEAR, wrapped ZEC is minted and swapped, and the custodial bridge operator pays the Ethereum recipient from its treasury.

    Privacy considerations

    Nothing on Ethereum or NEAR is hidden: the Ethereum sender, asset and amount, the swap, the Zcash payout address and the Zcash amount are all public, and the same holds for the return leg. The only privacy the route offers is that the shielded pool breaks the link between the ZEC paid out in step 3 and the ZEC deposited in step 5. The connector requires every shielded payout to be encrypted with an all-zero outgoing viewing key so that the contract can check it, which means anyone can decrypt the paid address and amount of every NEAR Intents payout. And the amounts that enter and leave the pool are public, so a round trip of similar size within a short time is linkable by the well-known Zcash round-trip heuristic.

    The Zcash side of the flow is only as private as the wallet. Zodl syncs through public lightwalletd servers and offers Tor as an opt-in setting. The 1Click API sees the IP address and both addresses of every leg.

    Custody and control

    The Ethereum leg is fully custodial: the treasury and deposit addresses are EOAs controlled by the operator, and a single key (bridge-mng.near) mints the wrapped tokens. Deposits and withdrawals on the Ethereum side are executed by off-chain services. The Verifier lets two single-key accounts and the DAO freeze any account’s balance, which the operator uses for compliance holds. On Zcash, funds are held by MPC-derived addresses, deposits are verified against an on-chain light client, and an unverified deposit can be refunded permissionlessly after a two-day timelock. Normal withdrawals still need a whitelisted relayer to trigger the MPC signature.

    Fees

    The Verifier charges 1 pip (0.0001%) per swap. The 1Click API adds 0.25% (25 bps) for unauthenticated integrators and 0.20% (20 bps) for authenticated ones such as wallets, which may add their own fee on top. Each leg also carries a bridge withdrawal fee, currently 0.000035 ETH on Ethereum and 0.00032 ZEC on Zcash.

    Compliance

    Intents Technology Ltd. (British Virgin Islands) screens every quote against the NEAR Intents AML portal, Binance AML, AMLBot, PureFi and TRM Labs. Its terms allow it to delay, blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. or freeze bridged funds, collect IP and wallet addresses, and geoblock a list of jurisdictions. Market makers must pass KYB. No KYC is asked of end users, but funds have been held for weeks during compliance reviews, and swaps were paused network-wide after the Rhea Finance exploit in April 2026.

    Anonymity setIn privacy protocols, anonymity set denotes all users, to which a particular withdrawal could be plausibly attributed. Anonymity set depends on a particular withdrawal, the size of the anonymity set is a metric for level of user's privacy.

    The anonymity set is the Zcash Ironwood shielded pool. Because payout and deposit amounts are public at the pool edge, the effective set behind a user’s exit is the set of pool entries (public on NEAR) that could match it in amount and time, not the whole pool.

    What the protocol promises: Hides which funds leaving Ethereum come back as which, by passing through Zcash's shielded pool. Everything on Ethereum and NEAR is public.

    On public blockchains like Ethereum, all actions transparent by default. A privacy protocol can at best cut the link between addresses or offer privacy while deposited. The colour says whether a careful user can keep the link, amount or recipient private against that adversary: green yes, yellow only outside supported options or by accepting another leak, red no. Fields marked at risk stay private only under the condition in their note.

    Link private

    Nothing ties the ZEC that enters the shielded pool to the ZEC that leaves it. Everything up to the pool edge is public: the Ethereum deposit, the NEAR ledger entries that credit, swap and withdraw it, and the Zcash address and amount of every payout, which the bridge encrypts so that anyone can decrypt them.

    Advice: Receive the ZEC straight into a fresh shielded address, as Zodl does per swap, and pay the return leg from the pool. The web app pays transparent addresses only, which adds a public shielding step.

    InsideSenderprivateRecipientat riskAmountprivateAssetexposedLinkprivate
    Link private

    The amount paid into the pool and the amount later sent to a bridge deposit address are both public with their timing, so a round trip of similar size within hours pairs them. Deposit addresses are fresh per quote but spent together with the bridge change address, so every exit is attributable to NEAR Intents.

    Advice: Hold the ZEC in the pool for days, split or merge it with other shielded funds, and swap back amounts that match no payout.

    Compared with a public observer
    InsideRecipientat riskAssetexposedLinkat risk
    Link at risk

    Zodl syncs through public lightwalletd servers, which see which transactions the wallet fetches and broadcasts, and so the payout and the later exit of the same wallet. Tor covers these calls and the swap requests including session isolation but is opt-in and does not cover block sync.

    Advice: Turn on Tor in Zodl before the first swap.

    Compared with a public observer
    InsideRecipientat riskAssetexposedLinkat risk
    Link exposed

    The Operator runs the 1Click bridge API, the Ethereum custody and the screening, so both legs sit in its logs with the IP address and wallet identifiers of each request, plus the fresh Zcash refund address Zodl attaches to every swap out of ZEC. It has no key into the shielded pool, so joining the legs still needs IP or timing. It screens every address with KYT vendors, can lock any account and can hold bridged funds.

    Advice: Always use the Zodl Tor feature, wait some time in the shielded pool and use amounts that do not match.

    Compared with a public observer
    InsideRecipientprivateAssetexposedLinkat risk
    Link exposed

    All of an account's rotated addresses share one incoming viewing key on the Pallas curve, and every payout address is public on NEAR. A quantum computer recovers that key from any one address and decrypts every note the account ever received, including the change notes of its exits, which joins both legs of every round trip. Ironwood's quantum-recoverable notes protect funds, not privacy.

    Advice: Use a separate Zodl account per round trip, so one recovered key exposes only that trip.

    Compared with a public observer
    InsideSenderat riskRecipientexposedAmountexposedAssetexposedLinkexposed

    Funds can be stolen if

    1. the custodial bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades.’s single mint key or its Ethereum treasury key is compromised.
    2. 4/5 NEAR Intents DAO council members upgrade the VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. maliciously.
    3. 3/5 Rainbow Bridge DAO council members upgrade the Zcash connector, its token or the light clientSometimes labelled interchangeably as a “node”, they are tasked with processing transactions and managing the blockchains's state. They run the computations for each transaction according to the rollup's virtual machine and protocol rules. If comparing to Ethereum clients, these would be execution clients such as Geth, as opposed to consensus clients. maliciously.
    4. 11/17 NEAR MPC nodes collude to sign Zcash transactions from bridge addresses.

    Funds can be frozen if

    1. the DAO or one of the two single-key account lockers freezes the user’s account in the Verifier.
    2. the custodial bridge operator freezes a deposit or withdrawal for a compliance review.
    3. the whitelisted relayers stop proving Zcash deposits or triggering Zcash withdrawals.

    Privacy can be lost if

    1. the ZEC is swapped back in an amount and at a time that matches the payout; both are public at the edge of the shielded pool.
    2. the same Zcash address receives more than one payout, since every payout note is decryptable by anyone.
    3. the operator or its screening vendors join the two legs through IP address, session or partner key. Tor is off by default in Zodl.
    4. the lightwalletd server links the wallet’s fetch of the payout transaction with its later broadcast of the exit.
    5. elliptic-curve cryptography is broken: all of an account’s addresses share one incoming viewing key, and the addresses are public.

    The route touches three governed systems. None of them has an onchain delay that a user could rely on, and the Ethereum side has no contracts at all.

    NEAR Intents VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. (intents.near)

    The Verifier is a NEAR contract with near-plugins roles. intents.sputnik-dao.near, a Sputnik DAO with five council members and a 4/5 threshold, holds the DAO role and is super admin, so it can grant every other role. Upgrades go through ctl-intents.near, a controller contract whose only admin is the same DAO. A passed proposal deploys the new code at once. Six accounts hold PauseManager and can halt all swaps and withdrawals. Nobody holds UnpauseManager, so only the DAO can resume. Two EOAs each hold UnrestrictedAccountLocker and can lock any user account, which stops its intents and withdrawals while deposits keep arriving, only the DAO can unlock.

    Custodial “PoA” bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. (omft.near, eth.omft.near)

    Despite the name, nothing here is a proof-of-authority consensusAn agreement on the latest and correct state of a blockchain. Unlike L1 blockchains which coordinate participating nodes with consensus rules, rollups rely on L1s for reaching consensus by checking the state of the rollup smart contract deployed thereon. or a multisig. The poa-factory contract omft.near deploys one token per bridged asset and mints on the permission of TokenDepositer: bridge-mng.near, an EOA, and int-mnt-dao.sputnik-dao.near, a three-member DAO whose members can each execute a call alone. The same DAO as above is super admin. Nothing on NEAR verifies that a mint is backed. On Ethereum the funds sit in the escrow 0x2CfF…2680 and in per-quote deposit accounts, all plain EOAs.

    Zcash connector (zcash-connector.bridge.near, zec.omft.near, zcash-client.bridge.near)

    The connector, the token’s controller and the light clientSometimes labelled interchangeably as a “node”, they are tasked with processing transactions and managing the blockchains's state. They run the computations for each transaction according to the rollup's virtual machine and protocol rules. If comparing to Ethereum clients, these would be execution clients such as Geth, as opposed to consensus clients. are all governed by rainbowbridge.sputnik-dao.near, a Sputnik DAO with five council members and a 3/5 threshold. bridge-ops.near (five EOAs) can stage code, pause the connector and run migrations; pm.bridge.near can pause. Deposits are credited only after omni-relayer.bridge.near or intents-relayer.near submit an inclusion proof against the light client, whose headers are relayed by zcash-relayer.near. Withdrawals are signed by the NEAR MPC networkA constellation of nodes (peers) that communicate via a peer-to-peer protocol, for example, in propagating transactions and blocks to other nodes. v1.signer (11/17, see the MPC operators page) on request of a whitelisted relayer. A user cannot trigger the signature alone. The one permissionlessAnyone willing should be able to join and leave the network at any time, without causing significant disturbance to the network or being detrimental to the party in question. No single entity should have the power to allowlist or blocklist participants. path is a refund of a deposit that was never credited, executable by anyone after a two-day timelock (fourteen days when the relayer has flagged the request). Bridge fees are 0.0001 ZEC minimum per deposit and withdrawal, adjustable by the DAO.

    Transparent setup

    Halo2

    Detailed description

    Transparent proving systems require no trusted setups and have no additional setup-related trust assumptions.