🔗 JSON-RPC API

JSON-RPC proxy for Currencies REST endpoints.

Currencies - JSON RPC

Overview

Our JSON-RPC implementation is a thin proxy around the Currencies REST API. It forwards JSON-RPC requests to the same REST resources and uses the same authentication and response data.

  • method is the REST path, for example v1/assets or v1/exchangerate/{asset_id_base}/{asset_id_quote}/history
  • params is converted into REST path parameters and query string parameters
  • Keys matching placeholders in method are injected into the path
  • Remaining keys are appended as standard query string values

This JSON-RPC layer is only a proxy over the underlying REST design.

Endpoint

To access Currencies through JSON-RPC, use:

EnvironmentEncryptionValue
ProductionYeshttps://api-realtime.fx.finfeedapi.com/jsonrpc
ProductionYeshttps://api-historical.fx.finfeedapi.com/jsonrpc

Authentication

Authentication is exactly the same as for the REST API. See the authentication section.

Request Format

Use a JSON-RPC 2.0 request where method contains the REST path and params is an object:

{
  "jsonrpc": "2.0",
  "method": "v1/exchangerate/{asset_id_base}",
  "params": {
    "asset_id_base": "USD",
    "filter_asset_id": "EUR"
  },
  "id": "my-tracking-id-001"
}

The request above is proxied to:

GET /v1/exchangerate/USD?filter_asset_id=EUR

API Design Mapping

The proxy follows the REST structure of the Currencies API, including:

  • Metadata endpoints such as v1/assets and v1/assets/{asset_id}
  • Current rate endpoints such as v1/exchangerate/{asset_id_base} and v1/exchangerate/{asset_id_base}/{asset_id_quote}
  • Historical endpoints such as v1/exchangerate/{asset_id_base}/{asset_id_quote}/history
  • Supporting endpoints such as v1/exchangerate/history/periods

Examples

List all assets

Request

https://api-realtime.fx.finfeedapi.com/jsonrpc?apikey=YOUR-API-KEY

{
  "jsonrpc": "2.0",
  "method": "v1/assets",
  "params": {},
  "id": "my-tracking-id-001"
}

Proxied REST request:

GET /v1/assets

Get all current rates for a base asset

Request

https://api-realtime.fx.finfeedapi.com/jsonrpc?apikey=YOUR-API-KEY

{
  "jsonrpc": "2.0",
  "method": "v1/exchangerate/{asset_id_base}",
  "params": {
    "asset_id_base": "USD"
  },
  "id": "my-tracking-id-001"
}

Proxied REST request:

GET /v1/exchangerate/USD

Get historical EUR/USD timeseries

Request

https://api-historical.fx.finfeedapi.com/jsonrpc?apikey=YOUR-API-KEY

{
  "jsonrpc": "2.0",
  "method": "v1/exchangerate/{asset_id_base}/{asset_id_quote}/history",
  "params": {
    "asset_id_base": "EUR",
    "asset_id_quote": "USD",
    "period_id": "1DAY",
    "time_start": "2025-01-01T00:00:00Z",
    "time_end": "2025-01-31T00:00:00Z"
  },
  "id": "my-tracking-id-001"
}

Proxied REST request:

GET /v1/exchangerate/EUR/USD/history?period_id=1DAY&time_start=2025-01-01T00:00:00Z&time_end=2025-01-31T00:00:00Z

Responses and Errors

Successful JSON-RPC responses return the underlying REST payload in the result field. If the proxied REST request fails, the error is returned as a JSON-RPC error object.

Service StatusGitHub SDK