> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# DPoPInitError

> Thrown when DPoP key initialization fails.

Raised during client construction when DPoP (Demonstrating Proof-of-Possession) key initialization fails — typically because the browser does not expose a usable `SubtleCrypto` (insecure origin, very old browser) or persistent storage is unavailable for the key material. The error is fatal: a `SignalWire` instance that cannot initialize DPoP cannot authenticate.

## **Extends**

* `Error`

## **Constructors**

### Constructor

```ts
new DPoPInitError(originalError, message?): DPoPInitError
```

### Parameters

**`originalError`** `unknown` — required

Underlying error raised during DPoP key initialization.

---

**`message`** `string`

Human-readable error message.

---

## **Properties**

**`originalError`** `unknown` — required

Underlying error raised during DPoP key initialization.

---

## **Examples**

```ts
import { DPoPInitError } from '@signalwire/js';

try {
  const client = new SignalWire(credentialProvider);
  await client.connect();
} catch (err) {
  if (err instanceof DPoPInitError) {
    // Likely cause: insecure origin or unsupported browser.
    showFallbackUI('Your browser does not support secure authentication.');
  }
}
```