Getting Started
What is Spritz?
Section titled “What is Spritz?”Spritz Finance is a platform that bridges crypto and traditional finance. The API enables you to:
- Off-ramp: Convert crypto to fiat and deliver to bank accounts or bill pay destinations
- On-ramp: Convert fiat to crypto
- Auto-ramp: Virtual bank accounts that automatically convert fiat deposits to crypto
- Bill pay: Pay bills directly from crypto balances
- Cards: Issue and manage Spritz debit cards
Base URLs
Section titled “Base URLs”| Environment | URL |
|---|---|
| Production | https://api.spritz.finance |
| Sandbox | https://api-staging.spritz.finance |
All endpoints are prefixed with /v1.
Quick start
Section titled “Quick start”- Obtain an API key from the Spritz dashboard
- Choose your authentication method (see Authentication)
- Make your first request:
curl https://api-staging.spritz.finance/v1/users/me \ -H "Authorization: Bearer YOUR_API_KEY"Response format
Section titled “Response format”Successful responses return JSON with the resource data directly. Error responses follow the RFC 9457 Problem Details standard.
Next steps
Section titled “Next steps”- Authentication — understand the auth schemes available
- Error Handling — handle errors gracefully
- API Reference — full endpoint documentation
Prompt for your LLM Copy this into Claude, Cursor, or your AI assistant
You are integrating with the Spritz Finance platform API.
Base URLs:
- Production: https://api.spritz.finance
- Sandbox: https://api-staging.spritz.finance
- All endpoints are prefixed with /v1
Authentication (choose one):
1. Bearer token (Cognito JWT) — Authorization: Bearer <jwt>
2. Integrator JWT (prefix spr*) — Authorization: Bearer spr*<token>
3. HMAC signature — requires X-Integrator-Key, X-Signature (sha256=<hex>), X-Timestamp headers
4. API key (prefix sk*test* or sk*live*) — Authorization: Bearer <api-key>
Error format (RFC 9457 Problem Details):
{
"type": "urn:problem-type:<category>:<specific>",
"title": "Human-readable title",
"status": 400,
"detail": "Specific error description",
"instance": "/errors/<id>"
}
Content-Type for errors: application/problem+json
Categories: auth, validation, resource, business, system
Key resources:
- GET /v1/users/me — current user profile
- GET/POST /v1/bank-accounts — manage off-ramp destinations
- POST /v1/off-ramp-quotes — create crypto-to-fiat quotes
- GET /v1/off-ramps — list off-ramp transactions
- GET/POST /v1/bills — manage bill pay accounts
- GET /v1/cards — list debit cards
- GET/POST /v1/auto-ramp-accounts — virtual bank accounts (fiat→crypto)
Quick start (TypeScript):
```typescript
const SPRITZ_API_URL = process.env.SPRITZ_API_URL ?? "https://api-staging.spritz.finance";
const SPRITZ_API_KEY = process.env.SPRITZ_API_KEY;
async function spritzFetch(path: string, init?: RequestInit) {
const res = await fetch(`${SPRITZ_API_URL}${path}`, {
...init,
headers: {
"Authorization": `Bearer ${SPRITZ_API_KEY}`,
"Content-Type": "application/json",
...init?.headers,
},
});
if (!res.ok) {
const problem = await res.json();
throw new Error(`${problem.title}: ${problem.detail}`);
}
return res.json();
}
// Example: get current user
const user = await spritzFetch("/v1/users/me");
```
For the full OpenAPI spec, see: https://docs.platform.spritz.finance/api/