For engineers
A developer experience we'd want to use.
Typed SDKs, signed webhooks, test mode with deterministic replay, and a CLI that actually works. If Stripe's DX is your bar, we built to match it.
Install once, integrate in an afternoon.
Every SDK is generated from the same OpenAPI spec. Test in test mode, replay events deterministically, go live when you're ready.
- CLI that logs in, tails events, and replays webhooks
- Idempotency keys and signed webhooks out of the box
- Event replay — not a mock, the real event stream
- Versioned API with deprecation windows, never forced upgrades
install
# Node
npm install @opensettle/sdk
# Python
pip install opensettle
# Go
go get github.com/opensettle/opensettle-go
# CLI
brew install opensettleCode
One API. Four languages. Same shape.
node
import { OpenSettle } from "@opensettle/sdk";
const os = new OpenSettle({ apiKey: process.env.OPENSETTLE_SECRET });
const sub = await os.subscriptions.create({
customer: "cus_9fX0a2E1",
price: "price_pro_monthly",
settlement: { chain: "base", token: "USDC" },
autopay: "allowance",
});python
import opensettle
os = opensettle.Client(api_key=os.environ["OPENSETTLE_SECRET"])
sub = os.subscriptions.create(
customer="cus_9fX0a2E1",
price="price_pro_monthly",
settlement={"chain": "base", "token": "USDC"},
autopay="allowance",
)webhook-verify.ts
import { verifyWebhook } from "@opensettle/sdk";
app.post("/webhook", (req, res) => {
const event = verifyWebhook(
req.body,
req.header("opensettle-signature"),
process.env.WEBHOOK_SIGNING_SECRET,
);
if (event.type === "payment.confirmed") {
// Mark order paid, send receipt
}
res.sendStatus(200);
});cli
# Tail live events
$ opensettle events tail
# Trigger a test event
$ opensettle events trigger payment.confirmed
# Replay a past event
$ opensettle events replay evt_1Hx3Z...
# Port-forward webhooks to localhost
$ opensettle listen --forward-to http://localhost:3000/webhook