[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [local‑first/Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner) › OwnerWebSocketTransport

Defined in: [packages/common/src/local-first/Owner.ts:347](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/local-first/Owner.ts#L347)

WebSocket transport configuration.

## Authentication via URL

The [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId) is passed as a URL query parameter. While this approach is
generally discouraged for authentication tokens (they get logged), it's safe
here because OwnerId is pseudonymous and used only for access verification -
it provides no ability to read encrypted data or write changes.

See: [HTTP headers in Websockets client
API](https://stackoverflow.com/questions/4361173/http-headers-in-websockets-client-api/74564827#74564827)

## Error Handling

When a relay rejects a connection (invalid OwnerId, unauthorized owner, or
server error), the browser WebSocket API does not expose the specific HTTP
status code or reason - it only reports a generic connection failure. The
client automatically retries with exponential backoff and jitter, eventually
succeeding once the configuration or server issue is resolved.

Legitimate clients will be properly configured with valid credentials, so
automatic retry is OK.

## See

- [createOwnerWebSocketTransport](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createOwnerWebSocketTransport)
- [parseOwnerIdFromOwnerWebSocketTransportUrl](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/parseOwnerIdFromOwnerWebSocketTransportUrl)

## Extends

- [`Typed`](https://evolu.dev/docs/api-reference/common/Type/interfaces/Typed)\<`"WebSocket"`\>

## Properties

<a id="type"></a>

### type

```ts
readonly type: "WebSocket";
```

Defined in: [packages/common/src/Type.ts:3492](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Type.ts#L3492)

#### Inherited from

[`Typed`](https://evolu.dev/docs/api-reference/common/Type/interfaces/Typed).[`type`](https://evolu.dev/docs/api-reference/common/Type/interfaces/Typed#type)

---

<a id="url"></a>

### url

```ts
readonly url: string;
```

Defined in: [packages/common/src/local-first/Owner.ts:348](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/local-first/Owner.ts#L348)