Grant Application - P2P Cash-to-ZEC Onboarding via Bank CDMs

Hey Zcash Community,

I’ve submitted a grant application to build Z-CDM, a mobile P2P ramp allowing Indian users to convert physical paper cash directly into ZEC using bank Cash Deposit Machines (CDMs) and cardless ATM withdrawals.

Why This Needs to Exist

Entering crypto via traditional digital P2P rails (UPI/IMPS) has become a nightmare due to cascading cyber-cell bank freezes. At the same time, using transparent chains for P2P doxxes users by permanently tying their bank details to public ledgers.

Physical cash kiosks solve the freeze problem, and Zcash’s shielded pools solve the privacy problem.

1 Like

I’m sorry, NEAR escrow contracts? As in the same NEAR contracts as in My experience exiting shielded ZEC from Zodl to NEAR Intents: $589k USDT still held 50 days despite a written compliance clearance , which is clearly not trustless and the validators can just unilaterally REFUSE to sign transactions?

Personally, this proposal is too unreliable, for multiple purposes: (a) contrary to what this post claims, it uses transparent addresses (which it hopes the wallet will CONVERT to shielded), which leak metadata on the chain, and more importantly, it links it to you REAL WORLD IDENTITY. It is trivial for the bank to link the CDM transaction amounts and time to the transparent deposit time.

Discounting that, (b) “The funds can only be released with cryptographic confirmation of fiat settlement (seller confirmation).” WHAT? Then it’s not cryptographic, it’s just when seller wishes! What if the seller never wishes to release funds? Do the funds just return? If so, what prevents the seller from just taking the funds regardless of whether the buyer has gotten funds or not? How does the contract verify the bank transaction happened anonymously?

It’s like Swiss cheese but full of regulatory hurdles, each of which can land you several years in prison.

God I would love to see this done in the US. They’d classify it as an unlicensed money transmitter so fast it’d create a sonic boom, and then you get to see Roman Semenov 2.0

That involved a $589k transfer, which might have triggered their automated AML circuit breakers. This is strictly for retail cash trades, hard-capped at ~$580 USD /tx by nature. At this micro-scale, the validator censorship risk is exponentially lower.

If a person uses their main wallet address to on-ramp, sure, but doesn’t it make sense to use a burner address or a separate address for the on-ramp, shield it, and then send it to your main wallet? The existing solutions all use ETH/BTC, which, even if you use a burner address, can still be linked back to your main wallet.

Disputes are manual; they are not automatic. If a buyer sees the amount withdrawn from the bank but the funds are not released, they can raise a dispute with video proof of their banking app or the CDM process. Recording a video of the cash deposit or withdrawal is recommended for disputes, especially when dealing with low-reputation or new users, as a scammer would not be able to produce one. It is definitely centralized in that sense I am not claiming otherwise.

Also, it is non-custodial. In the worst-case scenario, if it comes under regulatory scrutiny, it might require KYC-only users. It is not intended to be a money-laundering machine; it is meant to solve the issue of bank freezes and provide an easy on-ramp to a privacy coin.

So not only is it not anonymous, it actively links your identity to the withdrawal on all sides, completely and utterly negating the “using transparent chains for P2P doxxes users by permanently tying their bank details to public ledgers” point. Further, say I do raise a dispute. HOW DO YOU RESOLVE IT? You claim trustless security. Meaning the contract won’t allow anyone that’s not a party to the contract to interfere. You are not a party to the contract. How can the contract then release funds, even if the dispute is somehow resolved?

So we’re going with the grand argument of “too little to prosecute”. Hmm, I seem to recall a certain 0.1 ETH pool that was sanctioned, what was it? Tornado.cash’s 0.1 ETH pool! On the other hand, I retract my comments about regulatory scrutiny. As centralised and easy to track this platform is, law enforcement will probably send you a letter of appreciation instead.

One word. AI video generation. That’s three words, actually.

So the solution is to use a bank CDM, which is the most non-anonymous, regulatory, subpoena-able thing possible? They have CCTV cameras and in many instances, armed guard!

You are not anonymous to the government, nor to the admins (in the event of a dispute).

