Keypair
The Keypair class represents an Ed25519 keypair for signing SOMA transactions.
from soma_sdk import KeypairConstructors
Section titled “Constructors”generate
Section titled “generate”Generate a new random Ed25519 keypair.
kp = Keypair.generate()Returns: Keypair
Example
Section titled “Example”kp = Keypair.generate()print(kp.address()) # 0x...from_secret_key
Section titled “from_secret_key”Import a keypair from a secret key.
kp = Keypair.from_secret_key(secret)| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
secret | bytes | str | Yes | — | 32-byte secret key (bytes or hex string) |
Returns: Keypair
from_mnemonic
Section titled “from_mnemonic”Derive a keypair from a BIP-39 mnemonic phrase.
kp = Keypair.from_mnemonic("word1 word2 ... word12")| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
mnemonic | str | Yes | — | BIP-39 mnemonic phrase (12, 15, 18, 21, or 24 words) |
Returns: Keypair
Methods
Section titled “Methods”address
Section titled “address”Get the SOMA address derived from this keypair’s public key.
addr = kp.address() # "0x..."Returns: str — hex-encoded SOMA address
Sign transaction data bytes.
signature = kp.sign(tx_data_bytes)| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
tx_data_bytes | bytes | Yes | — | BCS-serialized transaction data |
Returns: bytes — Ed25519 signature
to_secret_key
Section titled “to_secret_key”Export the secret key as a hex string.
secret = kp.to_secret_key() # hex stringReturns: str — hex-encoded 32-byte secret key