Fast, Permissionless On and Offramping - Sachin - zkTLS Day @ Devconnect 2025
zkTLS Day at Devconnect Argentina 2025 · 19 Nov 2025 · 17:07
Sachin Kumar of zkp2p explains how the protocol enables instant, trust-minimized crypto onramps and offramps across Base, Arbitrum, Solana, Hyperliquid and Ethereum, completing transfers in under 60 seconds. Built with Reclaim and Primus Labs and using zkTLS proofs, it lets users move between fiat and crypto without intermediaries. He presents at zkTLS Day during Devconnect 2025 in Buenos Aires.
Speakers
Topics
From zkTLS Day at Devconnect Argentina 2025, hosted by TLSNotary.
Transcript
Check. Check. Good afternoon everyone. I'm Sachin from the ZKP2P team. Uh ZKP2P is a privacy preserving peer-to-peer onofframp protocol and that's a mouthful. I'll be demoing our mobile app today. Um I'll give you guys a couple of seconds to download the app if you don't already have the mobile app. Um, and then we will go over the problem statement, go over what ZKB2 is, and then finally I'll give a demo of the app as well.
I hope the QR code is clear enough. By the way, we are also supporting Dev Connect today. So, ZKP2 is one of the ways you can buy and sell crypto in the Dev Connect app. Oh, cool. Going over the PL problem statement that we solve. Um, as everyone here knows, fiat to crypto on offramping is very broken today. The one way to solve it is introducing a centralized intermediary because these two rails like the the fiat rail cannot talk directly to the crypto rail. You need to
involve a centralized intermediary to facilitate that movement of funds. And when you introduce a centralized intermediary, you introduce a bunch of problems like high fees. Moon pay charges anywhere close to 3 to 6% where 2.5 to 3% is coming directly from the card network because they are taking custody of your funds. They they are required by regulation to KYC their users and make sure that they do not lose the funds. And sometimes like Coinbase they end up losing they end up leaking their database and your information is out there on the internet including your address which is uh very risky. It's also fragmented. It's per it's like a one solution per country because of the
different regulations that apply to each country and obviously because when you involve humans in the loop it's it's way slower compared to just code. By the way I also have the QR code on the right side. If if you have not downloaded the app just download the app. One way to solve the I guess the centralized intermediary problem is to do peer-to-peer. Um many of you would have transacted or bought crypto peer-to-peer uh previously. It helps removes the centralized intermediary. It is low fees because someone wants to let's say Alice wants to sell crypto, Bob wants to buy crypto then uh you do not need a third party in between.
There's there's a coincidence of wants happening here where because they want to transact that it is generally low fees and better rates. U no middleman it's privacy preserving. You do not have to give your entire uh history of transactions your bank statements to to Alice to to be able to just sell the crypto. Um but then I guess P2P itself has many problems. Um two major ones is a discoverability like you need to find someone who's willing to sell crypto the same amount the same fiat currency at the same time that you want to buy crypto and then um you have to trust the other person like when you might have to meet them in person or if you are transacting them with digitally you would have to um you have to you'd have to make sure that they do not take your
funds and run away you'll have to send them screenshots u and u make sure that they they end up giving you funds zip P2P uh is a solution to this problem. It helps you solve discoverability as well as it helps removes the trust and uh we use ZKTLS as a as a way to remove the trust bit. ZKTLS basically acts as a replacement for a screenshot uh in our app. Like if you would have used Binance P2P before or if you would would have traded P2P on Telegram after you send them the funds you send the proof of the funds that hey I paid you this much amount in fiat instead of sending the screenshot ZKTLS in ZKB2P acts as a way to replace that screenshot with
verifiable authentic cryptographic root of trust. I guess you you would have already watched like bunch of talks about what ZKTLS is. So I'm not going to dive any deeper into that. Uh also like one other benefit that ZKTLS gives you is the privacy angle like you can instead of giving your entire bank history to the other guy or to a third party entity or to a smart contract you just you can just selectively disclose that one particular transaction that you need need to prove uh to the verifier. Yeah, ZKB2P solution it's it's purely onchain. It's smart contracts based. The verifier in this case uh the escrow and the verifier is the smart contract. Um
the escrow takes custody of the funds and then once the buyer sends the payment then it it also acts as a verifier. I have a bigger diagram to explain how the whole process works. But the gist of that is like the seller first locks the assets in escrow the buyer and also provides an identifier like pay me at this bank account number or pay me at this venmo ID. uh the buyer does the payment then they do the whole zkls process which is facilitated by our potho extension. So if you are using the browser you would have to download the extension which is very similar to it's built on top of the TLS notary extension. It uses reclaim and uh tls under the hood and uh like our own fork
of reclaim to generate the zkls proof and then we verify that directly on the smart contract. If this proof verifies, then the crypto is unlocked and sent to the buyer. Cool. Um, I guess you got a gist of how the overall flow works. Next, we'll dive right into the demo. I I think it it would be better if you guys just walk through the demo on on your mobile phones as well along with me while I'm showing the demo. Uh I guess we do have one limitation that if you only you need cash app, Venmo, Revolute, Wise, PayPal like the five six platforms that we support uh to be able to uh use the app.
But as as I guess like you already know like ZKLS allows you to generate proofs of any TLS transcript. So down the line we are making the protocol agnostic enough so that we can add any bank. So if your bank is not already supported, we we had we do have a providers repo where you can send a PR and integrate your bank to uh the ZKP2B demo. I guess step one is to download the app itself. It's called Pier.
Once you download the app, we spin up a wallet for you. It's a preview based uh wallet and it's secured by preview. You you just have to enter your email and you get a new wallet. Then you click on the deposit flow. You enter the amount of currency you want like the amount and the currency in this case 1 USD. You choose the payment platform and we show you all the codes that are available on the order book. In this case there are two codes. Um let's say I choose the second one. I start the order. This this basically locks the USDC the one USDC on the smart contract
and it gives me like 15 to 20 minutes to complete the payment generate a proof and then unlock the the USDC. In this case, I have to pay to Richard who is my who's my co-founder. I go to wise to send the payment to Richard. I do have to I have to do the normal face ID stuff. Yeah. Send one USD to Richard. I'll skip this bit.
This is just me sending the payment on wise. You could imagine like this could be Venmo, Revolute, Cash App or any of your banking platforms like Paya Pay now. Maybe once I've said the payment, I come back to the app. I say that I have completed the payment and then this starts the ZKTLS process where on the web we on the like all the other apps generally have a extension uh which does the ZKTLS proving. It it does two things. One it gets the tokens and it replays the request for the ZKTLS uh proof flow. It either either sends the request via proxy for the proxy mode or it does the MPC connection for the TLS
MPC mode. In this case, we are using the proxy mode and you will have to authenticate like you'll have to login into wise on our web view and then once we have the token we do the zkls proofing in in this view. Obviously I have to go back and make sure that wise knows it's me just for security purposes. Yeah, here here is where we are generating the ZKS proof. Right now the speed is uh 5 to 6 seconds. We're using narc and we are doing the proof generation locally on the device.
Once the proof is generated, it is sent directly to the smart contracts for verification. And once it is verified, you receive your one USDC. So my balance increased from 580 to 581. Yeah, the app is live today. Like you can scan the QR code and use the app today. It's being used at Defconnect. Yeah, that was it. Thanks that was a demo. Thanks for listening. Uh this is my Twitter. We have SDK, we have docs.
You can integrate ZKP2P into your app, into your wallet or into your web app. Um, our SDKs are open source. Our docs are open source. We have an API to fetch the codes for you. Um, like it's basically like a one-shot replacement for Moon Pay. But privacy preserving, no KY, no additional KYC. We do not do any additional KYC. All the KYC that has already been done on Wise on Venmo, we just use that. And uh, yeah, it's fairly easy to integrate. So, thank you.
>> Just a comment, it worked live. So, congrats on live demo. That's not an easy job. >> Yeah. Thanks. We are moving a decent amount of volume on the web app like we're doing 2 million per month rough rightly right now. Uh we hope the mobile to increase that volume further. >> Yeah, congratulations by the way. It's very cool. Uh a question is more around when a user does make a proof regarding their transfer. uh is does the escrow unlock immediately on that proof or is there a proof of settlement on the recipient side as well?
>> No, there is just one proof. Um the buyer has to generate the proof that they have done the payment and then the seller is mostly hands off like if you would have used binance P2P where both of them have to agree that I have done the payment and the seller has to come online and say yes I have received the payment I unlock the escrow. Whereas in this case the seller is AFK. He deposits his USDC and he's AFK. The buyer goes through the proof generation flow, submits that to the contracts and it's the contracts that finally settles whether this proof was done offchain or not. If it was done, all the business logic is verified that the right amount, the right recipient, the right time like after the order was created, um the right currency, the right payment platform, the right domain name, we make
sure that the domain name is correct, then the USDC is unlocked to the buyer. I guess a followup very quick is like um have you considered sort of a B2B uh you know settlement basically taking our trust out of uh bank settlements maybe for stable coin issuers and whatnot B2B is lucrative like um the tech is agnostic of like whether you are doing a bank transfer whether you're doing a P2B transfer Venmo for $1 or whether you're doing $10,000 on a bank. Um we are talking to a couple of B2B players to act as a settlement layer for that.
Yeah. >> Hi, great demo. Um how do you solve problems of concurrency? Let's say uh two users send $1 to to the sorry two buyers send $1 to the seller. Um what happens to the second buyer who send the $1 >> during the demo? Before you send the U USD, you have to signal an intent that I want to send a USD to to this recipient here and then lock the USDC. So we on your behalf send a a transaction to the chain to lock the USDC and give you right now the duration is 6 hours. You have 6 hours to gener to send the payment and complete uh the flow. So
there are there are no risk conditions basically. >> Okay. Great. Yeah. Thank you. Uh, how are you guys planning to handle like a denial of service where um a malicious user or malicious buyer basically just sends an intent to buy everything and lock up the contract. >> We we just saw that behavior like we were expecting that behavior to happen for a year now. We saw that behavior recently. Uh we're going to introduce a reputation based system where when you come on the platform for the very first time you can only lock $100 and then you can increase your reputation going forward where as you do more volume on the
platform the amount of volume you can do on the platform. The amount of money you can lock at any given time increases as you do more volume I guess. Yeah. So that is a problem right now but that will be solved very soon. uh uh for the seller that's selling USDC, what's the risk of uh the person on the other end having like a fraudulent uh Vinmo account or stolen Vinmo account or fraudulent credit cards and then you lose your USDC or you have your Vinmo account banned. What's the risk of that?
>> Uh the chargeback rate is significantly lower compared to Moon Pay. Um we do not support credit cards, so at least we get rid of that. regarding the risk of the liquidity provider aka the seller. Yes, they can receive fraudulent funds but um like that's that's a Venmo problem. We consider that as a Venmo problem because Venmo if if somebody's frauding someone and then taking them money they they're better off taking the money to the bank account rather than Venmo because Venmo does ask you for source of funds like if you just hold illicit funds in Venmo then Venmo freezes hopefully Venmo freezes it immediately.
Um but if you do end up sending it like end of the day it's a closed um loop game like it's not like it's not open network like the banks it's it's a closed loop end of the day the money is all always stored in Venmo and Venmo is just updating the balances the worst thing that they can do is deplatform you but they cannot keep your funds they are not a electronic money institution only banks can custody and freeze your funds Venmo cannot. So if you re if you end up receiving a ton of money and you're not able to explain the sources of it or you end up receiving illicit funds which we haven't seen any such cases yet we have been operating for a year now um the worst thing that they can do is deplatform you but um yeah I guess we
have the dune graphs we are moving uh 700k on Venmo one north of 1 million on revolute and uh we except wise which is very anti-crypto for some reason we haven't seen any other uh issues on any other platforms. >> Cool. Thank you back here.