Build on Polkadot
without the friction
Typed chain data, wallet auth, React hooks — the developer experience Polkadot has been missing. Install and ship.
import { betterAuth } from 'better-auth';
import { siwp } from '@zig-zag/better-siwp';
export const auth = betterAuth({
plugins: [siwp()],
});The Problem
Ethereum has wagmi, viem, and RainbowKit. Solana has wallet-adapter and Anchor. Polkadot developers have been left to piece together their own tooling from scattered, untyped libraries.
ZigZag
A growing ecosystem of typed, tested, ready-to-use packages that make Polkadot development feel as smooth as any other chain. Install a package, read the types, build your app.
Packages
@zig-zag/chains
v1.1.0Typed chain registry for the Polkadot ecosystem. 20+ chains with logos, named RPC providers, genesis hashes, Subscan URLs, light client specs, and network topology. Tree-shakeable.
Read docsimport { polkadot, moonbeam } from '@zig-zag/chains';
polkadot.name // "Polkadot"
polkadot.rpcUrls.dwellir // "wss://polkadot-rpc.n.dwellir.com"
polkadot.chainIconUrl // base64 SVG data URI
polkadot.genesisHash // "0x91b171bb..."
moonbeam.decimals // 18@zig-zag/better-siwp
v0.1.2Sign In With Polkadot for Better Auth. Nonce generation, signature verification, session management, cookie-based auth — all handled. Works with Talisman, SubWallet, Polkadot.js, or any compatible extension.
import { betterAuth } from 'better-auth';
import { siwp } from '@zig-zag/better-siwp';
export const auth = betterAuth({
plugins: [siwp()],
});Coming next
@zig-zag/core
Framework-agnostic utilities extracted from production apps. SS58 address formatting, denomination conversions (toPlanck/fromPlanck), address display helpers. Zero framework dependencies.
@zig-zag/react
React hooks and providers for Dedot and LunoKit. Headless connect button, chain selector, wallet selector. Create your config, wrap your app, use the hooks.
Start building
Two packages, zero config, full TypeScript. Polkadot development that just works.