Skip to Content
CheckoutAPI ReferenceOverview

API Reference

Complete reference documentation for the Checkout API.

Base URL

All API requests should be made to:

https://checkout-api.exodus-int.com

Authentication

All API requests require authentication using your API key in the Authorization header.

headers: {
  'Authorization': 'Bearer sk_live_xxxxxxxxxxxxxxxx'
}
🔐

See the Authorization guide for complete details.

Endpoints

Checkouts

Create and manage one-time payment sessions.

EndpointDescription
POST /checkoutsCreate a checkout
GET /checkouts/:idGet checkout details
GET /checkoutsList all checkouts
POST /checkouts/:id/cancelCancel a checkout

Subscription Checkouts

Single-use intents that authorize a customer to start a subscription. Customer pays the first charge and signs the on-chain authorization atomically; the resulting Subscription is the durable billing record.

EndpointDescription
POST /subscription-checkoutsCreate a subscription checkout
GET /subscription-checkouts/:idGet subscription checkout details
GET /subscription-checkoutsList all subscription checkouts
PATCH /subscription-checkouts/:id/cancelCancel a subscription checkout

Subscriptions

Manage active subscriptions. Subscriptions are created when a customer completes a Subscription Checkout. There is no direct POST /subscriptions endpoint. Each charge is authorized with the @exodus/checkout-signer SDK; cap/budget raises are subscriber-authorized on-chain.

EndpointDescription
GET /subscriptions/:idGet subscription details
GET /merchants/:merchantId/subscriptionsList all subscriptions
POST /subscriptions/:id/chargeCharge a cycle
POST /subscriptions/:id/charge-quoteQuote the next charge
POST /subscriptions/:id/cancelCancel a subscription

Subscription Charges

Per-attempt records of cycle charges. Both succeeded and failed attempts are persisted with a typed failure_reason for dunning and reconciliation.

EndpointDescription
GET /merchants/:merchantId/chargesList subscription charges

Payments

View payment details, capture and refund two-step payments, and recover stranded funds.

EndpointDescription
GET /payments/:paymentIdGet payment details
GET /paymentsList all payments
POST /payments/:paymentId/captureCapture a payment
POST /payments/:paymentId/refundRefund a payment
POST /payments/:paymentId/rescueRescue funds
POST /payments/:paymentId/recoverRecover an expired payment
GET /payments/settlementView settlement config
PUT /payments/settlementUpdate settlement address

Payouts (Beta)

Off-ramp crypto to a beneficiary’s bank account in fiat. See the Payouts overview.

Beneficiaries — bank accounts that receive fiat.

EndpointDescription
POST /beneficiariesCreate a beneficiary
GET /beneficiaries/:idGet a beneficiary
GET /beneficiariesList beneficiaries

Customers — people who send crypto, after a one-time KYC.

EndpointDescription
POST /customersCreate a customer
GET /customers/:idGet a customer
GET /customersList customers

Payouts — off-ramp transactions that move the funds.

EndpointDescription
POST /payoutsCreate a payout
GET /payouts/:idGet a payout
GET /payoutsList payouts

Reports

Export data as CSV for accounting and reconciliation.

EndpointDescription
GET /reports/payments/exportExport payments as CSV
GET /reports/subscriptions/exportExport subscriptions as CSV
GET /reports/subscription-charges/exportExport subscription charges as CSV

Settings

Read your business configuration and register the signer, settlement address, and webhook URL.

EndpointDescription
GET /settingsGet settings
POST /settingsRegister the merchant signer
PUT /settingsUpdate the settlement address
PATCH /settingsUpdate the webhook URL
POST /settings/webhook/secretRegenerate the webhook secret
POST /settings/webhook/testSend a test webhook

Webhooks

Receive real-time event notifications.

🔔

See the Webhooks guide for event types, payload structure, and signature verification.

Start building

XO

Request Demo

Schedule a call with our team

Select a product
Arrow right

Start building
Grateful

Contact Us

We're here to help