base58check
Base58check encoding and decoding of binary data
What it is and what it does
Base58Check is a Python implementation of the Base58Check encoding scheme, a modified Base58 binary-to-text encoding commonly used in Bitcoin and other cryptocurrencies to represent byte arrays as human-readable strings. It provides two core functions: b58encode to convert bytes into Base58Check format, and b58decode to reverse the process. The package has no external runtime dependencies, making it lightweight and easy to integrate.
The library is designed for encoding cryptographic identifiers like Bitcoin addresses. It enforces bytes input for consistency with Python's encoding conventions, requiring text to be explicitly converted to bytes before encoding. The package is actively maintained in its repository, though no new releases have been published since version 1.0.2 in 2018.
Use it for:
- Encoding Bitcoin addresses or other cryptocurrency identifiers into human-readable Base58Check format for display or storage.
- Decoding Base58Check-formatted strings back to their original byte representation for cryptographic validation or processing.
- Building cryptocurrency wallet software or blockchain explorers that need to handle address encoding/decoding.
- Implementing altcoin support in applications that use Base58Check for their own address schemes.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Encodes and decodes byte arrays using the Base58Check scheme, a binary-to-text encoding used primarily for Bitcoin addresses and similar cryptographic identifiers.
Yes, if you need Base58Check encoding for Bitcoin or cryptocurrency work. The package is lightweight, dependency-free, and permissively licensed. However, note that no releases have been published since 2018, so verify that it meets your Python version requirements and handles edge cases your use case requires before relying on it in production.
Install
base58check on PyPI
pip
pip install base58checkuv
uv add base58checkpoetry
poetry add base58checkInstalling base58check
Before you install
Installation is straightforward with no runtime dependencies. The package is marked active with a recent commit in 2026, though the last release was in 2018 and no updates have been published since.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install base58check
import base58check
# Encode bytes to Base58Check
encoded = base58check.b58encode(b'1BoatSLRHtKNngkdXEeobR76b53LETtpyT')
# Decode Base58Check back to bytes
decoded = base58check.b58decode(encoded)
Input to b58encode must be bytes; use .encode('ascii') on text strings before encoding.
Verify before relying
- Whether the package handles checksum validation correctly for Bitcoin addresses or other use cases.
- Current Python version support beyond the classifiers (3.3–3.6 listed, but modern support unclear).
- Whether this implementation is compatible with other Base58Check libraries or reference implementations.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 3,051 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 182,951/month — #10,078 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: base58check-1.0.2-py2.py3-none-any.whl
Keywords: base58, base58check, encoding, decoding, bitcoin, altcoin
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
base58Encodes and decodes data using Base58 and…
permissive · top 5,000 on PyPI
based58Encodes and decodes data using Base58 and…
unclear · top 15,000 on PyPI
bech32mEncodes and decodes Bech32 and Bech32m strings,…
permissive · top 15,000 on PyPI
bech32Encodes and decodes bech32-formatted strings, a…
permissive · top 15,000 on PyPI
base32-crockfordEncodes and decodes data using Douglas…
permissive · top 15,000 on PyPI
py-multibaseEncodes and decodes data using the Multibase…
permissive · top 15,000 on PyPI
cobsEncodes and decodes data using Consistent…
permissive · top 15,000 on PyPI
mbstrdecoderDecodes multi-byte character strings by…
permissive · top 5,000 on PyPI
python-baseconvConverts integers to and from strings in…
permissive · top 15,000 on PyPI
py-multihashEncodes and decodes multihash digests,…
permissive · top 15,000 on PyPI