Private Key Checker
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
Private Key Checker reads the user's current wallet address and network chain ID from the connected wallet, reads the ETH balance and token balances for the address derived from the entered private key via eth_getBalance and eth_call, optionally scans for past transactions and token holdings using eth_getLogs and eth_getTransactionCount, and compares balances and activity between the entered private key's address and the connected wallet address. The tool takes a private key entered by the user, derives the corresponding public address entirely client-side using ethers.js, and then queries the blockchain for that address's balance and transaction history. It compares this derived address against the user's connected wallet to show if the private key controls the wallet they are currently using, or if it unlocks a different address entirely.
HOW TO USE
Connect your existing wallet using the "Connect" button — this establishes the wallet bridge and displays your current address, chain ID, and ETH balance. Enter a private key (with or without the 0x prefix, 64 hex characters) into the input field and click "Check Private Key". The tool derives the corresponding Ethereum address, fetches its ETH balance, and displays whether it matches your connected wallet. If the derived address differs from your connected wallet, the tool shows a side-by-side comparison of both addresses and their balances. Optionally, the tool can scan for token balances and past transactions using the provider's getLogs and getTransactionCount capabilities.
MECHANISM — CLIENT-SIDE KEY DERIVATION WITH ON-CHAIN BALANCE AND HISTORY QUERY
This tool uses ethers.js's Wallet class to derive a public address from a private key entirely client-side using the secp256k1 elliptic curve. The private key is never transmitted — all derivation happens within the browser's JavaScript engine. Once the address is derived, the tool uses the connected wallet's provider to query the blockchain via eth_getBalance for the current ETH balance and eth_call for token balances. For transaction history, it uses eth_getLogs with a configured block range and eth_getTransactionCount to determine activity. The log scanning uses chunked requests with automatic backoff, because public RPC endpoints cap block ranges differently and a single refusal should not end the scan. The tool then compares the derived address against the connected wallet address and displays the results.
WHAT IT CANNOT SEE
This tool cannot determine if a private key is valid for a specific network without deriving the address and checking the network's state. It cannot recover lost private keys or passwords. It cannot verify if a private key has been compromised or is in use elsewhere. It cannot detect if the address derived from the key has been involved in suspicious activity beyond basic on-chain history. It cannot check balances on networks not supported by the connected wallet. It cannot prove that the user actually owns the private key beyond derivation — anyone can enter any key. It cannot detect if the private key corresponds to a hardware wallet or multisig. It cannot interact with the blockchain without the user explicitly importing the key into a wallet application.
PLEASE NOTE
EVM chains only — supports Ethereum mainnet and all EVM-compatible networks. This tool requires a real EVM wallet extension (such as MetaMask) to query balances and transaction history. The private key is processed entirely in your browser; no data is sent anywhere. Never enter a private key on a site you do not trust, regardless of what the tool claims.