GitHunt
LI

LiskHQ/panna-sdk

Panna SDK is a developer-first toolkit for building seamless, user-friendly decentralized applications

Panna Monorepo

This is a TypeScript monorepo for developing a Panna SDK.

๐Ÿ“ฆ Packages

panna-sdk

Wallet, transaction, chain and contract logic, including optional React components and hooks.

  • Written in TypeScript
  • Built with tsup (ESM + CJS)
  • Contains both core logic (headless) and React UI/Hooks

๐ŸŒ Apps

example-app

Example Next.js 14 app demonstrating how to use the panna-sdk.

  • React 19+ App Router
  • Tailwind CSS
  • Consumes panna-sdk directly

๐Ÿ“š Documentation

Core Module Documentation

Comprehensive guides for all SDK modules are available in the core package:

๐Ÿ“– View Core Module Docs

The documentation includes:

  • Client - SDK initialization and configuration
  • Wallet - User authentication and account management
  • Transaction - Blockchain transaction handling
  • Chain - Network configuration
  • Onramp - Fiat-to-crypto gateway
  • Util - Helper functions and utilities

Each module includes detailed usage examples, API references, and integration guides.

React Module Documentation

Complete documentation for building React applications with the Panna SDK:

โš›๏ธ View React Module Docs

The React module includes:

  • Components - Pre-built React components for authentication, transactions, and account management
  • Hooks - React hooks for wallet state, blockchain data, and user interactions
  • Utils - Utility functions for address formatting, conversions, and more
  • Types - TypeScript type definitions for React components and hooks
  • Consts - Constants and configuration for tokens, countries, and currencies

Each module includes comprehensive examples, type definitions, and best practices for React development.


๐Ÿงฐ Tooling

  • Monorepo: PNPM Workspaces
  • Build: tsup (for SDK bundling)
  • Testing: jest, ts-jest
  • Linting: eslint, prettier
  • TypeScript: Strict mode with project references

๐Ÿ›  Getting Started

1. Install Dependencies

pnpm install

2. Build SDK

pnpm --filter panna-sdk build

3. Configure Example App

Copy the environment file and add your credentials:

cp apps/example-app/.env.example apps/example-app/.env

Edit apps/example-app/.env and fill in the required values:

NEXT_PUBLIC_CLIENT_ID=your-client-id
NEXT_PUBLIC_PARTNER_ID=your-partner-id
NEXT_PUBLIC_CHAIN_ID=1135  # or 4202 for testnet

4. Run Example App

pnpm --filter example-app dev

Open http://localhost:3000 to view the app.

๐Ÿงช Test SDK

pnpm --filter panna-sdk test

๐Ÿ“ Project Structure

your-monorepo/
โ”œโ”€โ”€ apps/
โ”‚   โ””โ”€โ”€ example-app/        # Next.js app using the SDK
โ”œโ”€โ”€ packages/
โ”‚   โ””โ”€โ”€ panna-sdk/           # Core logic + React wrappers built on thirdweb
โ”œโ”€โ”€ pnpm-workspace.yaml     # Workspace definitions
โ”œโ”€โ”€ tsconfig.json           # Base TS config
โ”œโ”€โ”€ jest.config.js          # Jest config for SDK testing
โ”œโ”€โ”€ .eslintrc.js            # Linting rules
โ””โ”€โ”€ .prettierrc             # Prettier formatting

๐Ÿ’ฌ Support & Community

Need help or want to connect with the community?

Join our Discord - Get support, share feedback, and collaborate with other developers.

For questions, issues, or contributions, feel free to reach out through our Discord community!