Deterministic ARC76 account derivation for Solana. https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0076.md
Project description
arc76-solana
Deterministic ARC76 account derivation for Solana.
Usage
pip install arc76-solana
import base58
from arc76.solana import get_account, get_email_account
account = get_account(password) # slot 0
print(base58.b58encode(account.public_key).decode()) # address
print(base58.b58encode(account.secret_key).decode()) # private key (Phantom export format)
email_account = get_email_account(email, password)
Both functions return a SolanaAccount(public_key, secret_key). The 32-byte ARC76 seed is
expanded directly into an Ed25519 keypair (no BIP32/BIP44 hierarchical derivation, no mnemonic):
public_key— 32-byte Ed25519 public key; base58-encode it for the Solana address.secret_key— 64-byte expanded Ed25519 secret key (seed || public_key); base58-encode it for the private key, the same format wallets like Phantom use for private-key export.
The Ed25519 keypair is expanded via PyNaCl (the Python
binding for libsodium), matching what tweetnacl (TypeScript) and Chaos.NaCl (.NET) do.
Deliberately does not depend on solana-py/solders — only Keypair-equivalent
functionality (no RPC) is needed here.
Please use a password of at least 50 characters for real accounts — the account's security is entirely the password's security.
⚠️ Same-curve chains share the literal same keypair.
arc76-algorandandarc76-solanaderive the identical Ed25519 keypair from the same password/email/slot — leaking the key on one of those chains leaks it on the other. Use a different password (orslot) per chain if you need isolation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arc76_solana-1.2.2026080407.tar.gz.
File metadata
- Download URL: arc76_solana-1.2.2026080407.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a622aa12cab58fa5e82e54498d35fb76bc774a12c5298928ca342e1e5bdfbaa
|
|
| MD5 |
c049586df6259c9541effa3b6d16d6b0
|
|
| BLAKE2b-256 |
7b837f5c2605a2aafcd19558c925320c9b729c696d3a6077d35317fe60ab50c3
|
Provenance
The following attestation bundles were made for arc76_solana-1.2.2026080407.tar.gz:
Publisher:
publish-pypi.yml on scholtz/ARC76Account
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arc76_solana-1.2.2026080407.tar.gz -
Subject digest:
8a622aa12cab58fa5e82e54498d35fb76bc774a12c5298928ca342e1e5bdfbaa - Sigstore transparency entry: 2339311557
- Sigstore integration time:
-
Permalink:
scholtz/ARC76Account@707d15acdbd71422686265911fc5ade472c02201 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/scholtz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@707d15acdbd71422686265911fc5ade472c02201 -
Trigger Event:
push
-
Statement type:
File details
Details for the file arc76_solana-1.2.2026080407-py3-none-any.whl.
File metadata
- Download URL: arc76_solana-1.2.2026080407-py3-none-any.whl
- Upload date:
- Size: 3.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68abbcc6c7b1bbbc69178a60c680bde72ec1a6704fd1edcec9d3d63a7322dcaa
|
|
| MD5 |
65086a845ce764de2d40d45dfde8c62e
|
|
| BLAKE2b-256 |
49c8c9da5e04e72a79a6604ac392c0e50d826f10b179430943e14583dd7ddb2b
|
Provenance
The following attestation bundles were made for arc76_solana-1.2.2026080407-py3-none-any.whl:
Publisher:
publish-pypi.yml on scholtz/ARC76Account
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arc76_solana-1.2.2026080407-py3-none-any.whl -
Subject digest:
68abbcc6c7b1bbbc69178a60c680bde72ec1a6704fd1edcec9d3d63a7322dcaa - Sigstore transparency entry: 2339311562
- Sigstore integration time:
-
Permalink:
scholtz/ARC76Account@707d15acdbd71422686265911fc5ade472c02201 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/scholtz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@707d15acdbd71422686265911fc5ade472c02201 -
Trigger Event:
push
-
Statement type: