Shielded Pool Deposit Tool
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
The Shielded Pool Deposit Tool enables users to deposit assets into privacy-preserving shielded pools. It reads shielded pool contract state, user address, wallet balance, and asset contract state for ERC-20, ERC-721, and ERC-1155 tokens. The tool processes deposit amounts, token IDs, relayer addresses, and fee amounts. It supports depositToPool for standard deposits, batchDepositToPool for multiple assets in one transaction, and depositWithRelayer for gasless deposits via a relayer. The tool reads gas price, block timestamp, chain ID, transaction nonce, approval state, contract owner state, pool size, commitment count, and nullifier set before execution.
HOW TO USE
Connect your wallet, select the target network, and enter the shielded pool contract address. Choose the asset type (ERC-20, ERC-721, or ERC-1155) and enter the asset contract address. For ERC-20, enter the deposit amount in token units; for ERC-721/1155, enter the token ID. Optionally specify a relayer address to pay transaction fees on your behalf. The tool will fetch pool state, check if the contract is active, and display the pool size and commitment count. Before submission, the tool handles approval—checking allowance or approval status and prompting for approval if needed. Once confirmed, it submits the appropriate deposit transaction, automatically selecting the correct method based on the asset type and relayer presence.
TECHNICAL MECHANISM
Unlike standard transfer tools, this executor interacts with shielded pools that use commitment schemes and Merkle trees for privacy. It first reads the pool's owner() and isActive() to ensure the contract is operational. The tool checks the pool state via poolSize() and commitmentCount() to provide context on the anonymity set. For ERC-20 deposits, it checks allowance and prompts approval if needed, using the token's decimals() for accurate formatting. For ERC-721/1155, it checks isApprovedForAll() and prompts setApprovalForAll() if required. The tool selects the optimal method: depositToPool for standard deposits, depositWithRelayer when a relayer is specified, or batchDepositToPool for multiple assets (ERC-1155). It handles relayer addresses to enable gasless transactions where supported. Gas costs are calculated using receipt.effectiveGasPrice for accurate post-EIP-1559 fee accounting.
WHAT IT CANNOT SEE
This tool cannot verify that the shielded pool correctly implements privacy features or that the commitment scheme is secure. It cannot detect if the pool has backdoors or if the anonymity set is sufficiently large. It also cannot guarantee that the deposit is untraceable if the user reuses addresses or patterns. The tool cannot verify that the relayer is trustworthy or that the commitment has been correctly generated. It also cannot detect if the pool has been compromised or if the privacy guarantees have degraded.
PLEASE NOTE
This tool supports EVM-compatible chains. Depositing to a shielded pool is irreversible—verify all parameters carefully before signing. The pool contract must implement the deposit functions expected by this tool. For ERC-20 tokens, ensure you have sufficient balance and allowance. For ERC-721/1155, the contract must be approved to transfer your tokens. Using a relayer may improve privacy by obscuring the source of the deposit. This tool does not generate commitments—those must be generated off-chain. For full privacy, avoid reusing addresses or patterns.