The EC-KCDSA variant implemented in BV is not the standard EC-KCDSA, but the variant used by the Ardor blockchain. More information on this variant can be found [here](https://gist.github.com/doctorevil/9521116). The implementation has been bound to the Edwards25519 curve.

# EC-KCDSA use

EC-KCDSA is very similar to ECDSA. There are some notable differences:

- There is no need to specify curve as it uses Edwards25519.
- There are no key derivations, so derivation path parameters are not used, and the chain code functions are not relevant.
- Since it is the Ardor variant, there are utility methods to convert JSON public keys to the keys used in Ardor (Curve25519).

## Example

There is an example of a signing flow in the TSM demo repository. The example can be found in [Go](https://gitlab.com/Blockdaemon/tsm-demo/-/blob/main/sdk/golang/eckcdsa_sign.go), [Java](https://gitlab.com/Blockdaemon/tsm-demo/-/blob/main/sdk/java/src/main/java/com/example/EckcdsaSignExample.java), and [Node.JS](https://gitlab.com/Blockdaemon/tsm-demo/-/blob/main/sdk/nodejs/eckcdsa_sign.js).
