Have ideas to improve npm?Join in the discussion! »

    TypeScript icon, indicating that this package has built-in type declarations

    1.0.15 • Public • Published


    An implementation of swtc keypairs & wallet generation using elliptic which supports rfc6979 and eddsa deterministic signatures.


    npm install swtc-keypairs
    const { Keypairs } = require("@swtc/keypairs")

    API Methods

    generateSeed({entropy?: Array<integer>, algorithm?: string}) -> string

    Generate a seed that can be used to generate keypairs. Entropy can be provided as an array of bytes expressed as integers in the range 0-255. If provided, it must be at least 16 bytes long. If not provided, entropy will be automatically generated. The "algorithm" defaults to "ecdsa-secp256k1", but can also be set to "ed25519". The result is a seed encoded in base58, starting with "s".

    deriveKeypair(seed: string) -> {privateKey: string, publicKey: string}

    Derive a public and private key from a seed. The keys are represented as 33-byte hexadecimal strings.

    sign(messageHex: string, privateKey: string) -> string

    Sign an arbitrary hex-encoded message with a private key. Returns the signature as a hexadecimal string.

    verify(messageHex: string, signature: string, publicKey: string) -> boolean

    Verify a signature for a given hex-encoded message and public key. Returns true if the signature is valid, false otherwise.

    deriveAddress(publicKey: string) -> string

    Derive a Ripple address from a public key.

    deriveNodeAddress(publicKey: string) -> string

    Derive a node address from a public key.

    Generate a random Jingtum address

    const seed = generateSeed();
    const keypair = deriveKeypair(seed);
    const address = deriveAddress(keypair.publicKey);


    npm i @swtc/keypairs

    DownloadsWeekly Downloads






    Unpacked Size

    253 kB

    Total Files


    Last publish


    • avatar