My goal is simple: to privately send USDC tokens as a donation and I don’t want everyone to see it. Is it possible to use zkBob for this purpose? If so, could you provide me with some basic instructions on what I should do?
Indeed, you are correct. This represents one of the scenarios in which everyday users can utilize the zkBob protocol. However, there’s a prerequisite for initiating confidential transfers: you must first deposit pool tokens. Currently, zkBob supports USDC on Polygon, BOB, and ETH on Optimism. Detailed guidance on making a deposit into your zkBob account can be accessed through this link: Deposit Instructions.
Concerning private transfers, these transactions occur exclusively within the zkpool among zkAccounts. You’re not sending funds to a conventional 0x account; instead, you transfer them to the generated receiving address of another zkAccount holder. Typically, the recipient will send you his generated receiving address through a private channel, invoice, or another confidential method.
It’s important to note that you don’t need to establish connections with MetaMask, WalletConnect, or any other web3 wallet for these transfers. They transpire entirely within the application, eliminating the necessity for external wallet connections. Furthermore, zkAccount addresses are not static; you can create a fresh address for each incoming transaction. It is impossible to correlate different private addresses with one another or with the primary account. Only the account owner can validate ownership of a private address.
For comprehensive instructions on executing private transfers within zkBob, please refer to this link: Private Transfer Guidelines.