The goal here is counterparty privacy ensuring the person you are trading with cannot look up your transaction and say: “Hey, this real-world person X who just sold me $500 of crypto has $200k sitting in their on-chain wallet.”

So the solution is to use a bank CDM, which is the most non-anonymous, regulatory, subpoena-able thing possible? They have CCTV cameras and in many instances, armed guard!

Yes and that is actually a feature, not a bug. It heavily deters scammers.

To someone in the US, this might not make much sense because you can simply buy directly from Coinbase. In India, it is nowhere near that simple.

Using digital bank transfers (UPI/IMPS) carries a massive cascading freeze risk:

  • Crypto moves from Seller (D) to Buyer (A).

  • Digital fiat moves through multiple hops: A → B → C → D.

  • If A is a scammer using a stolen ID or mule account, they receive the crypto and then immediately file a fraudulent police/bank complaint claiming they were scammed.

  • The cyber cell traces the digital trail. Because accounts B and C are already drained, the bank places a lien on D, freezing D’s legitimate funds and bank account.

The CDM cash deposit method completely breaks this digital chain and avoids the account freeze issue entirely.

AI video generation sounds cool in theory but i would love to see this in practice there are just too many intricate details for this kind of video its an imaginary problem for now

That is… not offered by your solution at all? The address who started the escrow is logged, Ethereum is not a private chain, and shielded ZEC has no contract capability. Unless you bridge ZEC to ETH first, in which case its two projects Frankenstein’d together (ZEC → ETH swap and an ETH escrow), one you’re not solving and the other is not relevant for funding within ZCG’s scope.

Let me just. Read it back to yourselves. You are, quite literally, proposing digital Hawala EXPLICITLY to evade justice. Which brings me back to point (a)… at this point I’m not even sure why I bother.

Just for dramatic effect, this was Tornado Cash’s proposition:

Using traditional wire transfers, or even cryptocurrency transfers, carries a massive, cascading freeze risk.

  • Crypto moves from seller (D) to buyer (A).
  • Seller’s crypto jumps from multiple hops: A → B → C → D.
  • If A is a scammer who scammed someone, their address is flagged by Chainalysis and that means C, B and D’s accounts are also frozen.

The revolutionary zero-knowledge Merkle-tree method completely breaks this digital chain and avoids the address freeze issue entirely.

Wow, I guess ZCG should fund this. Roman Semyenov, where are you?

EDIT: To clarify, this doesn’t apply to Zcash because in Zcash, you’re hiding who sent ZEC to someone. Since ZEC is a native token of Zcash, Zcash is free to hide the trail, since it is not a crime to build such an instrument. However, once you cross into regulated territory where it IS a crime to hide your trail… and it certainly is like 5 felonies to hide the trail of legitimate fiat intentionally to evade justice, REGARDLESS of what your opinion about the dumbness of the law is.

Sending someone a code to withdraw cash from your bank account is not illegal as a matter of fact, it is an official feature that banks actively provide and promote (e.g., IMT, Cardless Cash). People across India use it every day to conduct interstate cash-based business. Whether a user chooses to report their sold assets or evade taxes is between them and the tax authority; that is their legal responsibility, not the software’s concern.

The probability of getting scammed here is remarkably low. It would realistically only happen if:

  1. The human mediator is somehow fooled by an AI-generated deepfake video in a dispute, or
  2. The seller releases the crypto without actually verifying cash in hand or in their account which is user error.

As you pointed out, committing fraud in person under 24/7 CCTV surveillance at an ATM with armed guards introduces immense physical friction and risk for a scammer. One police complaint with a timestamped terminal log, and they are caught on camera. On the other hand, good luck tracking down an online scammer who used a stolen identity to spin up a digital mule account, took the crypto, and then filed a fraudulent chargeback with the bank. Why should Seller D suffer a frozen bank account simply because intermediary B transacted with Scammer A upstream? It completely wrecks innocent users.

Comparing this to Tornado Cash makes no sense. They aren’t remotely the same thing. This setup relies on physical paper trails, uses centralized mediation for disputes, operates non-custodially, and provides privacy strictly against the counterparty. The CDM method is already widely used across India today it’s just fragmented across unvetted Telegram groups and transacted on transparent chains. This platform simply brings structure, safety, and proper shielded tech to an existing, massive market.

