SDK

software development kit, software development kits, devkit

A software development kit: the libraries, docs, examples, and tools that help developers build apps for a platform, protocol, or service.

SDK stands for software development kit. It is the package a project ships for developers who want to build on top of a platform, protocol, or service. A typical SDK includes client libraries, type definitions, documentation, examples, and helper code for common tasks such as authentication, networking, storage, or event handling.

The goal is simple: give developers the parts they need so they can build product logic instead of rewriting the same plumbing in every app. In the OpenSats ecosystem, that can mean a wallet SDK that handles signing and node connectivity, a Bitcoin library that exposes reusable protocol code, or a Nostr SDK that manages relays, events, and message formats.

An SDK is related to an API, but the two terms describe different layers. The API is the interface itself. The SDK is the developer package built around that interface, usually including code, docs, and utilities that make the interface easier to use.

Good SDKs make ecosystems easier to extend. When maintainers publish solid SDKs, more wallets, clients, services, and experiments can build on the same foundation without starting from zero.

OpenSats-funded SDK-style projects

OpenSats has funded many SDK-style projects, such as:

  • BDK (Bitcoin Dev Kit), a Rust toolkit for building Bitcoin wallets
  • LDK (Lightning Dev Kit), a modular Lightning library written in Rust
  • NDK (Nostr Dev Kit), a TypeScript toolkit for building nostr applications
  • PDK (Payjoin Dev Kit), a Rust Payjoin library with bindings for multiple languages
  • Applesauce, a modular TypeScript SDK for nostr web clients
  • rust-bitcoin, a low-level Rust Bitcoin library stack

References