Get Started

Learn about the SDK and modules architecture

The SDK is a comprehensive, modular plug-in framework designed to simplify multi-chain wallet development.

It is built on some core principles: self-custodial and stateless (private keys never leave your app and no data is stored by WDK), unified interface (consistent API across all blockchains), and cross-platform compatibility (works seamlessly from Node.js to React Native to embedded systems).

Capabilities

  • Multi-Chain Support: Bitcoin, Ethereum, TON, TRON, Solana, Spark, and more

  • Account Abstraction: Gasless transactions on supported chains

  • DeFi Integration: Plug-in support for swaps, bridges, and lending protocols

  • Extensible Design: Add custom modules for new blockchains or protocols


Modular Architecture

WDK's architecture is built around the concept of composable modules. Each module is a specialized component that handles specific functionality, allowing you to build exactly what you need without unnecessary complexity.

Each module has a single responsibility. Wallet modules handle blockchain operations, protocol modules manage DeFi interactions, and the core module orchestrates everything.

New functionality is added through modules rather than modifying core code. Also, modules are configured through simple objects, making them easy to customize for different environments and use cases.


Module Types

WDK modules are organized into five main categories, each serving a specific purpose in the blockchain application stack:


How to use the SDK

The WDK SDK uses a registration-based system where modules are added to a central orchestrator. This creates a unified interface while maintaining module independence.

Registration Flow

1. Core Module Initialization

2. Wallet Module Registration

3. Protocol Module Registration

Unified Operations

Once registered, all modules work through the same interface:


Creating Custom Modules

WDK's modular architecture makes it straightforward to add support for new blockchains or protocols. Each module type has a specific interface that must be implemented.

Wallet Module Interface

Protocol Module Interface

Module Implementation Example

Module Registration


Quick Start Paths

Ready to start building? Choose your development environment:


Need Help?