Introduction
The Superbank API is organized around REST. It accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes and verbs.
Base URLs
| Environment | Base URL |
|---|
| Sandbox | https://api-sandbox.superbank.com |
| Production | https://api.superbank.com |
All endpoints are versioned with /v1/ prefix.
Authentication
All API requests require an API key passed in the X-Api-Key header:
curl https://api-sandbox.superbank.com/v1/payments \
-H "X-Api-Key: sk_sandbox_your-api-key"
Rate Limits
| Environment | Requests/Minute |
|---|
| Sandbox | 100 |
| Production | 1000 |
When you exceed the rate limit, you’ll receive a 429 Too Many Requests response.
Endpoints
Payments
| Method | Endpoint | Description |
|---|
POST | /v1/payments | Create a new payment |
GET | /v1/payments | List all payments |
GET | /v1/payments/{id} | Retrieve a payment |
POST | /v1/payments/notifications | Notify incoming fiat payment |
Webhooks
| Method | Endpoint | Description |
|---|
POST | /v1/webhooks | Create a webhook endpoint |
GET | /v1/webhooks | List webhook endpoints |
GET | /v1/webhooks/{id} | Retrieve a webhook endpoint |
PATCH | /v1/webhooks/{id} | Update a webhook endpoint |
DELETE | /v1/webhooks/{id} | Delete a webhook endpoint |
All responses are returned in JSON format with snake_case field names:
{
"id": "pay_abc123",
"type": "LIQUIDITY",
"status": "COMPLETED",
"amount": 100.00,
"currency_code": "USDC",
"created_at": "2024-01-15T10:00:00Z"
}
Errors
Error responses include a status code and message:
{
"status_code": 400,
"message": "Bad Request",
"error": "Validation failed"
}
See Error Handling for details on error codes and handling strategies.