API Reference
Complete reference documentation for the Checkout API.
Base URL
All API requests should be made to:
https://checkout-api.exodus-int.comAuthentication
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.
| Endpoint | Description |
|---|---|
POST /checkouts | Create a checkout |
GET /checkouts/:id | Get checkout details |
GET /checkouts | List all checkouts |
POST /checkouts/:id/cancel | Cancel 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.
| Endpoint | Description |
|---|---|
POST /subscription-checkouts | Create a subscription checkout |
GET /subscription-checkouts/:id | Get subscription checkout details |
GET /subscription-checkouts | List all subscription checkouts |
PATCH /subscription-checkouts/:id/cancel | Cancel 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 cycle charge is authorized with the @exodus/checkout-signer SDK; plan upgrades/downgrades are subscriber-authorized on the hosted page.
| Endpoint | Description |
|---|---|
GET /subscriptions/:id | Get subscription details |
GET /subscriptions | List all subscriptions |
POST /subscriptions/:id/charge-quote | Quote the current cycle amount |
POST /subscriptions/:id/charge | Charge a cycle |
POST /subscriptions/:id/cancel | Cancel 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.
| Endpoint | Description |
|---|---|
GET /merchants/:merchantId/charges | List subscription charges |
Payments
View payment details and manage captures and refunds for two-step payments.
| Endpoint | Description |
|---|---|
GET /payments/:id | Get payment details |
GET /payments | List all payments |
POST /payments/:id/capture | Capture a payment |
POST /payments/:id/refund | Refund a payment |
Beneficiaries (Beta)
Bank accounts that receive fiat from payouts.
| Endpoint | Description |
|---|---|
POST /beneficiaries | Create a beneficiary |
GET /beneficiaries/:id | Get a beneficiary |
GET /beneficiaries | List beneficiaries |
Customers (Beta)
People who send crypto, after a one-time KYC. See Payouts.
| Endpoint | Description |
|---|---|
POST /customers | Create a customer |
GET /customers/:id | Get a customer |
GET /customers | List customers |
Payouts (Beta)
Off-ramp crypto to a beneficiary’s bank account in fiat. See the Payouts overview.
| Endpoint | Description |
|---|---|
POST /payouts | Create a payout |
GET /payouts/:id | Get a payout |
GET /payouts | List payouts |
Reports
Export payment data as CSV for accounting and reconciliation.
| Endpoint | Description |
|---|---|
GET /reports/payments/export | Export payments as CSV |
Webhooks
Receive real-time event notifications.
See the Webhooks guide for event types, payload structure, and signature verification.
