Developers · SDKs

SDKs for every stack.

Official libraries that handle auth, retries, idempotency, and webhook verification so you can focus on your product. Typed against the same OpenAPI spec the docs render from.

Skip the boilerplate. Stellus SDKs wrap the REST API with typed clients, automatic retries, idempotency-aware backoff, and signature verification for webhooks. Every SDK ships from the same OpenAPI spec, so behavior is consistent across languages.

01Recommended

TypeScript / JavaScript

npm install @stellus/sdk
transfer.ts
typescriptCreate a transfer
import { Stellus } from "@stellus/sdk";

const stellus = new Stellus({
  apiKey: process.env.STELLUS_KEY!,
  version: "2026-06-01",
});

const transfer = await stellus.transfers.create({
  asset:  "ozUSD",
  amount: "50000.00",
  from:   "acct_meridian_treasury",
  to:     "acct_pareto_settlement",
  network: "base",
  idempotencyKey: crypto.randomUUID(),
});

// transfer.status === "settled" · 0.42s
What you get
  • Fully typed against the current API version
  • Isomorphic — works in Node, Edge, and Bun
  • Automatic retries with idempotency-aware backoff
02Beta

Python

pip install stellus
transfer.py
pythonCreate a transfer
import os
from stellus import Stellus

stellus = Stellus(
    api_key=os.environ["STELLUS_KEY"],
    version="2026-06-01",
)

transfer = stellus.transfers.create(
    asset="ozUSD",
    amount="50000.00",
    from_="acct_meridian_treasury",
    to="acct_pareto_settlement",
    network="base",
    idempotency_key=str(uuid.uuid4()),
)

# transfer.status == "settled"  ·  0.42s
What you get
  • 3.10+ · async and sync clients available
  • Type hints across the full surface
  • Pluggable HTTP client (httpx by default)
03Beta

Go

go get github.com/stellus/stellus-go
transfer.go
goCreate a transfer
import (
    "context"
    "github.com/stellus/stellus-go"
)

client := stellus.NewClient(stellus.Options{
    APIKey:  os.Getenv("STELLUS_KEY"),
    Version: "2026-06-01",
})

transfer, err := client.Transfers.Create(ctx, &stellus.TransferParams{
    Asset:          "ozUSD",
    Amount:         "50000.00",
    From:           "acct_meridian_treasury",
    To:             "acct_pareto_settlement",
    Network:        "base",
    IdempotencyKey: uuid.NewString(),
})

// transfer.Status == stellus.StatusSettled  ·  0.42s
What you get
  • Context-first, canonical struct shapes
  • Built-in retry/backoff with jitter
  • Zero external dependencies beyond stdlib + uuid
✦ Webhook verification

One line to trust the payload.

Every SDK ships the same signature verifier — HMAC-SHA256 over the raw body with a 5-minute nonce window. Reject anything that doesn't verify; the raw body is parseable only after that check passes.

verify.ts
typescriptSig check
import { verifyStellusSignature } from "@stellus/sdk";

if (!verifyStellusSignature(body, signatureHeader, secret)) {
  throw new Error("invalid signature");
}
// body is safe to parse and act on

Roadmap and requests

Ruby and Java are on the roadmap; Rust and Swift are on the list, prioritized by demand. If you're building on one and don't see it, write to us — we take language requests seriously and prioritize by real integrations, not stars.

Browse the libraries.
Talk to us