arc76-core
Shared ARC76 seed
derivation (PBKDF2-HMAC-SHA256, 999,999 iterations, 32-byte output) used internally by the
per-chain arc76-* packages (arc76-algorand, arc76-ethereum, arc76-bitcoin,
arc76-bitcoincash, arc76-solana).
Most consumers should install a chain-specific package instead of this one directly — this package is only useful if you're implementing ARC76 support for a new chain yourself.
Zero third-party dependencies: PBKDF2 is computed with the standard library's
hashlib.pbkdf2_hmac,
which delegates to OpenSSL's PKCS5_PBKDF2_HMAC — the same audited implementation the
cryptography package itself relies on — falling back to a pure-Python implementation only if
OpenSSL is unavailable. There is no bespoke PBKDF2 code in this package.
Usage
pip install arc76-core
from arc76.core import derive_seed, derive_seed_with_email
seed = derive_seed(password) # bytes, 32 bytes, slot 0
seed1 = derive_seed(password, 1) # slot 1
email_seed = derive_seed_with_email(email, password) # slot 0
Password must be at least 16 characters (raises ValueError otherwise) — production passwords
should be much longer (≥ 50 characters recommended).
derive_seed/derive_seed_with_email are synchronous, unlike the TypeScript package's async
functions — Python's hashlib.pbkdf2_hmac is a synchronous, CPU-bound OpenSSL call with no
natural async form (the TypeScript package is async only because browsers' WebCrypto
subtle.deriveBits is async-only).
⚠️ Same-curve chains share the literal same key material. From the same password/email/slot,
arc76-bitcoin/arc76-bitcoincash/arc76-ethereumderive the identical secp256k1 private key, andarc76-algorand/arc76-solanaderive the identical Ed25519 keypair — leaking one chain's key leaks every other chain sharing its curve. Use a different password (orslot) per chain if you need isolation.
Metadata
Release files for arc76-core 1.2.2026080407
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arc76_core-1.2.2026080407.tar.gz | 6.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arc76_core-1.2.2026080407-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.0 kB
Release files / arc76_core-1.2.2026080407.tar.gz
| Download URL | arc76_core-1.2.2026080407.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86b2f3d45699aebfdb432001bfc220c541c79315e094ca1d665ec93e6ea19635
|
|
BLAKE2b-256 checksum How to use checksums |
952d436504a7ceb946c5599f3d9d1b032b8f85ea91d07fdf014c47b5d2769435
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency logRelease files / arc76_core-1.2.2026080407-py3-none-any.whl
| Download URL | arc76_core-1.2.2026080407-py3-none-any.whl |
|---|---|
| Size | 3.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f20a5e8be8b393ac44f6f48cb9f2f6b5aa1474e940f2e2a2e41e4afaa4652cb3
|
|
BLAKE2b-256 checksum How to use checksums |
b56bb6a4beb683f376ccd986fab34caee374bc2349beed34b037a7528516a89c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency log