based58
A fast Python library for Base58 and Base58Check
What it is and what it does
based58 is a Python wrapper around the Rust bs58 library that provides Base58 and Base58Check encoding and decoding. It accepts only bytes as input (not strings) and offers support for multiple alphabets, including the Ripple alphabet. The package is significantly faster than pure-Python alternatives because it delegates the encoding/decoding work to compiled Rust code.
The library is intended for applications that need to work with Base58-encoded data—commonly used in cryptocurrency systems, blockchain addresses, and other binary-to-text encoding scenarios. However, the package has been abandoned since mid-2022 with no recent maintenance, so it receives no updates, security patches, or bug fixes.
Use it for:
- Encode and decode Bitcoin or other cryptocurrency addresses that use Base58Check.
- Convert binary data to Base58 text format for storage or transmission in systems that require it.
- Integrate Base58 encoding into applications that work with blockchain or distributed ledger data.
- Perform fast Base58 operations in performance-critical sections where pure-Python libraries are too slow.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Encodes and decodes data using Base58 and Base58Check algorithms, with support for multiple alphabets, backed by a Rust implementation for speed.
No—the package is abandoned with no maintenance since July 2022, an unclear license, and no security updates. While it works for Base58 encoding/decoding, the lack of ongoing support and unresolved licensing make it unsuitable for production use. Consider a maintained alternative or verify the license status and security posture of the upstream Rust bs58 library before adopting this wrapper.
Install
based58 on PyPI
pip
pip install based58uv
uv add based58poetry
poetry add based58Installing based58
Before you install
Medium install friction due to compiled wheels; the package is abandoned (last release April 2022, no commits since July 2022), so no maintenance updates or security patches are forthcoming.
License in practice
License status is unclear—no SPDX identifier or raw license text is available in the package metadata, so the legal terms for use and distribution cannot be verified from the package itself.
Quickstart
pip install based58
import based58
encoded = based58.b58encode(b'hello world')
decoded = based58.b58decode(b'StV1DL6CwTryKyV')
encoded_check = based58.b58encode_check(b'hello world')
Requires Python >= 3.7; installation pulls pre-built wheels for your platform.
Verify before relying
- Whether the unclear license status has been resolved upstream or in any formal documentation.
- Current security posture and whether the Rust bs58 dependency has known vulnerabilities.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,573 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 149,290/month — #10,998 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: based58-0.1.1-cp37-abi3-macosx_10_7_x86_64.whl; based58-0.1.1-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl; based58-0.1.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; based58-0.1.1-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; based58-0.1.1-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; based58-0.1.1-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl; based58-0.1.1-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl; based58-0.1.1-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl; based58-0.1.1-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl; based58-0.1.1-cp37-abi3-musllinux_1_2_aarch64.whl; based58-0.1.1-cp37-abi3-musllinux_1_2_armv7l.whl; based58-0.1.1-cp37-abi3-musllinux_1_2_i686.whl; based58-0.1.1-cp37-abi3-musllinux_1_2_x86_64.whl; based58-0.1.1-cp37-abi3-win32.whl; based58-0.1.1-cp37-abi3-win_amd64.whl
Tags
More Cryptography packages
Certifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
cryptographycryptography provides cryptographic recipes and…
permissive · top 100 on PyPI
rsaPure-Python RSA encryption, decryption,…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI
PyNaClPyNaCl provides Python bindings to libsodium…
permissive · top 1,000 on PyPI
base58Encodes and decodes data using Base58 and…
permissive · top 5,000 on PyPI
base58checkEncodes and decodes byte arrays using the…
permissive · top 15,000 on PyPI
python-baseconvConverts integers to and from strings in…
permissive · top 15,000 on PyPI
py-multibaseEncodes and decodes data using the Multibase…
permissive · top 15,000 on PyPI
bech32mEncodes and decodes Bech32 and Bech32m strings,…
permissive · top 15,000 on PyPI
base2048Encodes and decodes binary data using Base2048,…
permissive · top 15,000 on PyPI
mikeshardmind-base2048Encodes binary data into text using base2048, a…
copyleft · top 15,000 on PyPI
databento-dbndatabento-dbn provides Python bindings for…
permissive · top 5,000 on PyPI
basesProvides customizable Base-N encoding and…
unclear · top 15,000 on PyPI
betterproto-rust-codecProvides fast Rust-based conversion between…
permissive · top 15,000 on PyPI