PartyLayerDocs
Try Demo

Introduction

PartyLayer is an open-source SDK for integrating Canton Network wallets into your dApp. It provides a unified interface across every Canton wallet — registry-backed, verified, and type-safe — so you can focus on building your application, not wrestling with wallet APIs.

💡 Zero-Config React
With PartyLayerKit and ConnectButton, you can add full wallet connectivity to a React app in under 10 lines of code.

Key Features

Zero-Config React
PartyLayerKit + ConnectButton for instant wallet integration. No boilerplate needed.
CIP-0103 Compliant
Full implementation of the Canton dApp Standard — 10 methods, 4 events, typed errors.
5 Wallet Adapters
Console, Loop, Cantor8, and Nightly auto-registered. Bron available for enterprise.
Registry Discovery
Verified wallets fetched from the PartyLayer registry with signature verification.
Type-Safe
Branded types, strict TypeScript, and 12 typed error classes with stable error codes.
Themes & Customization
Light, dark, and auto themes. Full theme customization with PartyLayerTheme.

Why PartyLayer?

Without PartyLayer, integrating wallets on Canton means handling each wallet's proprietary API, managing CIP-0103 compliance, building your own connection UI, and handling errors across different transport layers (PostMessage, deep links, QR codes, injected providers).

With PartyLayer, you get a single, consistent interface that works with every Canton wallet. The SDK handles registry discovery, adapter negotiation, session management, and provides ready-to-use React components — all with TypeScript types and meaningful error messages.

Before PartyLayer

tsx
// Manual wallet integration — per wallet
const consoleWallet = await window.canton.console.request({ method: 'connect' });
const loopWallet = await connectViaQR('loop', { ... });
const nightlyWallet = window.nightly?.canton?.connect();
// Different APIs, different error handling, different UX...

With PartyLayer

tsx
import { PartyLayerKit, ConnectButton } from '@partylayer/react';

function App() {
  return (
    <PartyLayerKit network="mainnet" appName="My dApp">
      <ConnectButton />
    </PartyLayerKit>
  );
}

Packages

  • @partylayer/sdk — Core SDK with createPartyLayer, client, adapters, and events
  • @partylayer/react — React hooks (useSession, useConnect, ...) and components (PartyLayerKit, ConnectButton, WalletModal)
  • @partylayer/core — Shared types, errors, and CIP-0103 type definitions
  • @partylayer/provider — CIP-0103 native Provider implementation and bridge

Getting Started

Ready to integrate? Head to the Installation guide to set up PartyLayer, or jump straight to the Quick Start for a complete working example.

NextInstallation