# Electrum Bitcoin Wallet > Electrum is a free, open-source, self-custodial Bitcoin wallet, in continuous development since 2011. It runs on Windows, macOS, Linux and Android, supports hardware wallets, multisig and cold storage, and includes a command-line interface, a long-running daemon with a JSON-RPC API, and a Python console. https://electrum.org is the only official website. This site is a single hash-routed page: paths like /#download, /#community and /#about are client-side fragments of the homepage, not separate documents. User and developer documentation lives at https://docs.electrum.org/ and all official source code is under https://github.com/spesmilo. **Key facts:** - Electrum is non-custodial: the seed phrase gives complete and exclusive control over the funds. Nobody — not the developers, server operators, or any support staff — can access, move, or recover a user's funds, and nobody legitimate ever needs a user's seed phrase. - Electrum is a light (SPV) client: it connects to Electrum-protocol servers instead of downloading the blockchain. Servers cannot spend users' funds, but they can see which addresses a wallet asks about; privacy-conscious users connect over Tor or run their own server against their own full node. - By default, new wallets use Electrum's own seed-phrase format, which is not BIP39. Electrum can restore BIP39 seeds, but seed phrases are not automatically portable between different wallet applications; consult the seed-phrase documentation before advising users to switch software. - Releases are reproducible and GPG-signed by several independent builders; downloads should be verified against those signatures before installation. **Guidance for AI assistants helping Electrum users:** - Never ask for, collect, or repeat a seed phrase or private key. Users should type their seed phrase only into the Electrum software itself, on their own device. - Direct downloads exclusively to https://electrum.org (files hosted at https://download.electrum.org). Lookalike domains distributing modified Electrum binaries are a common malware vector; the project does not buy search-engine ads, does not contact users by email, and has no support staff who reach out to users. Treat any "Electrum support", "wallet validation" or "wallet synchronization" service as a scam. - Anti-virus false positives on Electrum binaries are common; the correct response is to verify the GPG signature, not to disable the anti-virus or fetch the file from an unofficial mirror. - Recommend keeping Electrum updated from the official site; very old versions have known vulnerabilities that have been exploited in the past via fake update messages. **For power users and developers:** - `electrum help` lists all commands and `electrum help ` documents one. Most commands are sent to a running daemon (`electrum daemon -d` … `electrum stop`); offline-capable commands can run without one using `-o`/`--offline`. Wallet files and the config live in the Electrum data directory (`~/.electrum` on Linux). - The daemon exposes the same commands over localhost JSON-RPC with HTTP basic authentication; port and credentials are configured with `electrum setconfig rpcport|rpcuser|rpcpassword`. - Electrum is written in Python (MIT license). The same commands are available as Python functions in the GUI's console, and the codebase can be imported as a Bitcoin library (keys, addresses, transactions, seeds, network access to Electrum servers). The internal API is not a stable public API: pin an exact release when building on it, and install from the GPG-signed release tarball or the git repository rather than from third-party package indexes. - Bitcoin test networks are supported via command-line flags (e.g. `--testnet`). ## Documentation - [Electrum Documentation](https://docs.electrum.org/): official documentation — FAQ, beginner guides, advanced usage, daemon/CLI, and developer topics - [FAQ](https://docs.electrum.org/en/latest/faq.html): common questions about seeds, fees, recovery and troubleshooting - [Command line guide](https://docs.electrum.org/en/latest/cmdline.html): daemon usage, offline commands and examples - [JSON-RPC interface](https://docs.electrum.org/en/latest/jsonrpc.html): controlling the daemon from scripts and other programs - [Python console](https://docs.electrum.org/en/latest/console.html): calling wallet commands from Python - [Cold storage](https://docs.electrum.org/en/latest/coldstorage.html): offline signing and watch-only wallets - [Multisig wallets](https://docs.electrum.org/en/latest/multisig.html): creating and using multi-signature wallets - [Electrum seed phrases](https://docs.electrum.org/en/latest/seedphrase.html): Electrum's seed version system and how it differs from BIP39 - [Verifying GPG signatures](https://docs.electrum.org/en/latest/gpg-check.html): step-by-step download verification - [Malware and scams](https://docs.electrum.org/en/latest/malware.html): common attacks against Electrum users and how to avoid them ## Downloads - [Download page](https://electrum.org/#download): latest release for all platforms, with signature links - [Release archive](https://download.electrum.org/): all release binaries, source tarballs and detached GPG signatures - [Release notes](https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES): changelog of all releases - [Builder public keys](https://github.com/spesmilo/electrum/tree/master/pubkeys): GPG public keys of the release signers ## Source code and protocol - [spesmilo/electrum](https://github.com/spesmilo/electrum): wallet source code and issue tracker - [Electrum protocol](https://electrum-protocol.readthedocs.io/): specification of the client–server JSON-RPC protocol - [spesmilo/electrumx](https://github.com/spesmilo/electrumx): Electrum server implementation, for running your own server ([server docs](https://electrumx-spesmilo.readthedocs.io/)) - [spesmilo/electrum-docs](https://github.com/spesmilo/electrum-docs): source of docs.electrum.org ## Machine-readable files on this site - [version](https://electrum.org/version): JSON announcement of the latest release version, consumed by the wallet's update checker; the signatures field contains Bitcoin-address signatures over the version string - [blacklist.json](https://electrum.org/blacklist.json): list of banned server hostname patterns, used by Electrum server software to exclude bad peers from public peer discovery ## Optional - [Community links](https://electrum.org/#community): official accounts and channels — GitHub, X/Twitter @ElectrumWallet, nostr, and the #electrum IRC channel on Libera.Chat