Garble.Money, A ZKP-based Privacy Wallet on TRON

Project Name: Garble.Money, Fully-Decentralized Privacy Wallet on Tron Network

Rename: Called after hackathon Reason

Project Track: DeFi

Team Name: GoblinLab

Team Member(s): 3 ( @Hamasaki @goblin_tb @GavinBelson )

DevPost URL:

Project Goal:
We believe that privacy is a fundamental human right that underpins freedom of association, thought and expression, as well as freedom from discrimination. Solutions like Tornado Cash on Ethereum is not friendly to newbies/beginners. And zkwrapper, a mixer in TRON, is based on Tronlink Mobile App. We believe that web-based dApp is the best way to protect privacy as users can choose any other privacy tool such as Tor, VPN, Web proxies to strengthen the privacy. So we started TronzBank ( ) project.

Project Info:
TronZBank ( ) shields your transfers based on Zero-knowledge Proof and Tronz Protocol. Tronz Protocol is the official-supported privacy protocol of Tron Network. For users, it is just like a regular wallet. Once you have put money into it, you can make shielded & secure transfers with others.

Project Website:

  • Swap: crosschain swap
  • Deposit: put your assets into the pool
  • Transfer: make a private transfer within the pool
  • Withdraw: get the shielded assets back to any tron address

Project Test Instructions:

3 Steps to test in (switch to Nile Testnet first) or using the instance in Mainnet.

  • Step 1: Deposit your assets to Before depositing, make sure that you’ve regisited and approved your coins to the pool contract
  • Step 2: Transfer your shielded assets to your counter party. You just need the recieve trx address and make sure that counter party have registed in too.
  • Step 3: Once the transfering done, the counter parties (maybe yourself) can view these asssets in their portfolio. Then they can withdraw the shielded assets without assosiation with others.

Project Details:

Contract Address - [ Verified ]

Project Challenges:

  • Make note in ZKProof and tronz address invisible to users
  • Implement shielded transfer based on Tronz Protocol
  • Contract-level KYC/AML support
  • Web-based implementation rather than App-based implementation

Project Features:

  • Fully-web3 privacy for transfers based on ZKProof
  • Very easy to use, just like a regular wallet
  • Regulatory-friendly privacy solution

Project Milestones:

  • 2022-Q3: Build the protocol and deploy in Nile and Mainnet. [DONE]
  • 2022-Q4: Frontend ZKProof generation for Fully-web implementation (Safer) [DOING]
  • 2023-Q1: Build a crosschain to help assets in other evm chains to be shielded.
  • 2023-Q2: Support more TRC-20 tokens
  • 2023-Q3: Support private swaping, staking in
  • 2023-Q4: Speedup shielded transfers (More User-friendly)

Hey, guys. Let’s discuss whatever you want to know about our project. If you are interested in our project, please let me know


Hola, toda privacidad es un derecho del ser humano aunque esto se haya olvidado, me parece una buena idea.


Yeah bro. We can see that there is few privacy wallet in the web3 world after TC being banned. Garbl.Money just try to fill this blank and give people another choice.


There is no sanctions in TRON > . <


It seems like a ZKP-BASED mixer. Are you trying to deploy the TC code in TRON?
What’s difference between TC and yours?


Our project is based on TRONZ protocol which is the official privacy protocol supported by TRON.
You can learn about details here: Implementation Details

TRONZ protocol is based on ZCASH sapling protocol which used by zcash to implement the private transcations function. So it is safe for now.

TC is based on a merkle-tree proofing progress and the circuit in TC is totally different with Sapling protocol.

Please read this doc for the details of Sapling protocol: zips/sapling.pdf at main · zcash/zips · GitHub


Hi Yui, I’ve replyed above this comment


Hi yeka,

  1. cli is still under development
  2. TronzBank is a wallet rather than a traditional mixer. Just putting the money in your wallet and taking it out does not bring privacy :slight_smile:
  3. Users must deposit the “clean money” to TronzBank and we have contract-level KYC/AML support. We protect privacy, not money laundering.

Thanks for your reply. We will try our best :smiley:


El pueblo unido jamás será vencido! :grinning:


Pretty cool. I can see that your team actually build something instead of which only has some slides and whitepapers.


Hi katty. Thank you for your compliment. As you can see, we also hope that there are more real projects in web3 world and we’ll focus on building as long as we can.


SanctionsList Contract forks the Chainalysis Sancation Oracle Contract.
If Chainalysis’s oracle contract support the tron, we will use their contract to ban some addresses.


is this like tornado cash? watch out for the government


Thanks. :smiley: We use a contract-level scheme to make it regulatory-friendly. TronzBank is not a mixer but a wallet service.


Thanks. :smiley: We use a contract-level scheme to make it regulatory-friendly. Besides, TronzBank is not a mixer but a wallet service.


Good job guys!
:laughing: How do you make sure that the assets deposited in your project is safe enough?
Could you explain more about the details?


Hey mate
TronzBank is based on Tronz Protocol what is a privacy transfer protocol supported by TRON.
Besides, this protocol comes from ZCash sapling protocol.
When a userA deposits his USDT to the TronzBank, it will generate notes which be used to record the banlances. And then we say that these USDTs are shield by the protocol.
If he wants to transfers the shielded assets to a specific trx address, he need to submit the zk-proof offchain. Once the proof is verified, TronzBank will save the new notes of the target address. Besides, TronzBank automaticlly transform the recieving address to a private address started with ztron, so there is no privacy-leaked risk.
When the owner of the target address, userB, want to withdraw the shielded assets in TronzBank, he also need to submit the valid zk-proof and withdraw the assets to the target address.

The money-flow descirbed above is :

  • UserA → PrivateUSDT Contract
  • PrivateUSDT Contract → UserB

You can see that there is no money-flow relationship between userA and userB.


Nice designs, I hope it will be succesfull