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 charge is authorized with the @exodus/checkout-signer SDK; cap/budget raises are subscriber-authorized on-chain.
| Endpoint | Description |
|---|---|
GET /subscriptions/:id | Get subscription details |
GET /merchants/:merchantId/subscriptions | List all subscriptions |
POST /subscriptions/:id/charge | Charge a cycle |
POST /subscriptions/:id/charge-quote | Quote the next charge |
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, capture and refund two-step payments, and recover stranded funds.
| Endpoint | Description |
|---|---|
GET /payments/:paymentId | Get payment details |
GET /payments | List all payments |
POST /payments/:paymentId/capture | Capture a payment |
POST /payments/:paymentId/refund | Refund a payment |
POST /payments/:paymentId/rescue | Rescue funds |
POST /payments/:paymentId/recover | Recover an expired payment |
GET /payments/settlement | View settlement config |
PUT /payments/settlement | Update 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.
| Endpoint | Description |
|---|---|
POST /beneficiaries | Create a beneficiary |
GET /beneficiaries/:id | Get a beneficiary |
GET /beneficiaries | List beneficiaries |
Customers — people who send crypto, after a one-time KYC.
| Endpoint | Description |
|---|---|
POST /customers | Create a customer |
GET /customers/:id | Get a customer |
GET /customers | List customers |
Payouts — off-ramp transactions that move the funds.
| Endpoint | Description |
|---|---|
POST /payouts | Create a payout |
GET /payouts/:id | Get a payout |
GET /payouts | List payouts |
Reports
Export data as CSV for accounting and reconciliation.
| Endpoint | Description |
|---|---|
GET /reports/payments/export | Export payments as CSV |
GET /reports/subscriptions/export | Export subscriptions as CSV |
GET /reports/subscription-charges/export | Export subscription charges as CSV |
Settings
Read your business configuration and register the signer, settlement address, and webhook URL.
| Endpoint | Description |
|---|---|
GET /settings | Get settings |
POST /settings | Register the merchant signer |
PUT /settings | Update the settlement address |
PATCH /settings | Update the webhook URL |
POST /settings/webhook/secret | Regenerate the webhook secret |
POST /settings/webhook/test | Send a test webhook |
Webhooks
Receive real-time event notifications.
See the Webhooks guide for event types, payload structure, and signature verification.
