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›API reference

API reference.

The OpenSettle API is organized around REST. It uses resource-oriented URLs, accepts form-encoded and JSON request bodies, and returns JSON. Versioned by date; current version is 2026-04-01.

Base URL

bash
https://api.opensettle.com

Authentication

Authenticate by including your secret API key as HTTP Basic auth username. You don't need to include a password — leave it blank.

bash
curl https://api.opensettle.com/v1/payments \
  -u sk_live_xxxxxxxxxxxxxxxxxxxxxxxxa2E1:

Resources

Checkouts
Hosted or embedded one-time payments.
Open ref →
  • POST/v1/checkouts
  • GET/v1/checkouts/:id
  • POST/v1/checkouts/:id/expire
Subscriptions
Recurring billing with invoice, allowance, or smart-wallet autopay.
Open ref →
  • POST/v1/subscriptions
  • GET/v1/subscriptions/:id
  • POST/v1/subscriptions/:id/cancel
  • POST/v1/subscriptions/:id/pause
Payments
Confirmed and pending on-chain settlements.
Open ref →
  • GET/v1/payments
  • GET/v1/payments/:id
  • POST/v1/payments/:id/refund
Customers
Your customer records and their wallets.
Open ref →
  • POST/v1/customers
  • GET/v1/customers/:id
  • PATCH/v1/customers/:id
  • DELETE/v1/customers/:id
Invoices
Generated automatically or created ad-hoc.
Open ref →
  • GET/v1/invoices
  • POST/v1/invoices
  • POST/v1/invoices/:id/send
Webhook endpoints
Where OpenSettle sends signed event notifications.
Open ref →
  • POST/v1/webhook_endpoints
  • GET/v1/webhook_endpoints
  • POST/v1/webhook_endpoints/:id/rotate_secret

Errors

Errors use standard HTTP status codes. Our body is a typed shape with a machine-readable code, a human-readable message, and — when applicable — a request ID for support.

error
{
  "error": {
    "type": "invalid_request",
    "code": "settlement_wallet_unverified",
    "message": "The settlement wallet has not completed verification.",
    "request_id": "req_01HGKM4Z7WQ4X"
  }
}