Skip to main content

Criffy Public API

Criffy exposes a public REST API for Pro+ market data integrations. API keys are created and managed from the signed-in Criffy dashboard, then used as Bearer tokens against the public data endpoints.

Quickstart

  1. Buy or upgrade to a Pro+ plan.
  2. Generate an API key from Settings -> API in the Criffy dashboard.
  3. Call a public data endpoint with the key:
curl "https://criffy.com/api/v1/exchanges?limit=1" \
  -H "Authorization: Bearer criffy_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  1. Use Querying Data and API Reference to add filters, pagination, and history windows.

What is available

The public REST API lets Pro+ users query:
  • GET /api/v1/exchanges
  • GET /api/v1/exchanges/{slug}
  • GET /api/v1/wallets
  • GET /api/v1/wallets/{slug}
  • GET /api/v1/protocols
  • GET /api/v1/protocols/{slug}
  • GET /api/v1/currencies
  • GET /api/v1/currencies/{slug}
  • GET /api/v1/earn
  • GET /api/v1/earn/{id}
  • GET /api/v1/earn/{id}/history
  • GET /api/v1/borrow
  • GET /api/v1/borrow/{id}
  • GET /api/v1/borrow/{id}/history
  • GET /api/v1/collateral
  • GET /api/v1/collateral/{id}
  • GET /api/v1/collateral/{id}/history

Access model

All public data endpoints under /api/v1/* require:
  • Authorization: Bearer <api_key>
  • An active Criffy Pro+ subscription
Signed-in users manage their public API key and usage from Settings -> API in the Criffy dashboard. Pro+ API keys currently include 60 requests per minute and 100,000 requests per calendar month. Monthly quota resets on the 1st day of each month at 00:00 UTC. Dashboard key management is separate from the Bearer-auth public data API. External integrations should only use the generated API key as a Bearer token.

Contract highlights

  • List endpoints return a stable { data, pagination } envelope.
  • Decimal finance values are serialized as strings to preserve precision.
  • Timestamps are ISO 8601 strings in UTC.
  • Renamed slug-based resources can return 301 Moved Permanently to the current slug.
  • GET /api/v1/currencies/{slug} returns the currency plus related earn_offers, borrow_offers, and collateral_offers.
  • GET /api/v1/collateral/{id}/history is part of the contract but returns 404 not_found because collateral history is not stored.

Visibility and offer status

Platform and currency resources are exposed only when they are published and not delisted. Hidden or delisted resources are not part of the public API surface. Offer availability is different: published earn, borrow, and collateral offers can still be returned when they are not currently usable. Earn offers expose this with available; borrow and collateral offers expose this with is_active. Treat these fields as runtime status signals before showing an offer as actionable.

Next steps