Sui leverages widely adopted cryptographic standards in the blockchain industry to ensure secure and user-friendly key management. By integrating established wallet specifications such as BIP-32 (and its variant SLIP-0010), BIP-44, and BIP-39, Sui enables seamless onboarding for users familiar with other blockchain ecosystems while supporting multiple digital signature schemes including pure Ed25519, ECDSA Secp256k1, ECDSA Secp256r1, and MultiSig.
This article explores how Sui handles key derivation, address generation, mnemonic support, and cryptographic standards—providing developers and users with a comprehensive understanding of its security architecture.
Key Derivation Schemes
Sui employs different hierarchical deterministic (HD) wallet standards depending on the cryptographic signature scheme used.
For wallets utilizing the Ed25519 (EdDSA) signature algorithm, Sui follows SLIP-0010, which specifies hardened key derivation paths exclusively. This means that every child private key is derived from the parent using hardened derivation, enhancing security by preventing exposure of sibling keys even if one private key is compromised.
👉 Learn how secure key derivation boosts your crypto safety
For wallets based on ECDSA Secp256k1 and ECDSA Secp256r1, Sui adheres to the BIP-32 standard. BIP-32 introduces a hierarchical deterministic structure that allows a single master key to generate an entire tree of public and private keys. This reduces the burden of managing multiple independent keys and supports advanced use cases like watch-only wallets—where public keys can be shared or derived without exposing private keys.
This separation between public and private key derivation enables scenarios such as:
- Institutional custody solutions
- Cold storage setups
- Multi-user account systems under a single organizational umbrella
Key Derivation Paths
To standardize the path through which keys are generated, Sui implements a modified version of BIP-44, which defines a five-level path format:
m / purpose' / coin_type' / account' / change / address_indexEach segment represents a hierarchical level in the key tree:
m: Master node from the seedpurpose': Indicates the purpose of the derivation (hardened)coin_type': Identifies the cryptocurrency (hardened)account': Logical separation of user accounts (hardened)change: Distinguishes between external receiving and internal change addressesaddress_index: Index of the specific address within the account
While BIP-44 traditionally uses 44' for the purpose field, Sui customizes this value to distinguish between different signature schemes:
| Signature Scheme | Derivation Path | Notes |
|---|---|---|
| Ed25519 | m/44'/784'/{account}'/{change}/{address} | All levels hardened |
| ECDSA Secp256k1 | m/54'/784'/{account}'/{change}/{address} | First three levels hardened |
| ECDSA Secp256r1 | m/74'/784'/{account}'/{change}/{address} | First three levels hardened |
The coin_type value 784 is consistently used across all schemes, representing SUI (as 784 spells "SUI" on a phone keypad). This unified identifier ensures compatibility across wallets and tools.
Although deviating from standard purpose values may seem unconventional, it's a common practice—Bitcoin itself uses BIP-49 (49') for P2SH-P2WPKH and BIP-84 (84') for native SegWit. Sui’s use of 54' for Secp256k1 avoids conflicts with existing Bitcoin BIPs.
Because Sui’s data model is object-centric—neither purely UTXO-based nor account-based—it adopts all five levels of BIP-44 to maximize interoperability with existing infrastructure.
Mnemonic Phrase Support
To make seed phrases more human-readable and easier to back up, Sui integrates BIP-39, allowing users to generate cryptographic seeds from mnemonic phrases.
Sui accepts properly checksummed mnemonics of 12, 15, 18, 21, or 24 words from the official BIP-39 word list. These correspond to entropy lengths of 128, 160, 192, 224, and 256 bits respectively.
Once a mnemonic is entered, it is converted into a 512-bit seed via PBKDF2 hashing with an optional passphrase for added security. This seed serves as the foundation for deriving all private keys across supported signature schemes.
Sui SDKs provide flexible interfaces for signing transactions using any of these schemes, enabling developers to build applications that support diverse user preferences and legacy integrations.
Address Format
A Sui address is a 32-byte identifier generated by hashing the concatenation of a 1-byte signature scheme flag and the public key bytes using the BLAKE2b hash function (with 256-bit output).
The first byte of the input determines the cryptographic scheme:
| Scheme | Flag Byte | Description |
|---|---|---|
| Ed25519 | 0x00 | Default high-speed signing |
| ECDSA Secp256k1 | 0x01 | Ethereum-compatible signing |
| ECDSA Secp256r1 | 0x02 | NIST-standard curve (P-256) |
| MultiSig | 0x03 | Supports multi-party signatures |
This design allows Sui to natively support multiple cryptographic standards within a single address space—facilitating interoperability with wallets and tools from various ecosystems.
👉 Discover how modern blockchains handle multi-signature security
Practical Example: Generating a Key Pair
Here’s how you can derive a key pair using a mnemonic phrase in TypeScript:
const keypair = Ed25519Keypair.deriveKeypair(
TEST_MNEMONIC,
"m/44'/784'/0'/0'/0'"
);
const address = keypair.getPublicKey().toSuiAddress();This code snippet demonstrates:
- Deriving a private key from a mnemonic using a specific HD path
- Extracting the corresponding public key
- Converting it into a valid Sui address
Comprehensive test vectors are available in the official Sui GitHub repository for both pure Ed25519 and ECDSA Secp256k1 implementations, ensuring transparency and verifiability.
Frequently Asked Questions
Q: What are the supported signature schemes in Sui?
A: Sui supports Ed25519, ECDSA Secp256k1, ECDSA Secp256r1, and MultiSig—enabling flexibility across security models and ecosystem integrations.
Q: Can I use my existing seed phrase from another wallet?
A: Yes, if your wallet uses BIP-39 mnemonics and supports compatible derivation paths (like m/44'/784'), you can import your seed into a Sui-compatible wallet.
Q: Why does Sui use BLAKE2b instead of SHA-256 or Keccak?
A: BLAKE2b offers superior performance and security characteristics compared to older hash functions. It's faster than SHA-256 while maintaining strong resistance against collision attacks.
Q: Are all derivation paths hardened?
A: For Ed25519, yes—all five levels use hardened derivation. For ECDSA schemes, only the first three (purpose, coin_type, account) are hardened; change and address_index use non-hardened derivation.
Q: How does Sui ensure compatibility with other blockchains?
A: By adopting BIP-39 for mnemonics, BIP-32/SLIP-0010 for key derivation, and using Ethereum-compatible curves like Secp256k1, Sui ensures smooth integration with popular tools and wallets.
Q: What is the significance of coin_type 784?
A: The number 784 corresponds phonetically to "SUI" on a telephone keypad (7=S, 8=U, 4=I), making it easy to remember and officially registered for Sui in global coin type registries.
🔑 Core Keywords: Sui key management, BIP-39 mnemonic, Ed25519 signing, Sui address format, HD wallet derivation, BLAKE2b hashing, MultiSig support, Secp256k1 compatibility