Zcash → Venmo, in minutes

Send them dollars.
Pay in ZEC.

Type their Venmo handle and send ZEC to one address. Your coins wait in an escrow on Zcash that only you can refund while zpay pays their Venmo and proves it. Under $50, the dollars go out after ten confirmations, about twelve minutes. They never touch crypto. No swap, no bridge, no token, and no account on either end.

escrow on Zcash 0.15% fee refund needs nobody Venmo today mainnet since 2026-09-05
quote live rate
ZEC
they receive on
type an amount to see what lands in their Venmo
Continue in the app

Net of the 0.15% fee and the Zcash network fee. The app holds a fresh price for five minutes once you start.

rateUSD per ZEC
payments completedpaid on Venmo, proven, released
settledUS dollars released from escrow
open orderswaiting for ZEC
last paymentfirst one on 2026-09-05
how it works

Two keys, one address, one proof

Your ZEC goes to one Zcash address that is a script, not a contract. Two keys release it: yours and zpay's. After a deadline, your key alone refunds it. zpay pays the Venmo, proves it, and only then can the release be signed. Paying your own handle is the same flow.

01

Type their handle, get an address

Enter the recipient's Venmo username and an amount. The page makes a key in your browser and never sends it anywhere. zpay answers with the escrow address, and the page rebuilds that address from your key, zpay's key and the refund height, and refuses the order if it differs.

@handleyour keyescrow address
02

Send ZEC, then close the tab

Send the quoted amount from any Zcash wallet. As soon as your transaction is in the mempool, the page signs its half of the release: a signature that only completes once the dollars are proven paid. Leave the page open until it says locked, then close it. At ten confirmations for anything under $50, zpay sends the dollars from its own Venmo to the handle you typed.

ZEC10 confirmationsVenmo
03

The payment is proven, the escrow releases

zpay asks zk-p2p's enclave to attest the Venmo payment: amount, payee and time, read from the Venmo feed. The attestor checks that attestation and signs the outcome. That signature completes the one you made in step two, and zpay broadcasts the release. If nobody proves a payment before the deadline, your key refunds the ZEC and no one else needs to sign.

Venmoenclave attestationrelease
ZEC leaves a shielded wallet into a Zcash escrow address that two keys release and the sender alone refunds after a deadline. zpay pays the recipient's Venmo, zk-p2p's enclave attests the payment, the attestor signs the outcome, and that signature completes the sender's pre-signature so the release can be broadcast. you shielded wallet escrow address 2 keys; yours after T zpay waits, then pays Venmo their Venmo dollars arrive here ZEC confirmed pays enclave attests the payment attestor checks it, signs outcome release your half completes replayed attests signs spends it; with no proof by the deadline, your key refunds
custody

Who holds what, and for how long

Three things stand between your wallet and their Venmo. What each one can and cannot do is read off the script and the pinned keys, not off a promise.

The escrow

A transparent Zcash address whose script has two branches. Before the deadline it spends only with your signature and zpay's together. After the deadline, 1,152 blocks from the lock, about 24 hours, it spends with your signature alone. There is no third key, no admin and no upgrade.

The refund is signed in your browser by your key. If zpay is unreachable, any Zcash node will broadcast it. The recipient signs nothing and needs no wallet.

Holds: your ZEC until release or refund. Escape hatch: the refund branch, yours alone after the deadline.

zpay, the payer

zpay fronts the dollars from its own Venmo and is repaid in ZEC out of the escrow. Its key is one of the two on the release, so it can never spend your ZEC by itself, and it never holds your coins before or after the trade. What it does hold is your pre-signature, which is inert until the attestor signs a payment.

Holds: nothing of yours. Trusted for: sending the dollars. If it does not, you refund.

The proof

A Venmo payment is not a chain event, so the release needs two signatures from outside it: zk-p2p's Nitro enclave attests the amount, payee and time from the Venmo feed, and an attestor whose key is pinned in the app checks that attestation and signs the outcome. Without both, the release cannot be completed.

What this does not protect against: the attestor and zpay together signing a payment that never happened. Today one operator runs both. The attestor holds no key over the funds and no escrow secret; it signs statements.

Holds: nothing. Trusted for: saying a payment happened.
fees

What comes out of what they receive

Type a dollar amount in the app and that is what they receive; the fees are added to the ZEC you send. Type a ZEC amount and the fees come out of it. Either way the quote shows every line before you send.

lineamountwho takes it
zpay fee 0.15% A share of the escrow, paid to zpay's treasury as an output of the release transaction.
Zcash network fee 15,000 zatoshi The ZIP 317 fee for the release transaction. Fixed by the transaction's shape, not by zpay.Around $0.17 at $1,140 per ZEC. On small amounts this is the larger of the two.
rate market less 0.5% The ZEC price is read from Coinbase and Kraken together, and the lower one wins when they disagree. zpay's margin is the spread, shown as the rate line before you start.
gas $0 There is no second chain. The one Zcash fee above is the whole cost of settlement.
limits

What zpay does not do yet

Better to read this here than to find it after sending.

Venmo only, for now

zpay pays Venmo. The enclave that attests payments knows eleven platforms, and each one needs its own payee lookup and payment driver before it turns on here.

VenmoCash AppPayPalZelleWiseRevolutMonzoChimeMonobankAlipayUPI

Small amounts only

zpay fronts the dollars from its own Venmo balance, so one payment is capped at what that balance covers. The quote refuses anything above the cap and tells you the number.

Bigger amounts wait longer

zpay pays once the escrow is deep enough that reversing it would cost more than the trade. Up to $50 that is ten confirmations, about twelve minutes at 75-second blocks. From $50 to $500 it is thirty, about 38 minutes. Above $500 it is a hundred, about two hours, the depth at which Zcash nodes refuse a reorg outright.

The tab stays open until it says locked

The page holds the key that signs your half of the release, and there is no other copy. It signs as soon as your transaction reaches the mempool, before the first confirmation. Close the tab before that and nobody can sign; the ZEC then comes back to you at the deadline instead of paying anyone. Keep the status link either way: it is the only thing that can refund.

Their handle is not private

zpay looks the handle up with zk-p2p's curator to get the payee hash the enclave attests against, and the curator answers that hash to anyone who asks. The escrow is a transparent address, so the amount and the time are on the chain in the clear. Send from a shielded pool if you care about where the ZEC came from, and shield the refund afterwards if you get one.

The refund is transparent

If nobody pays, the page signs a refund to a transparent Zcash address you give it. Shield it from your wallet afterwards. The coordinator refuses orders under 0.0012 ZEC.

liquidity

Be the one who pays. Keep the spread.

An order is ZEC locked in a script with the payer's key as the second signer. Whoever holds that key fronts the dollars, proves the payment, and collects the ZEC at the market rate less the spread. Today that key is zpay's. The daemon that watches, pays and proves is the same code the taker page describes.