> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SigningAlgorithm

> Enum defining signing algorithms used by different blockchain chains

## Enum Definition

```typescript theme={"system"}
enum SigningAlgorithm {
  ECDSA = 'ECDSA',
  ED25519 = 'ED25519',
  BIP340 = 'BIP340',
}
```

## Values

### `ECDSA`

* **Description**: Elliptic Curve Digital Signature Algorithm
* **Use Case**: EVM chains (Ethereum, Polygon, BSC, etc.)
* **Curve**: secp256k1
* **Security**: Industry standard for Ethereum and EVM-compatible chains

### `ED25519`

* **Description**: Edwards-curve Digital Signature Algorithm
* **Use Case**: Solana, Cosmos, Flow, Sui, and other modern chains
* **Curve**: Curve25519
* **Security**: High performance, modern cryptographic algorithm

### `BIP340`

* **Description**: Bitcoin Improvement Proposal 340 (Schnorr signatures)
* **Use Case**: Bitcoin and Bitcoin-compatible chains
* **Curve**: secp256k1
* **Security**: More efficient than ECDSA for Bitcoin

## Chain Mapping

Each blockchain chain uses a specific signing algorithm:

```typescript theme={"system"}
const MPC_CHAIN_CONFIG = {
  EVM: {
    derivationPath: [44, 60, 0, 0, 0],
    signingAlgorithm: SigningAlgorithm.ECDSA,
  },
  SVM: {
    derivationPath: [44, 501, 0, 0, 0],
    signingAlgorithm: SigningAlgorithm.ED25519,
  },
  BTC: {
    derivationPath: [84, 0, 0, 0, 0],
    signingAlgorithm: SigningAlgorithm.BIP340,
  },
  COSMOS: {
    derivationPath: [44, 118, 0, 0, 0],
    signingAlgorithm: SigningAlgorithm.ED25519,
  },
  FLOW: {
    derivationPath: [44, 539, 0, 0, 0],
    signingAlgorithm: SigningAlgorithm.ED25519,
  },
  SUI: {
    derivationPath: [44, 784, 0, 0, 0],
    signingAlgorithm: SigningAlgorithm.ED25519,
  }
};
```

## Example

```typescript theme={"system"}
import { SigningAlgorithm } from '@dynamic-labs-wallet/node';

// Check signing algorithm for EVM
const evmAlgorithm = SigningAlgorithm.ECDSA;
console.log('EVM uses:', evmAlgorithm); // 'ECDSA'

// Check signing algorithm for Solana
const solanaAlgorithm = SigningAlgorithm.ED25519;
console.log('Solana uses:', solanaAlgorithm); // 'ED25519'

// Check signing algorithm for Bitcoin
const bitcoinAlgorithm = SigningAlgorithm.BIP340;
console.log('Bitcoin uses:', bitcoinAlgorithm); // 'BIP340'
```

## Usage

This enum is used to determine:

* **Key share types**: Different algorithms use different key share structures
* **Signature formats**: Each algorithm produces different signature formats
* **Chain compatibility**: Ensures correct algorithm is used for each chain

## Related Types

* [`ServerKeyShare`](/node/reference/types/server-key-share) - Key share types that depend on signing algorithm
* [`ThresholdSignatureScheme`](/node/reference/types/threshold-signature-scheme) - Threshold signature schemes
