Accounts & Keys
Every XE account is an ed25519 key pair. The public key, hex-encoded (64 hex chars / 32 bytes), is the account address. No prefixes, no checksums.
Key Generation
kp, err := core.GenerateKeyPair() // random
kp := core.KeyPairFromSeed(seed) // deterministic from 32-byte seed Block Signing
- Canonical encoding via
MarshalBlockCanonical() - SHA-256 hash →
b.Hash ed25519.Sign(privateKey, hashBytes)→b.Signature
Multisig Accounts
- Address =
sha256(canonical(keyset))(hash-derived) - Opened with
multisig_openblock - Rotated via
multisig_updateblocks - Spending: M-of-N threshold; Receiving: 1-of-N
Delegation
Each block includes an optional Representative field. Empty means keep current delegation. Only XUSD balances contribute to delegation weight.