Skip to content
Pre-Launch · Filing seed · Series A — Q4 2026

SDK matrix · TS · Py · Rust · Go

Four SDKs. One protocol. Apache 2.0.

Official client libraries for the languages our design-partner engineering teams already use. Protocol-identical with the REST and gRPC surfaces — anything the wire can express, the SDK can express.
SDKs
4 · TS · Py · Rust · Go
License
Apache 2.0
Release cadence
Monthly · SemVer
Open source
github.com/wavestar

How we build SDKs

Four principles

Every SDK is built the same way. This page explains how, so you can predict the behaviour of any SDK you pick up.
  • 01

    Generated from one protobuf source

    The shared protobuf files at github.com/wavestar/proto are the single source of truth. Every SDK regenerates from that source on every release. Breaking changes are impossible between SDKs of the same protocol version.
  • 02

    Idiomatic, not mechanical

    Each SDK feels native to its language. TypeScript uses Promises and discriminated unions. Python uses async and dataclasses. Rust uses builder patterns and Result. Go uses context.Context and explicit error returns.
  • 03

    Exact decimal arithmetic everywhere

    No SDK leaks floating-point into your business logic. TypeScript uses decimal.js, Python uses Decimal, Rust uses rust_decimal, Go uses apd. Orbital quantities and money always hit the wire with full precision.
  • 04

    OpenTelemetry by default

    Every SDK emits OpenTelemetry spans for every API call. Exporters are pluggable. The default tracer ships disabled; you opt in with one configuration flag, and your traces work with any OTLP collector.

TypeScript

@wavestar/sdk

Package

Package name
@wavestar/sdk
Current version
0.4.1
Node support
20.x · 22.x LTS
Bun support
1.1+
Deno support
1.44+
Decimal library
decimal.js
Source
github.com/wavestar/sdk-typescript

Install

bash
pnpm add @wavestar/sdk
# Browser-safe subset
pnpm add @wavestar/sdk-edge

Initialise

typescript
import { WavestarClient } from "@wavestar/sdk";

const ws = new WavestarClient({
  apiKey: process.env.WAVESTAR_KEY!,
  environment: "sandbox",
});

Python

wavestar

Package

Package name
wavestar
Current version
0.4.1
Python support
3.12+
Async
async/await native

Sync wrapper available via WavestarSync.

Decimal library
decimal.Decimal
Type hints
Full · mypy --strict clean
Source
github.com/wavestar/sdk-python

Install

bash
pip install wavestar
# or
uv add wavestar

Initialise

python
from wavestar import WavestarClient
import os

ws = WavestarClient(
    api_key=os.environ["WAVESTAR_KEY"],
    environment="sandbox",
)

Rust

wavestar

Crate

Crate name
wavestar
Current version
0.4.1
MSRV
Rust 1.78
Async runtime
tokio
Decimal library
rust_decimal
gRPC client
tonic
Source
github.com/wavestar/sdk-rust

Install

bash
cargo add wavestar
# With TLS feature
cargo add wavestar --features rustls-tls

Initialise

rust
use wavestar::{Client, Environment};

let ws = Client::builder()
    .api_key(std::env::var("WAVESTAR_KEY")?)
    .environment(Environment::Sandbox)
    .build()?;

Go

wavestar-go

Module

Module path
github.com/wavestar/wavestar-go
Current version
v0.4.1
Go support
1.22+
Context-aware
Yes · every method takes context.Context
Decimal library
github.com/cockroachdb/apd
gRPC client
google.golang.org/grpc
Source
github.com/wavestar/sdk-go

Install

bash
go get github.com/wavestar/wavestar-go

Initialise

go
import wavestar "github.com/wavestar/wavestar-go"

ws, err := wavestar.New(wavestar.Config{
    APIKey:      os.Getenv("WAVESTAR_KEY"),
    Environment: wavestar.Sandbox,
})

Release cadence

How and when SDKs update

  • 01

    Monthly minor releases

    A minor version on the first Tuesday of every month, covering schema additions, bug fixes, and performance improvements. Fully backwards-compatible inside a major version.
  • 02

    Major versions signalled 90 days ahead

    A major version is announced in the changelog, the developer newsletter, and directly by email to registered integrators 90 days before release. Deprecated fields ship for one more major window.
  • 03

    Beta channel

    Prerelease versions live on the beta channel for two weeks before promotion. Integrators running beta provide feedback; we fix and ship before the minor lands on stable.
  • 04

    LTS policy

    The most recent major version of each SDK is always supported. The prior major version receives critical security patches for 12 months after the successor is released.

Language missing?

We build community SDKs around demand.

If you are building on Wavestar and your team uses Elixir, Kotlin, or another language not in the matrix — email devsupport@wavestar.space with your use case. We co-invest in community SDKs where there is a clear integrator commitment.