Developer SDKs & API Reference

Keywords

openme SDK, openme API, SPA library, Single Packet Authentication library, Go API, Swift OpenMeKit, Kotlin OpenMeKit, Android SDK, C# OpenMeKit, C library openmelib

openme ships official client libraries for every major platform. Each library implements the full 165-byte SPA knock protocol and produces byte-identical packets to the Go reference implementation.

Libraries at a Glance

Platform Library Language Distribution
Linux / macOS / Windows Go CLI & package Go GitHub Releases / go install
iOS · macOS · watchOS OpenMeKit (Swift) Swift Swift Package Manager
Android OpenMeKit (Kotlin) Kotlin Gradle module / AAR
Windows OpenMeKit (.NET) C# / .NET 8 NuGet / DLL
Embedded / Arduino / ESP32 openmelib (C) C99 CMake / Arduino Library

Shared Protocol

All libraries:

  • Produce a 165-byte UDP packet with the same byte layout
  • Use the same crypto stack — Curve25519 ECDH → HKDF-SHA256 → ChaCha20-Poly1305 → Ed25519
  • Are validated against the same known-answer test vectors from the Go reference implementation
  • Follow the naming conventions defined in the protocol spec

See Protocol Specification for the full wire-format definition.

Choosing a Library