Prerequisites
authContextis required. This is the result from the authentication flow.pubkeyis required. This is the public key of the PKP to sign with.
Quick Example
Hashing defaults and bypass
By default the SDK hashes ECDSA payloads for you using the canonical function for each chain (Ethereum → keccak256, Bitcoin/Cosmos → SHA-256/SHA-384) before sending to the nodes for signing. Schnorr/EdDSA schemes receive the raw bytes exactly as you provided them. If you already computed a digest (for example when signing EIP-712 typed data) you can pass it directly and opt out of the SDK hashing step by settingbypassAutoHashing: true:
Available signing schemes
ECDSA Schemes
| Scheme | Curve |
|---|---|
EcdsaK256Sha256 | secp256k1 |
EcdsaP256Sha256 | NIST P‑256 |
EcdsaP384Sha384 | NIST P‑384 |
EdDSA Schemes
| Scheme | Curve |
|---|---|
SchnorrEd25519Sha512 | ed25519 |
SchnorrEd448Shake256 | ed448 |
Schnorr Variants
| Scheme | Curve |
|---|---|
SchnorrK256Taproot | secp256k1 |
SchnorrK256Sha256 | secp256k1 |
SchnorrP256Sha256 | NIST P‑256 |
SchnorrP384Sha384 | NIST P‑384 |
ZK/Privacy Schnorr Variants
| Scheme | Curve |
|---|---|
SchnorrRistretto25519Sha512 | Ristretto25519 |
SchnorrRedJubjubBlake2b512 | Jubjub |
SchnorrRedDecaf377Blake2b512 | Decaf377 |
SchnorrkelSubstrate | sr25519 |