Paper Wallet 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
Paper Wallet Generator reads the user's current wallet address and network chain ID from the connected wallet, optionally reads ETH balance and token balances for generated addresses via eth_getBalance and eth_call if the user chooses to check balances. The core function of the tool is to generate new Ethereum wallets (private key + address) entirely client-side using ethers.js, and display them in a print-friendly format suitable for paper wallet cold storage. The generated wallet consists of a public address (for receiving funds) and a corresponding private key (for accessing and spending funds). The tool presents these details in a clean layout optimized for printing, with a separate print view that hides interactive elements and shows only the wallet information. Users can print the page to create a physical paper wallet for secure offline storage.
HOW TO USE
Connect your existing wallet using the "Connect" button — this establishes the wallet bridge and displays your current address and chain ID. Click "Generate New Wallet" — a new wallet is created using ethers.Wallet.createRandom() with a secure random number generator. The address and private key are displayed on screen. Click "Print" to open the browser's print dialog. The print view hides all interactive elements (buttons, input fields, network information) and shows only the wallet details in a clean, paper-optimized layout with the address, private key, and generation date. Print the page on paper and store it in a secure physical location. The private key is never transmitted or stored — it exists only in the browser's memory during the session.
MECHANISM — CLIENT-SIDE KEY GENERATION WITH PRINT-OPTIMIZED LAYOUT
This tool uses ethers.js's Wallet.createRandom() method, which generates a private key using a cryptographically secure random number generator (window.crypto.getRandomValues). The private key is a 256-bit number represented as a 64-character hex string. The public address is derived from the private key via secp256k1 elliptic curve and Keccak-256 hashing. The tool uses CSS media queries with @media print to create a dedicated print stylesheet that hides all non-essential UI elements, centers the wallet information, and applies high-contrast styling suitable for paper output. The print view displays the address, private key, and generation timestamp in a clean, readable format. All computation happens client-side with no network requests, and the private key never leaves the browser.
WHAT IT CANNOT SEE
This tool cannot generate wallets that are already funded or guarantee uniqueness beyond cryptographic probability. It cannot recover lost private keys or passwords. It cannot verify the security of the user's environment. It cannot detect if a generated address has been compromised or is already in use. It cannot read balances for addresses not yet created. It cannot interact with the blockchain without the user importing the generated wallet. It cannot generate wallets for non-EVM chains. It cannot print or export wallets in formats other than those provided. It cannot protect the private key if the user prints or stores it insecurely.
PLEASE NOTE
EVM chains only — supports Ethereum mainnet and all EVM-compatible networks. This tool optionally requires a real EVM wallet extension (such as MetaMask) to display connected wallet information. The wallet is generated entirely in your browser; no data is sent anywhere. Paper wallets are for cold storage only — funds sent to the address can only be accessed with the private key. If you lose the paper, you lose the funds. Never share the private key with anyone.