$npx skillfedfor your agent

eth-keyfile

eth-keyfile: A library for handling the encrypted keyfiles used to store ethereum private keys

With conditionsPyPI CryptographyReleased Feb 20255.9M downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — eth_keyfile-0.9.1-py3-none-any.whl
v0.9.1 · released 2025-02-10 · Python <4,>=3.8 · 4 runtime deps: eth-keys, eth-utils, py_ecc, pycryptodome

Yes, if you are building Ethereum wallet or key management tooling and need standard-compliant keyfile handling. The library is well-established (in use since 2017), has no known vulnerabilities, and is maintained by the Ethereum Foundation. However, the aging maintenance status (550 days since last release) and Pre-Alpha classifier for v4 suggest you should verify v4 stability for your use case before relying on it in production.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a valid Ethereum keyfile in JSON format on disk; the password must match the one used to encrypt the keyfile.
  • Low install friction with a pure-Python wheel and four runtime dependencies.
  • Maintenance status is aging—last release was 550 days ago, though the repository remains active with a recent commit on 2025-12-18.

License · maintenance · safety

MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

last release 2025-02-10 (550 days) · last repo commit 2025-12-18 · 85 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 5,937,356 downloads/mo, #2,007 on PyPI

Verify before relying

from eth_keyfile import load_keyfile, extract_key_from_keyfile

# Load keyfile JSON from disk
keyfile_json = load_keyfile('path/to/keyfile.json')

# Or extract the private key directly
private_key = extract_key_from_keyfile('path/to/keyfile.json', b'password')
  • Whether version 4 keyfile support is production-ready or still experimental given the Pre-Alpha classifier
  • Current test coverage and whether the aging maintenance status reflects reduced security review
Same gist for agents: .md · .json

What it is and what it does

eth-keyfile is a library for reading, writing, and decrypting Ethereum keyfiles—the encrypted JSON format used to store Ethereum private keys. It implements the Ethereum keyfile standard (versions 3 and 4), handling the encryption/decryption logic so you don't have to manage AES-128-CTR ciphers, PBKDF2/Scrypt key derivation, or MAC verification yourself. The library wraps eth-keys, eth-utils, py_ecc, and pycryptodome to provide four main functions: load keyfiles from disk, create new encrypted keyfiles from a raw private key and password, decrypt keyfile JSON to recover the private key, and extract keys directly from a file path.

It's primarily used in Ethereum wallet software, key management tools, and applications that need to persist private keys securely. The library supports both the older v3 standard (using secp256k1 curve limits) and the newer v4 standard (using bls12-381 curve limits), though it is still marked Pre-Alpha, suggesting v4 may not be fully stable.

Use it for

  • Load an encrypted Ethereum keyfile from disk and decrypt it with a password to retrieve the private key for signing transactions
  • Generate a new encrypted keyfile from a raw private key and password, then save it for later use in wallet software
  • Validate and parse keyfile JSON structures to ensure they conform to the Ethereum keyfile standard before processing
  • Migrate keys between wallet implementations by reading v3 keyfiles and re-encrypting them as v4 with updated metadata

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are building Ethereum wallet or key management tooling and need standard-compliant keyfile handling.

The library is well-established (in use since 2017), has no known vulnerabilities, and is maintained by the Ethereum Foundation. However, the aging maintenance status (550 days since last release) and Pre-Alpha classifier for v4 suggest you should verify v4 stability for your use case before relying on it in production.

Install

eth-keyfile on PyPI

Before you install

Low install friction with a pure-Python wheel and four runtime dependencies. Maintenance status is aging—last release was 550 days ago, though the repository remains active with a recent commit on 2025-12-18.

Requires a valid Ethereum keyfile in JSON format on disk; the password must match the one used to encrypt the keyfile.

License in practice

MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

Quickstart

from eth_keyfile import load_keyfile, extract_key_from_keyfile

# Load keyfile JSON from disk
keyfile_json = load_keyfile('path/to/keyfile.json')

# Or extract the private key directly
private_key = extract_key_from_keyfile('path/to/keyfile.json', b'password')

Verify before relying

  • Whether version 4 keyfile support is production-ready or still experimental given the Pre-Alpha classifier
  • Current test coverage and whether the aging maintenance status reflects reduced security review

Package facts

LicenseMIT permissive
Python supportSupports the current Python release <4,>=3.8
Install frictionLow. Pure-Python wheel
Runtime dependencies
4 packages
eth-keyseth-utilspy_eccpycryptodome
MaintenanceAging 550 days since the last release
Last repo commit
First released
Downloads5,937,356 / month, #2,007 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Evidence: eth_keyfile-0.9.1-py3-none-any.whl

Tags

Capabilities
ethereum keyfile encryptiondecrypt ethereum private keykeystore json handlerethereum key managementpbkdf2 scrypt keyfileaes encrypted keystoreethereum wallet keyfile
Topics
ethereumkey-managementcryptography
PyPI keywords
ethereum

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “ethereum keyfile encryption”

  • eth-keyfileLoads, creates, and decrypts Ethereum keyfiles—encrypted JSON files…
  • eciespyEncrypts and decrypts data using Elliptic Curve Integrated Encryption…
  • eth-hashProvides the keccak256 hashing function used by Ethereum through a…

Give your agent the search over MCP, or paste the wish link into any chat.

More Cryptography packages

certifi Worth it
PyPI · Cryptography · released Jul 2026

Certifi provides Mozilla's curated collection of root SSL certificates for Python applications to validate TLS hosts and verify certificate trustworthiness.

MPL-2.0pure Python · 3.7+
1.9Bdownloads / mo
cryptography Worth it
PyPI · Cryptography · released Jul 2026

cryptography provides cryptographic recipes and low-level primitives for symmetric encryption, message digests, key derivation, and other common cryptographic algorithms in Python.

Apache-2.0 OR BSD-3-Clausecompiled wheel
1.5Bdownloads / mo
rsa Skip
PyPI · Cryptography · released Apr 2025

Pure-Python RSA encryption, decryption, signing, and key generation following PKCS#1 v1.5, with command-line and library interfaces.

Apache-2.0pure Pythonabandoned
299.6Mdownloads / mo
pyOpenSSL With conditions
PyPI · Python Modules · released Aug 2026

pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.

Apache-2.0pure Python · 3.9+
294.2Mdownloads / mo
azure-identity Worth it
PyPI · Cryptography · released Mar 2026

Provides Microsoft Entra ID token-based authentication for Azure SDK clients through a set of TokenCredential implementations that handle OAuth flows and managed identity support.

license unclearpure Python · 3.9+
247.2Mdownloads / mo
PyNaCl Worth it
PyPI · Cryptography · released Jan 2026

PyNaCl provides Python bindings to libsodium for digital signatures, secret-key and public-key encryption, hashing, message authentication, and password-based key derivation.

Apache-2.0compiled wheel · 3.8+
246.6Mdownloads / mo

See also eth-keys · altcha · pyscrypt · crypto · eth-bloom · malduck · hkdf · eth-account · faster-eth-utils · bip32