ZK Compliance Proof Generator (Non-Doxxing Balance Proof)
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 ZK Compliance Proof Generator (Non-Doxxing Balance Proof) enables users to prove they hold at least a minimum balance of a specific token without revealing their exact balance. It reads token contract state, user address, user wallet balance, and compliance criteria including the minimum balance threshold. The tool processes asset type, proof points, public inputs (commitment and nullifier), verification key, and proof generation parameters. It supports generateComplianceProof for full threshold verification, submitComplianceProof for proof-only submission, and batchSubmitProofs for multiple proofs in one transaction. The tool reads gas price, block timestamp, chain ID, transaction nonce, approval state, contract owner state, and proof submission status before execution.
HOW TO USE
Connect your wallet, select the target network, and enter the verifier contract address and the token contract address. Set the minimum balance threshold you wish to prove. Enter the commitment and nullifier (public inputs) and the ZK proof data (generated off-chain). The tool will fetch the verifier state, check if the verifier is active, and display your current token balance along with a compliance status indicator. Once confirmed, it submits the appropriate transaction—generateComplianceProof with threshold verification, submitComplianceProof for proof-only, or batchSubmitProofs for multiple proofs. The tool displays proof submission status and transaction details.
TECHNICAL MECHANISM
Unlike balance disclosure tools, this generator uses zero-knowledge proofs to demonstrate compliance without exposing sensitive financial data. It first reads the token contract's balanceOf() to check the user's actual balance, then compares it against the threshold to determine compliance status before proof generation (this is informational only—the proof itself verifies the condition). The tool reads the verifier contract's owner() for transparency and uses isVerifierActive() to ensure the contract is operational. It converts threshold values to wei using the token's decimals() to match the balance format. The proof is submitted with public inputs (commitment and nullifier) that are used to prevent double-use and maintain privacy. The tool supports multiple proof submission methods, automatically selecting the optimal one based on the contract's capabilities. Gas costs are calculated using receipt.effectiveGasPrice for accurate post-EIP-1559 fee accounting, and the tool displays the proof status after submission.
WHAT IT CANNOT SEE
This tool cannot verify the actual source of the funds or detect if the balance was manipulated through flash loans or temporary transfers. It relies on the correctness of the verifier contract and the integrity of the proof generation. It also cannot detect if the user is using multiple addresses to aggregate balances. The tool cannot verify that the commitment and nullifier are unique, nor can it detect if the proof was generated correctly off-chain. It also cannot validate the compliance criteria beyond what is encoded in the verifier contract.
PLEASE NOTE
This tool supports EVM-compatible chains. The ZK proof must be generated off-chain before using this tool—this tool does not generate proofs, only submits them for verification. The verifier contract must implement the proof submission functions expected by this tool. Commitment and nullifier must be provided as hex values; they will be zero-padded to 32 bytes. Generating a proof does not disclose your balance to anyone; only the proof's validity is verified. Always verify the threshold and token address before proceeding.