Skip to main content

Deterministic ARC76 account derivation for Solana. https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0076.md

Project description

arc76-solana

ARC76 Account

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-algorand and arc76-solana derive 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 (or slot) per chain if you need isolation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arc76_solana-1.1.2026080321.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arc76_solana-1.1.2026080321-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file arc76_solana-1.1.2026080321.tar.gz.

File metadata

  • Download URL: arc76_solana-1.1.2026080321.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

Hashes for arc76_solana-1.1.2026080321.tar.gz
Algorithm Hash digest
SHA256 32d29fd825e3fd6ba82ddad4bebbec2335d563fda5253e1b9ed19759d0f0d8da
MD5 f09e97a90a4986ac2b7de6c781dc6ce4
BLAKE2b-256 ed1fcc781d7b16c55ecb9612487f23d6bac817eda304eb02ad75b79f5d3f1685

See more details on using hashes here.

Provenance

The following attestation bundles were made for arc76_solana-1.1.2026080321.tar.gz:

Publisher: publish-pypi.yml on scholtz/ARC76Account

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arc76_solana-1.1.2026080321-py3-none-any.whl.

File metadata

File hashes

Hashes for arc76_solana-1.1.2026080321-py3-none-any.whl
Algorithm Hash digest
SHA256 6c6623f6edb68cd53dcab147dceefa61f1586c49c738dad6c344ad9805bffa77
MD5 9e5dc6456166db0631ccc9f1928dd0fa
BLAKE2b-256 757e604626faf13d62d0b9a0930962a0ca08fed9416f7573f431ca4d7fff43e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for arc76_solana-1.1.2026080321-py3-none-any.whl:

Publisher: publish-pypi.yml on scholtz/ARC76Account

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page