# Connect from Chrome.

Source: https://docs.privatar.app/extension

Use Privatar on a desktop browser and approve each site inside your wallet.

## Install and open your wallet

Install Privatar from the [official Chrome Web Store listing](https://chromewebstore.google.com/detail/fcelpbmplancfdfojemifinhefbljnle). Open its toolbar panel, create a test wallet or restore your recovery phrase, and protect the local vault with a unique password. The published Store version supports Midnight Preview and Preprod; the 0.1.5 preview also supports Mainnet and is awaiting Google review. Desktop Chrome is the extension target; phones and tablets use the Privatar app.

The [extension 0.1.5 ZIP](https://github.com/privatar/privatar-releases/releases/download/v0.0.22/privatar-extension-0.1.5.zip) is available in the [official binary release](https://github.com/privatar/privatar-releases/releases/tag/v0.0.22). For manual installation, extract the ZIP, open Chrome’s Extensions page, enable Developer mode, choose Load unpacked and select the extracted folder. The archive has manifest.json at its root. Store installations update through Chrome after Google review.

**Check the installed version.** Chrome Web Store version 0.1.4 is published. Version 0.1.5 is submitted for Google review with automatic publication after approval. The public 0.1.5 ZIP adds stable controls during synchronization, Mainnet support and missed-revocation detection. About Privatar shows your installed version; Update wallet checks what Chrome currently offers.

## Connect from a site

- Click the site’s Privatar extension action, or Connect Privatar when the site selects the installed desktop extension.
- Privatar opens its wallet panel with the requesting site origin, network and permissions. Unlock or set up the wallet first if needed.
- Approve or decline the connection inside Privatar. There is no separate Enable on this site step.
- The site receives an approved SDK connection. Sign-in and spending still require their own verified request and consent.

Chrome host access allows the connector to discover requests on eligible HTTPS and local-development pages. It does not authorize any site to read wallet data or sign. Sessions are bound to the browser-supplied origin, originating tab, network and approved permissions, expire after thirty minutes and can be revoked in Connections. Closing the toolbar panel leaves the separate wallet runtime running; locking ends access.

## Choose a transport in the SDK

TypeScript

```
import { createPrivatarClient } from '@privatar-wallet/sdk';

const client = createPrivatarClient({ appName: 'My application' });

// Start inside the user's Connect action.
const pending = await client.beginConnect({
  transport: 'auto',
  network: 'preview',
  permissions: ['addresses', 'balances', 'signData'],
});

if (pending.transport === 'app') {
  // Your UI opens pending.uri on mobile or displays it as a QR on desktop.
  showAppHandoff(pending);
}

const connection = await pending.connection;
const addresses = await connection.getAddresses();
```

Use `transport: 'auto'` to discover an installed extension on desktop and fall back to app pairing when unavailable. Use `transport: 'extension'` for an explicit extension button, or `transport: 'app'` for the phone wallet. Omitting transport preserves the app-pairing default. `client.isExtensionAvailable()` detects desktop availability; the SDK excludes mobile and tablet devices, including desktop-mode iPads. An extension connection has no pairing URI or QR. Handle a declined or failed request explicitly.

## Connection and sign-in

The same `PrivatarConnection` API provides scoped addresses, balances, supported signatures and Preview transaction requests for either wallet. The extension does not use the hosted app-pairing relay. A successful connection is permission approval, not an authenticated website account: issue a fresh server challenge, request `signData`, then verify and consume its nonce before logging in. Read [authentication](https://docs.privatar.app/authentication) and [permissions](https://docs.privatar.app/permissions).

On mobile, the site opens the Privatar app directly without a QR. Authenticated invitations can combine connection and initial sign-in in one biometric confirmation, followed by a same-origin browser return and server verification. Desktop-to-phone connections retain the QR. Never show Connected or signed in from the return URL alone.

## Sync and wallet updates

The top sync bar is collapsed by default. Expand it for the three stream details; ordinary transfers may proceed before full sync when their inputs, proofs and DUST fee are usable. See [synchronization and sending](https://docs.privatar.app/sync). A connected site can read partial balances, so handle `syncStatus` and `observedAt` rather than assuming every balance is final.

Settings includes About Privatar and Update wallet. Chrome controls installation of store updates. Finish active requests before restarting the extension for an available update. Updating does not require re-entering recovery words on a website.

## If the panel does not open

Check that Privatar is installed, enabled, updated and allowed to run on the current HTTPS or localhost site. Use a top-level page rather than an embedded frame. If the wallet is locked, unlock it in the panel. A declined, expired or revoked request requires a new user-initiated connection; keep the site’s failure and cancellation states visible.
