OpenSettle
ProductDevelopersPricingCustomersBlogDocs
Sign inStart building
Getting started
  • Overview
  • Quickstart
  • Core concepts
  • Supported chains
Billing
  • Checkouts
  • Subscriptions
  • Invoices
  • Refunds
Developer
  • API reference
  • SDKs
  • Webhooks
  • Errors
  • CLI
Operations
  • Reconciliation
  • Analytics
  • Security posture
OpenSettle

Stablecoin billing infrastructure. Non-custodial by design.

OpenSettle is not a money transmitter, custodian, or exchange. Funds settle directly to merchant wallets.

Get the changelog in your inbox

Product news and deep engineering notes. Unsubscribe in one click.

Product
  • Overview
  • Pricing
  • Integrations
  • vs. Stripe
  • Roadmap
  • Changelog
Developers
  • Documentation
  • API reference
  • Quickstart
  • Webhooks
  • System status
Company
  • About
  • Customers
  • Partners
  • Blog
  • Careers
  • Press
  • Brand
  • Contact sales
Legal
  • Security
  • Trust center
  • Terms
  • Privacy
  • Compliance
  • DPA
  • Subprocessors
  • Cookies
© 2026 OpenSettle Labs, Inc. All rights reserved.security.txt
All systems operational
Developer›CLI

CLI.

The opensettle CLI is the most efficient way to develop against the API. It signs you in once, forwards webhooks to localhost, triggers any event for testing, and exposes the same resource surface as the SDKs from your shell.

Install

bash
# macOS / Linux (Homebrew)
brew install opensettle/tap/opensettle

# npm (any platform)
npm install -g @opensettle/cli

# Standalone binary
curl -fsSL https://cli.opensettle.com/install.sh | sh

Authenticate

opensettle login opens a browser, you approve the device, and the CLI receives a short-lived restricted key that lives in ~/.config/opensettle/credentials. Re-run with --account to switch between accounts.

bash
$ opensettle login
→ Opening https://dashboard.opensettle.com/cli/auth?code=H3K-2MT
✓ Logged in as ada@lovelace.dev (acct_9fX0a2E1, test mode)

Forward webhooks

listen creates a temporary webhook endpoint on your account and tunnels every event to a local URL. The CLI prints a signing secret on start — use it as your WEBHOOK_SIGNING_SECRET.

bash
$ opensettle listen --forward-to http://localhost:3000/webhook
✓ Ready! Signing secret: whsec_test_4ae1b9d7…
2026-04-18 11:02:14 [200] payment.confirmed evt_01J20K…
2026-04-18 11:02:31 [200] subscription.renewed evt_01J20K…

Trigger events

Drive any event from the CLI to exercise your handlers. Templates are realistic and pass our own webhook verification.

bash
$ opensettle trigger payment.confirmed
✓ Triggered evt_01J20KP9C2 → forwarded to http://localhost:3000/webhook

$ opensettle trigger subscription.past_due --override price=price_pro_monthly

Tail logs

See API requests as your app makes them. Filter by status, method, or path.

bash
$ opensettle logs tail --status 4xx
2026-04-18 11:04:51  POST /v1/checkouts            422  invalid_request  req_01J20K…
2026-04-18 11:05:03  POST /v1/subscriptions        409  idempotency_key_in_use

Replay events

Re-deliver a past event to your live endpoint, or to a CLI listener, without touching production data.

bash
$ opensettle events replay evt_01J20KP9C2 --to listener
✓ Replayed evt_01J20KP9C2 → 200 in 142ms

Rotate keys & list customers

bash
$ opensettle keys rotate sk_live_…a2E1 --grace-period 24h
✓ New key: sk_live_…7Hq2 (old key valid until 2026-04-19 11:08 UTC)

$ opensettle customers list --created-after 2026-04-01 --limit 5
cus_9fX0a2E1  ada@lovelace.dev      Apr 02
cus_4Hq2XZpL  grace@hopper.io       Apr 04
cus_8Ne4kRtw  alan@turing.sh        Apr 09
cus_2Dv6yMkj  edsger@dijkstra.nl    Apr 14
cus_1Fr8tBpx  ken@thompson.org      Apr 17
ErrorsReconciliation