Key Pair Generator
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
Key Pair Generator creates cryptographic key pairs entirely in your browser using the Web Crypto API. Select from secp256k1 (the curve used by Ethereum, Bitcoin, and most EVM chains), Ed25519 (a modern high-performance curve), or RSA-2048 (the classic public-key cryptosystem). Choose the output format — hex or base64 — and the tool generates a random public/private key pair, displays both keys, and provides copy buttons for easy use. This is essential for developers setting up cryptographic identities, generating keys for signing and encryption, testing key management workflows, or creating test accounts for development purposes.
HOW TO USE
Connect your wallet using the BGWallet bridge (MetaMask or any Web3 wallet). Select the algorithm: secp256k1 (Ethereum-compatible), Ed25519, or RSA-2048. Choose the private key output format: hex or base64. Click "Generate key pair" to create the keys. The tool uses the Web Crypto API's cryptographically secure random number generator to produce the key pair. Results display the algorithm, format, status, and both the public and private keys. Use the "Copy public key" and "Copy private key" buttons to copy the keys to your clipboard. The keys are generated client-side and are not stored or transmitted anywhere.
TECHNICAL MECHANISM
The tool uses the Web Crypto API (SubtleCrypto) available in all modern browsers. For secp256k1, the tool generates a random 32-byte private key using crypto.getRandomValues() and derives the public key using ethers.js (which implements the secp256k1 curve). For Ed25519, it uses crypto.subtle.generateKey() with the Ed25519 algorithm to generate a key pair, then exports the raw keys using crypto.subtle.exportKey(). For RSA-2048, it uses crypto.subtle.generateKey() with the RSA-OAEP algorithm, exporting the keys in SPKI (public) and PKCS8 (private) formats. The exported key data is then converted to the selected output format (hex or base64). All operations are performed client-side — no data is sent to any server or stored. The random number generator is cryptographically secure. The tool does not interact with the blockchain for key generation.
WHAT IT CANNOT SEE
The tool cannot generate key pairs using hardware security modules (HSMs) or secure enclaves — all keys are generated in software in the browser. It cannot recover private keys from public keys — that is mathematically impossible for properly generated keys. It cannot guarantee the security of keys stored or exported by the user — once keys are copied or saved, their security depends on the user's storage practices. It cannot generate key pairs for non-EVM-compatible curves beyond the supported options. It cannot provide secure key storage beyond the current browser session — keys are not persisted after page reload. It cannot generate keys that are compatible with all blockchain platforms — secp256k1 is the standard for EVM, but other platforms use different curves. It cannot verify the quality of randomness beyond what the Web Crypto API provides.
PLEASE NOTE
This tool works exclusively with EVM-compatible chains for the wallet connection, but the key generation itself is client-side and chain-agnostic. Solana, Tron, Starknet, SUI, TON, Aptos, Bitcoin, Cosmos, and XRP are not supported for wallet connection, but the key generation works in the browser regardless. Secp256k1 keys are compatible with Ethereum, Bitcoin, and most EVM chains. Ed25519 keys are used by some newer blockchains and for general-purpose cryptography. RSA-2048 is widely supported for traditional encryption. The tool does not store any data — all operations are performed client-side. The tool is provided as-is with no warranty or liability. Never share your private keys with anyone. This is not a substitute for professional security audits.