Cold storage & custody · Developer default

Coldstar vs a Solana keypair file

Every Solana developer has one: an id.json written by solana-keygen, sitting in ~/.config, holding an unencrypted 64-byte secret. Solana's own docs call it the least secure wallet option. Coldstar is what that file should have been: encrypted, offline, and still scriptable.

Last reviewed 2026-09-04 · Facts link to first-party sources below · Corrections welcome

Pick a Solana keypair file if

  • It is a devnet or test key and the balance is worthless.
  • It is a validator identity or CI key where the process must hold a key and you have hardened the host.
  • You need zero dependencies beyond the Solana tool suite.

Pick Coldstar if

  • The key controls real funds. Solana's docs say to use hardware for that; Coldstar is the software route.
  • You want to keep a CLI, scriptable workflow but stop storing plaintext secrets on disk.
  • The key will be used by a bot or agent and needs limits.

Use both when

Keep the keypair file for devnet. Move mainnet keys to Coldstar.

Side by side

Coldstara Solana keypair file
Upfront cost~$10 — any USB drive. The software is free and MIT-licensed.Free.
Where the key livesAES-256-GCM encrypted keyfile on a drive you own. Plaintext exists only in memory-locked RAM for the ~100 µs it takes to sign, then is zeroized.Unencrypted JSON on disk. Anza docs: the password applies to the seed phrase, not the file; anyone with the file has all the tokens.
How a transaction reaches the keyBuild online → QR (or file) to an offline machine → sign → QR back → broadcast. Fully air-gapped; the drive is storage, not a signer.Any process on the machine can read the file and sign. The paper-wallet docs suggest deriving on an air-gapped computer, but there is no built-in offline transaction transport.
Source codeOpen source (MIT) — every line that touches the key is readable on GitHub.Apache-2.0, part of the Agave client.
What you trustCode you can read, plus your own offline machine. No vendor silicon, firmware, cloud, or account.Every process, user, backup, and sync tool that can read the file.
RecoveryPassphrase + encrypted keyfile. The drive is disposable: lose it and the file is useless without the passphrase; re-flash a new one.BIP39 seed phrase.
Automation & policyCLI-first, scriptable, headless. Policy-gated agent signing: limits, allowlists, rate caps, escalation to air-gapped approval.Fully scriptable with no policy layer: whatever can read the file can sign anything.
Solana walletsColdstar CLI and Seeker app.Solana CLI and every SDK.
MaturityBeta — independent audit planned before the production release.Reference implementation.

This is not a knock on the Solana tooling; a keypair file is the right primitive for development. It is the wrong place for mainnet funds, and Solana's documentation says so.

Where each one wins

Where a Solana keypair file wins

  • Zero friction. Works with every tool in the ecosystem immediately.
  • No dependencies beyond the CLI you already installed.
  • Right for throwaway keys on devnet and in CI.

Where Coldstar wins

  • Encrypted at rest. AES-256-GCM with Argon2 key stretching instead of plaintext JSON.
  • Air-gapped signing with a QR transport built in, so the key never has to be on an online host.
  • Policy. Bots and agents get limits, allowlists, and rate caps instead of the whole key.

What you are actually trusting

A keypair file has no trust model; it has an access-control list, and it is the one your operating system gives to every process running as you. Backups copy it. Sync clients upload it. A malicious npm postinstall reads it. Solana's docs are explicit that this is the least secure option and steer real funds to hardware.

Coldstar keeps the same CLI ergonomics and removes the plaintext. The file on the drive is ciphertext; the passphrase never touches disk; decryption happens in memory-locked RAM on an offline machine for about a hundred microseconds. For scripts and agents, a policy decides what may be signed, so a compromised host proposing transactions can only do what the policy allows.

Coldstar is beta and pre-audit. It is still a large step up from an unencrypted secret on a laptop.

Using a Solana keypair file and Coldstar together

Coldstar was built for people who already live in the terminal. Keep solana-keygen for devnet and use Coldstar for any key that would hurt to lose.

Frequently asked questions

Isn't my id.json protected by my disk encryption?

Only while the machine is off. When you are logged in, every process you run can read it, and so can anything that backs up or syncs your home directory.

Can I keep using the Solana CLI with Coldstar?

Coldstar is a CLI signer: build the transaction online with your usual tools, sign it offline with Coldstar, broadcast. It also builds common transactions itself, including Jupiter swaps.

What about the CLI's hardware wallet support?

The Solana CLI supports Ledger over usb://ledger, which is a good option if you own one. Coldstar gives you an offline signer without buying hardware and adds a policy layer for automation.

Try Coldstar in two minutes

Open source, MIT. macOS, Linux, Windows — and on the Solana Seeker dApp Store.

pip install coldstar

Related comparisons

Sources

  1. Anza docs: file-system wallet (unencrypted, least secure)
  2. Anza docs: paper wallet (air-gapped derivation, swap warning)
  3. Anza docs: Ledger hardware wallet with the CLI
  4. Agave source (Apache-2.0)

Third-party facts were checked against the vendor's own pages on the date above. Pricing and feature sets change; if something here is out of date, tell us and we will fix it.