You do know that’s not how legal liability works right? Binance was sanctioned in India for facilitating trade of cryptocurrency fully legitimately simply because it did not fulfill the concerns of regulatory authorities.

You said in your original post, and I quote, “At the same time, using transparent chains for P2P doxxes users by permanently tying their bank details to public ledgers.”. If you are explicitly saying this is both regulated and centralised, then how is it:

a) Trustless
b) Anonymous
c) Privacy-preserving

That is my question.

The second being, HOW can a trustless contract have mediators? Did you blatantly lie in your application?

You’re right to point that out: it isn’t completely trustless in the rare case of a dispute, though in the vast majority of instances a mediator has no ability to intervene. Don’t think its possible for external dependencies to be 100% trustless.

To clarify, the privacy is strictly counterparty-focused. If ‘Joe’ buys $1,000 crypto from you, he might learn your real name or vice versa (depends if you’re withdrawing cash or asking him to deposit in your acc) . But because the crypto settles via Zcash rather than a transparent chain, Joe(not ZachXBT) has absolutely no way to look up your wallet on a block explorer and see that you have $100k sitting on Hyperliquid reducing the risk of $5 attack. You’re not anonymous to fact that you and joe exchanged $1000, not to joe, mediators or government. The point is that onboarding directly into Zcash makes moving into shielded pools much simpler hiding your real onchain nw. Now do that with ethereum chains, are you likely to take the effort to shield using complicated/abandoned risky privacy protocols or just send it to your defi wallet and use it right away.

Ultimately, this project is about solving a massive, immediate pain point. If you just Google or search in twitter “P2P bank freeze,” you will find hundreds of posts from desperate users whose accounts were locked due to digital P2P trades. Right now, Indian users are either forced to trade strictly within small, fragmented trusted groups, or they are already using this exact physical cash method.

To date, this physical cash method has resulted in zero bank freezes. There are no widespread scams because the physical risk is too high, and cash deposits/withdrawals are irreversible.

Nobody else is actively tackling this specific problem for the Indian market. While I could build this solo in the dark, being backed by a Zcash community grant provides the legitimacy, trust, and network effects required to actually bootstrap liquidity and onboard a real user base

So let me get this straight. If they only knew your crypto address, something that is completely unlinkable to your identity, then you’d be at risk, but giving your full name, full address, social media profiles, your entire digital footprint, which will easily allow them to ascertain your level of wealth, your place of employment, the opportunities to doxx you, report you to authorities, is fine?

Just… wow.

The entire point of a trusted group is you… trust the person. If you already trust them not to run away with your money, you don’t NEED NEAR Intents or a “trustless contract”. On the other hand, you are connecting random people, who can easily be government agents or maybe a thief who’s scouting real identities of people who hold crypto, with random people who can get doxxed or hacked.

Nobody else is tackling the “let’s use ferrofluid to filter the Hoover Dam” project either, doesn’t mean it’s something worth doing.

… Haha. Hahahahaha. On Ethereum, maybe. On Zcash, where law enforcement is mostly clueless? They’d file a law enforcement report that you stole their money, and police seizes it for them, and now you’re stuck in a court battle. In a country where 33 year old cases are settled after the defendant has already died.

It gets better. They can just report you for conducting tax-evading Hawala transactions. You’re now under the purview of India’s Enforcement Directorate. Good f*cking luck.

The thing being, YOU think you’re both committing the crime. But they can simply say that they were lured into it, and that you promised to pay them “backhandedly” (aka without appropriate remittance taxes) via a “shadow asset” in exchange for bearer cash. They get off, because they appropriately reported it and did not keep the proceeds (the Zcash you sent, which will be seized). The cash is seized and returned to them, as it is their legal property and they (presumably) have the receipts. You on the other hand…

In fact, given the privacy properties of shielded Zcash, you might not be able to prove you sent the Zcash. They will just pocket it, and you are convicted of anything from extortion to tax evasion to Hawala based on whatever lie of the day the scammer wishes to you (“He was extorting me, and he had me pay him cash via a CDM! He has no receipts for the money, but I do!” to “He said pay me cash and I will pay you via foreign, unregulated currency later, I just realised it is illegal!”)