skillfed

eth-account

eth-account: Sign Ethereum transactions and messages with local private keys

eth-account v0.13.7 7.3M downloads/30d#1,759 on PyPI312
Permissive license MIT Active released

What it is and what it does

eth-account is a Python library for signing Ethereum transactions and messages using private keys stored locally. It handles the cryptographic operations needed to authorize blockchain transactions without delegating key management to external services. The package depends on eth-keys, eth-abi, eth-rlp, eth-utils, bitarray, hexbytes, rlp, ckzg, and pydantic to perform low-level signing and encoding.

The library is intended for developers building Ethereum applications that need to sign transactions or messages programmatically. It sits at the intersection of key management and transaction construction, assuming you already have private keys and need to prove ownership or authorize actions on the blockchain. The Alpha classifier reflects ongoing development, but the package has maintained stability since its 2018 inception and remains actively maintained.

Use it for:

  • Sign Ethereum transactions locally before broadcasting them to a network node or service.
  • Create message signatures for authentication or authorization workflows in decentralized applications.
  • Build automated scripts that need to sign transactions without exposing keys to external services.
  • Integrate private-key-based signing into wallet or custodial software.
  • Verify signatures on Ethereum messages for identity or ownership proof.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

eth-account signs Ethereum transactions and messages using local private keys, enabling cryptographic operations for blockchain interactions without relying on external key management.

Yes, if you need to sign Ethereum transactions or messages with local private keys. The package is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and integrates with the broader Ethereum Python ecosystem. Install friction is low. The Alpha status is not a blocker—the library is stable and widely used—but review release notes before upgrading in production.

Install

eth-account on PyPI

pip

pip install eth-account

uv

uv add eth-account

poetry

poetry add eth-account

Installing eth-account

Before you install

Low install friction with a pure Python wheel distribution. Active maintenance as of 2026-07-10 with regular commits; supports Python 3.8 through 3.13.

License in practice

MIT license permits commercial and private use with minimal restrictions; you must include the license text in distributions but face no copyleft obligations.

Quickstart

pip install eth-account

from eth_account import Account

account = Account.create()
signed_message = account.sign_message(message)

Requires Python 3.8 or later; private key material must be managed securely by the caller.

Verify before relying

  • Whether the package handles hardware wallet integration or is limited to software-based key management.
  • Performance characteristics when signing large batches of transactions.
  • Specific security audit history or third-party cryptographic review status.

Package facts

License MIT (permissive)
Python support supports the current Python release (<4,>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 10 — bitarray, eth-abi, eth-keyfile, eth-keys, eth-rlp, eth-utils, hexbytes, rlp, ckzg, pydantic
Maintenance actively maintained — 480 days since the last release
Last repo commit
First released
Downloads 7,271,790/month — #1,759 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: eth_account-0.13.7-py3-none-any.whl

Keywords: ethereum

Development Status :: 3 - 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

Tags

ethereum transaction signingsign ethereum messageslocal private key managementethereum account operationsblockchain transaction signingeth signing libraryethereum cryptography
ethereumcryptographyblockchain

More Cryptography packages