Wallet & security

Generate Solana wallets in bulk, right in your browser

Create up to 1,000 independent keypairs, or one seed phrase with its derived accounts, entirely on your device. Download the keys as Solana CLI JSON, CSV or an addresses-only list. Nothing is sent anywhere.

How it works

  1. 1

    Choose the mode

    Independent keypairs gives every wallet its own random key. From one seed phrase generates a 12 or 24 word BIP39 phrase and derives accounts 0 to N−1 the way Phantom and Solflare do.

  2. 2

    Generate

    Enter how many wallets you need, from 1 to 1,000, and press Generate. Keys come from your browser's cryptographic random number generator; each one is re-derived from its secret and checked before it is shown.

  3. 3

    Save the keys

    Reveal or copy secrets per row, download one .json per wallet in the solana-keygen format, or take everything as a combined JSON or CSV. The addresses-only TXT contains nothing secret and feeds the multisender or balance checker.

  4. 4

    Clear

    Press Clear when you are done. The key bytes are overwritten in memory; nothing was ever stored, so reloading the page also removes them. Keep your downloads somewhere safe.

How Solana wallets are generated offline

A Solana wallet is an Ed25519 keypair. Its address is the 32-byte public key in base58, and its secret is the 32-byte seed the key was made from. The Solana CLI stores both together as a 64-byte array, seed followed by public key, which is the JSON file this tool downloads. Making a wallet needs nothing but 32 random bytes and one elliptic-curve computation; there is no registration, no network and no account to create until the address first receives SOL.

This page does exactly that in your browser. The random bytes come from crypto.getRandomValues, the operating system's cryptographically secure generator that browsers expose, the same source the Phantom extension uses. Generation runs on your device, the tab makes no network requests while generating, and you can load the page, disconnect from the internet and generate with the connection off. Each key is verified by re-deriving its public key from the secret before it is displayed.

Independent keypairs or one seed phrase

Independent mode draws a fresh random seed for every wallet. No wallet is related to another, so a leaked key exposes exactly one wallet and you can hand single keys to single bots or team members without exposing the rest. The cost is that you have to store every key yourself; there is no phrase that recovers them all, and a lost JSON file means a lost wallet.

Seed phrase mode generates one BIP39 mnemonic of 12 or 24 words and derives the accounts from it at m/44'/501'/i'/0', the path Phantom, Solflare, Backpack and Ledger Live use for account i. Importing the phrase into any of those wallets shows the same addresses in the same order, which is convenient for a set of wallets you want to manage from one place. The trade-off is the reverse: whoever has the phrase has every account, now and in the future. The derivation follows SLIP-0010 and is checked against its published test vectors.

What browser-generated wallets are good for

Bulk wallets are for operations: trading and sniper bots that each need their own signer, airdrop distribution wallets, test accounts for a program under development, burner wallets for mints and claims, and hot wallets that hold what a task needs for a day. For these the ability to create fifty addresses in a second and drop the JSON into a script matters more than hardware-grade isolation.

They are not a replacement for a hardware wallet. A browser tab is only as private as the device it runs on: a malicious extension or malware can read what a page shows and what you copy to the clipboard. Keep long-term holdings on a hardware wallet or a phrase written down offline. If you need a memorable address rather than many, the Vanity Address Generator searches for a prefix or suffix with the same key handling.

File formats and how to import the keys

The per-wallet .json is the 64-number array solana-keygen writes, usable directly as --keypair in the Solana CLI or with Keypair.fromSecretKey in web3.js. The combined JSON is an array of those arrays in index order. The CSV holds the address and the secret in base58, which is the format Phantom and Solflare accept under Import private key; the seed phrase mode adds the derivation path column.

The addresses-only TXT is safe to share: it lists public keys, one per line, with nothing secret. Paste it into the Batch Balance Checker to watch the set, or into the Solana Multisender to fund every wallet with SOL for fees in one batch. Remember that a new address is empty until it receives SOL, and that a token account needs about 0.002 SOL of rent the first time the wallet receives a given token.

Questions & answers

Is it safe to generate Solana wallets in a browser?

For hot wallets, bots and airdrop distribution, yes, provided your device is clean. The keys are made locally with the platform's secure random generator, the page makes no network request during generation and stores nothing. The risk is the device itself: extensions and malware can read a page or the clipboard. Do not use browser-generated keys for long-term storage of significant funds.

Does SOLTidy see or store the private keys?

No. Generation happens in your tab and nothing about the keys is transmitted; you can verify that by generating with your internet connection turned off. Nothing is written to local storage or cookies either. When you press Clear, reload or close the tab, the keys are gone and SOLTidy cannot recover them.

Can I import these wallets into Phantom or Solflare?

Yes. Copy the base58 secret from a row or the CSV and use Import private key in the wallet. In seed phrase mode you can instead import the 12 or 24 words; the wallet will show the same accounts in the same order because both use the m/44'/501'/i'/0' derivation path.

How do I use the JSON file with the Solana CLI?

Save the per-wallet .json and pass it with --keypair, or set it as the default with solana config set --keypair path. It is the same 64-number array format solana-keygen new produces, so every CLI command and every script using Keypair.fromSecretKey accepts it without conversion.

What is the difference between a seed phrase and a private key?

A private key controls one wallet. A seed phrase is 12 or 24 words that encode random entropy from which any number of private keys are derived deterministically along a path; account 0, 1, 2 and so on. Phantom shows the derived accounts, not the phrase, and importing the phrase elsewhere recreates all of them.

Do new wallets need SOL before they can be used?

An address exists as soon as it is generated, but it has no on-chain account until it receives SOL. To send anything a wallet needs SOL for the network fee, about 0.000005 SOL per transaction, plus about 0.002 SOL of rent for each token account it opens. Use the multisender to fund a whole set at once.

Is the wallet generator free?

Yes. It is free, needs no wallet connection and never sends a transaction, so there is nothing to pay a fee on. The only costs you will ever meet are the network fees and rent when you fund and use the wallets.

Is this tool free?

The wallet generator is free and runs entirely in your browser: it needs no wallet connection, sends no transaction and makes no network request while generating keys.

Guides that go deeper

Built and maintained by Jacob, a Solana trader who uses these tools daily. Content reviewed . Every transaction is built in your browser and signed in your own wallet — see the terms for fees.