Methods for dealing with cryptographic keys on multiple curves (secp256k1, Ed25519).
This package is part of the Agent Commerce Kit.
npm i @agentcommercekit/keys
# or
pnpm add @agentcommercekit/keysimport {
encodePublicKeyFromKeypair,
generateKeypair,
keypairToJwk,
} from "@agentcommercekit/keys"
// Generate and format keypairs
const keypair = await generateKeypair("secp256k1")
const jwkKeypair = keypairToJwk(keypair)
// Format public keys
const hexPublicKey = encodePublicKeyFromKeypair("hex", keypair)
const jwkPublicKey = encodePublicKeyFromKeypair("jwk", keypair)
const multibasePublicKey = encodePublicKeyFromKeypair("multibase", keypair)
const base58PublicKey = encodePublicKeyFromKeypair("base58", keypair)generateKeypair(curve: KeyCurve, privateKeyBytes?: Uint8Array): Promise<Keypair>keypairToJwk(keypair: Keypair): PrivateKeyJwkjwkToKeypair(jwk: PrivateKeyJwk): Keypair
encodePublicKeyFromKeypair<T extends PublicKeyEncoding>(encoding: T, keypair: Keypair): PublicKeyTypeMap[T]
Encoding utilities are also available via subpath exports:
import { base58ToBytes, bytesToBase58 } from "@agentcommercekit/keys/encoding"Copyright (c) 2025 Catena Labs, Inc.