Skip to content
Core SDK

Ethereum signing

Derive public accounts and sign hashes, personal messages, and EIP-155 transactions.

Derive public addresses

typescript
const account0 = await leaf.getAccountAddr({
  keyVaultAddr: created.keyVault,
  index: 0,
});

const accounts = await leaf.getAccountAddresses({
  keyVaultAddr: created.keyVault,
  fromIndex: 0,
  count: 5,
});

Address derivation is public and does not require an auth proof. SDK method signatures are version-sensitive; the underlying WalletLogic methods accept an account index or range.

Protected signing

typescript
const signature = await leaf.signMessage({
  keyVaultAddr: created.keyVault,
  index: 0,
  message,
  authProof,
});
  • sign signs an already-computed 32-byte digest.
  • signMessage applies Ethereum EIP-191 personal-message semantics.
  • signTransaction produces an EIP-155 legacy transaction payload.