v1.0 · stable

Market data and account APIs
for modern fintech.

A single REST surface for FX rates, market quotes, and account information. Sub-100ms responses, OpenAPI 3.1 spec, and OAuth2 client credentials.

Built for production

Predictable latency, transparent errors, and an OpenAPI spec you can codegen against.

Realtime FX rates

Hourly-refreshed reference rates for 30+ currencies, sourced from public reference feeds.

Market quotes

Bid/ask/last with 24h volume and percentage change for major FX and crypto pairs.

OAuth2 + JWT

Client-credentials flow issues short-lived JWTs. RS256/HS256 supported.

RFC 7807 errors

Structured application/problem+json responses with request IDs.

OpenAPI 3.1

Live spec at /openapi.json, browsable at /docs.

Stateless & horizontally scaled

No sticky sessions. Health probes at /v1/health.

Endpoints

All requests served from /v1. JSON in, JSON out.

MethodPathDescriptionAuth
GET/v1/healthLiveness probe
GET/v1/statusService status & uptime
GET/v1/ratesFX reference rates
GET/v1/quotes/{symbol}Market quote for symbol
GET/v1/marketsAvailable trading pairs
POST/v1/auth/tokenIssue access token
GET/v1/accounts/{id}Account detailsBearer

Quickstart

Get a quote for EUR/USD in one request.

curl https://api-fin.example.com/v1/quotes/EURUSD

Exchange client credentials for an access token, then read an account:

TOKEN=$(curl -s -X POST https://api-fin.example.com/v1/auth/token \
  -H 'content-type: application/json' \
  -d '{"grant_type":"client_credentials","client_id":"demo","client_secret":"supersecret"}' \
  | jq -r .access_token)

curl -H "authorization: Bearer $TOKEN" \
  https://api-fin.example.com/v1/accounts/acc_01HXYZ