Proof-of-Personhood Verification 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 Proof-of-Personhood Verification Tool enables users to verify that an address belongs to a unique human being. It reads personhood registry contract state, user address, wallet balance, and verification status. The tool processes verification type (biometric, social, or identity), verification parameters, issuer address, proof data, and verification expiry. It supports verifyPersonhood for standard verification, batchVerifyPersonhood for multiple verifications in one transaction, and revokeVerification for revoking an existing verification. The tool reads gas price, base fee, block timestamp, chain ID, transaction nonce, approval state, contract owner state, and attestation status before execution.
HOW TO USE
Connect your wallet and select the target network. Enter the personhood registry contract address and the user address to verify. Select the verification type (Biometric, Social, or Identity). Provide the issuer address (the entity providing the proof) and the proof data as hex. Optionally set a verification expiry in seconds. Choose the execution method (verifyPersonhood, batchVerifyPersonhood, or revokeVerification). The tool will fetch the registry state and display the current verification status for the user. Once confirmed, it submits the verification transaction. The tool validates the issuer address and proof data before signing.
TECHNICAL MECHANISM
Unlike generic identity tools, this executor is purpose-built for proof-of-personhood verification workflows. It first reads the registry contract's isActive() to ensure the contract is operational. The tool fetches the verification status via getVerificationStatus() to check if the user is already verified and when the verification expires. It validates the verification type mapping (Biometric=0, Social=1, Identity=2). The tool selects the optimal method: verifyPersonhood for standard verification, batchVerifyPersonhood for multiple users in one transaction, or revokeVerification for revoking an existing verification. The proof data is passed as bytes, and the issuer address is recorded for accountability. Gas costs are calculated using receipt.effectiveGasPrice for accurate post-EIP-1559 fee accounting. The tool displays the verification status and issuer before confirmation.
WHAT IT CANNOT SEE
This tool cannot verify that the user is actually a unique human beyond what is attested by the proof. It cannot detect sybil attacks or duplicate identities using different verification methods. It also cannot guarantee that the verification will be accepted or recognized by other contracts. The tool cannot verify the authenticity of the proof data or detect if the issuer is trustworthy. It also cannot detect if the registry has been paused or upgraded.
PLEASE NOTE
This tool supports EVM-compatible chains. Verifying personhood is a serious action—verify all data and the user address before signing. The registry contract must implement the verification functions expected by this tool. Proof data must be generated off-chain and match the verification type. Batch verification requires arrays of users, types, issuers, proofs, and expiries. This tool does not generate proofs—for that, use the appropriate off-chain verification service. For sybil resistance, use the Sybil Score Attestation Tool.