Query Interface¶
The gateways support a HTTP interface to query for internal state.
Warning
This interface is currently EXPERIMENTAL. It is not an ideal interface due to
The gateway code being more complex, i.e. getting a bigger surface which can potentially impact operation adversely.
The interface is request/response likely causing the user to poll often, again increasing the risks of adversely impacting the gateway.
Implementation¶
Access is through a non-latency-sensitive thread.
This thread listens to the broadcast queue and caches relevant data.
This solution therefore has no impact on the latency profile of the core gateway design.
URL¶
Path¶
The basic path is
/api/<object_type>
Note
The user has the option to prefix the path by settings the --url_prefix
flag.
In this case, the path is then /<url_prefix>/api/<object_type>
.
Query¶
The following query parameters are optional and supported by some end-points.
user
(string)account
(string)exchange
(string)symbol
(string)recursive
(bool)active
(bool)
Interfaces¶
Session¶
GET /api/session
Fetch session information.
$ curl http://localhost/api/session \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/session HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 04:00:52 GMT
< Content-Type: application/json
< Content-Length: 757
<
* Connection #0 to host localhost left intact
{"package":{"name":"roq-deribit","version":"0.9.4","build_number":"unknown"},"config":{"name":"deribit","config_hash":"9M4CpcPmByCaAoiw4NukVWcRrFhELP2Uz7JG5-BJyD4=","accounts":1,"api":""},"session":{"id":"e29f6803-4447-4612-8d3c-bf09db279770","cache_dir":"/home/thraneh/var/lib/roq/cache/deribit","event_logs":{"public":"/home/thraneh/var/lib/roq/data/public/2023-W20/deribit/deribit-public-1684036540992.roq","private":"/home/thraneh/var/lib/roq/data/private/2023-W20/deribit/deribit-private-1684036540992.roq"}},"host":{"kernel":{"name":"Linux","release":"5.19.0-41-generic","version":"#42~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 18 17:40:00 UTC 2"},"network":{"hostname":"VQ-WRK-02"}},"process":{"pid":660984,"start_time":1684036540,"user":"thraneh"}}
Users¶
GET /api/users
Fetch user information.
$ curl http://localhost/api/users \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/users HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:14:22 GMT
< Content-Type: application/json
< Content-Length: 36
<
* Connection #0 to host localhost left intact
["test","trader","position","maker"]
$ curl http://localhost/api/users?user=trader \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/users?user=trader HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:17:17 GMT
< Content-Type: application/json
< Content-Length: 35
<
* Connection #0 to host localhost left intact
{"name":"trader","connected":false}
Accounts¶
GET /api/accounts
Fetch account information.
$ curl http://localhost/api/accounts \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/accounts HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:17:46 GMT
< Content-Type: application/json
< Content-Length: 6
<
* Connection #0 to host localhost left intact
["A1"]
$ curl http://localhost/api/accounts?accounts=A1 \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/accounts?accounts=A1 HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:18:13 GMT
< Content-Type: application/json
< Content-Length: 6
<
* Connection #0 to host localhost left intact
["A1"]
Stream Status¶
GET /api/stream_status
Fetch stream status.
Note
It is not possible to use query parameters.
$ curl http://localhost/api/stream_status \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/stream_status HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:27:59 GMT
< Content-Type: application/json
< Content-Length: 9
<
* Connection #0 to host localhost left intact
[4,3,1,2]
$ curl http://localhost/api/stream_status/1 \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/stream_status/1 HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:28:36 GMT
< Content-Type: application/json
< Content-Length: 292
<
* Connection #0 to host localhost left intact
{"stream_id":1,"account":"A1","supports":"CREATE_ORDER|MODIFY_ORDER|CANCEL_ORDER|ORDER_ACK|ORDER|TRADE|POSITION","transport":"TCP","protocol":"FIX","encoding":"FIX","priority":"PRIMARY","connection_status":"READY","interface":null,"authority":"test.deribit.com:9881","path":null,"proxy":null}
Gateway Status¶
GET /api/gateway_status
Fetch gateway status.
$ curl http://localhost/api/gateway_status \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/gateway_status HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:34:57 GMT
< Content-Type: application/json
< Content-Length: 11
<
* Connection #0 to host localhost left intact
["A1",null]
$ curl http://localhost/api/gateway_status?account=A1 \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/gateway_status?account=A1 HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:48:45 GMT
< Content-Type: application/json
< Content-Length: 215
<
* Connection #0 to host localhost left intact
{"account":"A1","supported":"CREATE_ORDER|MODIFY_ORDER|CANCEL_ORDER|ORDER_ACK|ORDER|TRADE|POSITION|FUNDS","available":"CREATE_ORDER|MODIFY_ORDER|CANCEL_ORDER|ORDER_ACK|ORDER|TRADE|POSITION|FUNDS","unavailable":null}
$ curl http://localhost/api/gateway_status?account=null \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/gateway_status?account=null HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:49:23 GMT
< Content-Type: application/json
< Content-Length: 205
<
* Connection #0 to host localhost left intact
{"account":null,"supported":"REFERENCE_DATA|MARKET_STATUS|TOP_OF_BOOK|MARKET_BY_PRICE|TRADE_SUMMARY","available":"REFERENCE_DATA|MARKET_STATUS|TOP_OF_BOOK|MARKET_BY_PRICE|TRADE_SUMMARY","unavailable":null}
Exchanges¶
GET /api/exchanges
Fetch exchanges.
$ curl http://localhost/api/exchanges \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/exchanges HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:35:40 GMT
< Content-Type: application/json
< Content-Length: 11
<
* Connection #0 to host localhost left intact
["deribit"]
Markets¶
GET /api/markets?exchange=<exchange>
Fetch markets.
$ curl http://localhost/api/markets?exchange=deribit \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/markets?exchange=deribit HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:36:11 GMT
< Content-Type: application/json
< Content-Length: 20604
<
* Connection #0 to host localhost left intact
["BTC-29SEP23-50000-C","ETH-19MAY23-2100-P","ETH-30JUN23-900-C","BTC-28JUL23-22000-C","BTC_USDC-PERPETUAL","BTC-29MAR24-34000-P","BTC-29DEC23-34000-P","BTC-29SEP23-30000-P","ETH-29DEC23-1500-C","ETH-29MAR24-2000-P","BTC-30JUN23-100000-C","BTC-2JUN23-26000-C","BTC-FS-19MAY23_PERP","BTC-14MAY23-25500-C","BTC-19MAY23-26000-P","ETH-15MAY23-1850-C","ETH-26MAY23-4500-P","BTC-14MAY23-28000-C","ETH-29SEP23-1100-P","BTC-29DEC23-50000-P","BTC-29MAR24-80000-C","BTC-15MAY23-23500-P","ETH-29MAR24-6000-P","TRX_USDC-PERPETUAL","ETH-26MAY23-1500-C","BTC-19MAY23-30000-C","BTC-29MAR24-10000-P","BTC-14MAY23-27000-C","ETH-15MAY23-2000-P","BTC-26MAY23-36000-C","ETH-19MAY23-1500-C","NEAR_USDC-DERIBIT-INDEX","ETH-15MAY23-2100-P","ETH-29DEC23-9000-P","ETH-14MAY23-1700-C","ETH-29SEP23-6000-P","BTC-30JUN23-25000-P","SOL_USDC-PERPETUAL","BTC-30JUN23","ETH-19MAY23-1600-C","BTC-29DEC23-15000-P","ETH-30JUN23-5000-P","ETH-29MAR24-1600-C","BTC-26MAY23-29000-C","ETH-29DEC23-8000-C","BTC-15MAY23-28500-C","ETH-28JUL23-2800-P","BTC-26MAY23-23000-C","ETH-30JUN23-1100-C","BNB_USD-DERIBIT-INDEX","DOT_USDC-DERIBIT-INDEX","BTC-30JUN23-15000-C","ETH-29SEP23-1900-P","ETH-30JUN23","ETH-30JUN23-8000-P","BTC-29DEC23-60000-C","ETH-26MAY23-800-C","ETH-29MAR24-3200-P","ETH-29DEC23-1600-P","BTC-19MAY23-29000-C","BTC-19MAY23-40000-P","ETH-29SEP23-1400-P","BTC-29DEC23-12000-P","ETH-29SEP23-3600-C","ETH-30JUN23-1900-P","ETH-26MAY23","ETH-30JUN23-5000-C","ETH-29SEP23-2600-C","BTC-30JUN23-50000-C","ETH-14MAY23-2050-C","BTC-15MAY23-30000-C","BTC-FS-29SEP23_PERP","ETH-28JUL23-1600-C","ETH-30JUN23-3600-C","XRP_USDC-DERIBIT-INDEX","ETH-15MAY23-1400-P","BTC-30JUN23-20000-C","SOL-DERIBIT-INDEX","ETH-30JUN23-1400-P","ETH-29SEP23-2000-P","BTC-29SEP23-24000-C","BTC-30JUN23-30000-P","BTC-29MAR24-32000-C","BTC-28JUL23-18000-P","BTC-29SEP23-16000-P","BTC-15MAY23-27250-P","BTC-14MAY23-27500-P","ETH-30JUN23-10000-C","BTC-26MAY23-21000-P","BTC-15MAY23-25000-C","BCH_USDC-DERIBIT-INDEX","ETH-29SEP23-6000-C","BTC-14MAY23-27500-C","BTC-29DEC23-34000-C","BTC-28JUL23-27000-P","ETH-2JUN23-1900-C","ETH-30JUN23-3800-C","ETH-26MAY23-4000-P","ETH-29DEC23-7000-C","ETH-29SEP23-2200-C","ETH-30JUN23-2000-C","ETH-14MAY23-1900-P","ETH-29DEC23-1100-P","BTC-29DEC23-10000-P","BTC-30JUN23-26000-C","ETH-29SEP23-600-P","XRP_USDC-PERPETUAL","ETH-29DEC23-900-P","BTC-29SEP23-28000-P","ETHDVOL_USDC-28JUN23","BTC-19MAY23-30000-P","LTC_USDC-PERPETUAL","BTC-26MAY23-32000-P","ETH-29MAR24-2200-C","BTC-29SEP23-24000-P","BTC-29MAR24-50000-P","ETH-28JUL23-4000-C","BTC-CCAL-28JUL23_26MAY23-27000","BTC-29SEP23-16000-C","ETH_USDC-15MAY23","BTC-29SEP23-25000-C","BTC-26MAY23-24000-C","DOT_USDC-PERPETUAL","ETH-26MAY23-3000-P","BTC-14MAY23-28500-C","ETH-2JUN23-1800-P","ETH-15MAY23-1600-P","ETH-29MAR24-3400-C","ETH-29DEC23-2800-P","ETH-2JUN23-2400-C","ETH-19MAY23-1900-P","BTC-28JUL23-38000-P","ETH-30JUN23-3000-P","ETH-19MAY23-2200-P","BTC-28JUL23-28000-P","BTC-29DEC23-70000-C","ETH-30JUN23-1700-P","ETH-29SEP23-1500-C","ETH-2JUN23-2100-C","BTC-2JUN23-15000-P","BTC-14MAY23-29000-P","ETH-28JUL23-2000-P","BTC-29SEP23-18000-C","BTC-26MAY23-25000-C","ETH-29SEP23-3800-C","BTC-15MAY23-26250-P","BTC-29MAR24-24000-P","BTC-29DEC23-32000-P","BTC-29MAR24-80000-P","ETH-15MAY23-1775-P","ETH_BTC-DERIBIT-INDEX","BTC-29SEP23-35000-P","BTC-29DEC23-35000-P","BTC-28JUL23-50000-C","BTC-14MAY23-28500-P","BTC-29SEP23","NEAR_USD-DERIBIT-INDEX","ETH-15MAY23-1800-C","ETH-30JUN23-6000-P","BTC-15MAY23-26250-C","BTC-14MAY23-29500-C","BTC-29MAR24-60000-P","ETH-19MAY23-1700-C","ETH-28JUL23-4500-P","ETH-15MAY23-1700-P","ETH-29SEP23-3200-C","BTC-26MAY23-16000-C","BTC-29SEP23-20000-P","ETH-29SEP23-3400-P","BTC-29DEC23-20000-C","ETH-29DEC23-3400-P","BTC-28JUL23-31000-C","ETH-15MAY23-1600-C","BTC-26MAY23-35000-P","ETH-2JUN23-1300-C","BTC-29DEC23-22000-C","ETH-29SEP23-1900-C","ETH-30JUN23-1300-P","ETH-26MAY23-2600-P","ETH-29SEP23-3400-C","BTC-28JUL23-24000-P","BTC-29SEP23-34000-C","BTC-29SEP23-35000-C","ETH-28JUL23-2100-C","BTC-26MAY23-31000-C","BTC-30JUN23-24000-P","ETH-14MAY23-1800-P","BTC-29DEC23-24000-C","BTC-28JUL23-40000-C","BTC-26MAY23-45000-P","ETH-30JUN23-1600-C","AVAX_USD-DERIBIT-INDEX","ETH-30JUN23-3800-P","BTC-14MAY23-24000-C","BTC-29SEP23-22000-C","ETH-29DEC23-8000-P","ALGO_USDC-DERIBIT-INDEX","ETH-29MAR24-2300-P","ETH-26MAY23-1500-P","BTC-26MAY23-20000-P","BTC-29SEP23-10000-P","AVAX_USDC-PERPETUAL","AVAX_USDC-DERIBIT-INDEX","ETH-29DEC23-2300-P","ETH-29DEC23-4200-P","ETH-29DEC23-1000-P","BTC-30JUN23-60000-C","BTC-26MAY23-36000-P","ETH-30JUN23-800-P","BTC-29DEC23","BTC-26MAY23-17000-C","ETH-14MAY23-1600-C","BTC-2JUN23-24000-P","BTC-15MAY23-27500-C","BTC-28JUL23-23000-P","BTC-19MAY23-25000-P","LTC_USD-DERIBIT-INDEX","BTC-29DEC23-16000-P","ETH-29DEC23-900-C","ETH-30JUN23-2100-C","BTC-FS-29MAR24_30JUN23","BTC-29SEP23-12000-P","ETH-30JUN23-1700-C","ETH-14MAY23-1500-P","ETH-14MAY23-1725-C","ETH-15MAY23-1300-P","ETH-14MAY23-1500-C","ETH-14MAY23-2000-P","BTC-28JUL23-35000-P","ETH-29SEP23-7000-P","BTC-29MAR24-35000-C","ETH-26MAY23-1600-P","BTC-15MAY23-27000-C","BTC-CCOND-19MAY23-26000_32000_35000_40000","BTC-29SEP23-26000-C","MATIC_USD-DERIBIT-INDEX","DOGE_USDC-PERPETUAL","BTC-30JUN23-18000-C","BTC-26MAY23-20000-C","ETH-29MAR24-3000-C","ETH-28JUL23-3500-P","ETH-28JUL23-3000-C","BTC-2JUN23-28000-P","ETH-14MAY23-1675-C","ETH-29MAR24-1400-C","BTC-29SEP23-20000-C","ETH-15MAY23-1700-C","ETH-29DEC23-3200-P","ETH-14MAY23-1400-P","ETH-2JUN23-1600-C","ETH-29DEC23-2300-C","ETH-29DEC23-1700-P","DOT_USD-DERIBIT-INDEX","ETH-14MAY23-1900-C","BTC-15MAY23-24500-P","ETH-14MAY23-1650-P","ETH-29DEC23-2000-C","ETH-14MAY23-1200-P","BTC-29DEC23-38000-C","ETH-15MAY23-1925-P","ETH-30JUN23-3400-C","ETH-26MAY23-1800-C","ETH-2JUN23-2100-P","BTC-29DEC23-26000-C","BTC-14MAY23-27250-C","BTC-29SEP23-60000-P","BTC-26MAY23-35000-C","ETH-28JUL23-2600-P","BTC-30JUN23-34000-P","BTC-15MAY23-28000-P","BTC-2JUN23-15000-C","ETH-15MAY23-2000-C","BTC-15MAY23-30000-P","BTC-19MAY23-32000-P","BTC-26MAY23-22000-C","ETH-28JUL23-1700-P","ETH_USDC-14MAY23","ALGO_USDC-PERPETUAL","ETH-15MAY23-1675-P","ETH-26MAY23-2200-C","ETH-28JUL23-2200-C","ETH-28JUL23-3200-C","ETH-29DEC23-1400-C","ETH-29SEP23-2300-C","ETH-29SEP23-4000-P","ETH-30JUN23-3400-P","BTC-29SEP23-36000-P","ETH-30JUN23-2100-P","BTC-26MAY23-33000-P","ETH-26MAY23-2300-C","ETH-29MAR24-3600-P","BTC-19MAY23-24000-C","ETH-26MAY23-2200-P","BTC-29DEC23-70000-P","ETH-19MAY23-1700-P","ETH-29MAR24-2600-P","BTC-29SEP23-32000-C","ETH-15MAY23-1750-P","ETH-30JUN23-800-C","ETH-15MAY23-1950-P","BTC-26MAY23-19000-P","ETH-29DEC23-2800-C","BTC-28JUL23-30000-P","ETH_USDC","BTC-26MAY23-50000-P","ETH-29DEC23-9000-C","BTC-29MAR24-60000-C","BTC-FS-29SEP23_26MAY23","ETH-30JUN23-6000-C","ETHW_USD-DERIBIT-INDEX","ETH-29MAR24-8000-C","ETH-29DEC23-800-C","BTC-14MAY23-26000-C","ETH-19MAY23-1800-C","ETH-26MAY23-1000-C","ETH-15MAY23-1550-P","ETH-28JUL23-1700-C","BTC-2JUN23-40000-C","ETH-29DEC23-2100-P","SOL_USDC-DERIBIT-INDEX","ETH-14MAY23-1950-P","ETH-29MAR24-9000-C","BTC-30JUN23-10000-P","BTC-CCOND-19MAY23-25000_30000_32000_35000","BTC-30JUN23-35000-C","BTC-30JUN23-16000-C","ETH-30JUN23-1600-P","ETH-14MAY23-1825-P","ETH-2JUN23-1700-P","BTC-2JUN23-29000-C","ETH-29MAR24-7000-P","ETH-29DEC23-2200-C","ADA_USDC-DERIBIT-INDEX","BTC-26MAY23-27000-P","ETH-15MAY23-1500-P","ETH-26MAY23-2400-C","ETH-15MAY23-1200-C","ETH-29SEP23-2000-C","BTC-29SEP23-12000-C","ETH-15MAY23-1675-C","ETH-26MAY23-2300-P","BTC-14MAY23-23000-C","ETH-26MAY23-2400-P","BTC-28JUL23-38000-C","BTC-28JUL23-20000-C","ETHDVOL_USDC-DERIBIT-INDEX","ETH-29MAR24-5000-C","BTC-26MAY23-18000-C","BTC-14MAY23-26250-P","BTC-29MAR24-22000-P","ETH-29MAR24-1900-P","BTCDVOL_USDC-15MAY23","BTC-26MAY23-31000-P","BTC-15MAY23-26500-P","BTC-29DEC23-30000-P","BTC-14MAY23-27250-P","BTC-29SEP23-26000-P","ETH-15MAY23-2100-C","ETH-14MAY23-1550-C","ETH-14MAY23-1925-P","BTC-29MAR24-40000-C","ETH-30JUN23-4000-P","ETH-26MAY23-3000-C","ETH-29SEP23-1500-P","BTC-28JUL23-55000-C","ETH-29DEC23-1200-C","BTC-29DEC23-28000-P","BTC-19MAY23-26000-C","ETH-29MAR24-1500-P","BTC-29DEC23-20000-P","ETH-29MAR24-1000-P","ETH-29MAR24-4000-P","BTC-26MAY23-26000-P","ETH-CBUT-30JUN23-1600_1900_2200","ETH-15MAY23-2200-P","ETH-29MAR24-1000-C","ETH-14MAY23-2100-C","ETH-29MAR24-2100-P","ETH-26MAY23-1300-P","BTCDVOL_USDC-DERIBIT-INDEX","ETH-15MAY23-1550-C","BTC-26MAY23-30000-P","BTC-28JUL23-45000-C","XRP_USD-DERIBIT-INDEX","ETH-26MAY23-3500-C","ETH-28JUL23-2200-P","SHIB_USDC-PERPETUAL","ETH-19MAY23-2000-P","ETH-29MAR24-2400-C","ETHDVOL_USDC-14MAY23","ETH-15MAY23-1875-P","BTC-30JUN23-60000-P","BTC-29DEC23-10000-C","BTC-29DEC23-50000-C","BTC-28JUL23-33000-P","BTC-15MAY23-29000-P","ETH-29MAR24-1700-P","BTC-29MAR24-28000-C","ETH-19MAY23-1600-P","BTC-30JUN23-25000-C","BTC-29DEC23-60000-P","ETH-14MAY23-1625-C","ETH-15MAY23-1725-P","ETH-29SEP23-8000-P","BTC-15MAY23-23500-C","ETH-29MAR24-1800-P","ETH-14MAY23-1700-P","ETH-30JUN23-2600-P","ETH-30JUN23-1900-C","ETH-15MAY23-1800-P","ETH-29SEP23-1200-C","ETH-2JUN23-1400-P","ETH-29DEC23-2400-C","ALGO_USD-DERIBIT-INDEX","ETH-30JUN23-900-P","BTC-29DEC23-45000-C","BTC-29SEP23-40000-C","ETH-14MAY23-1800-C","BTC-28JUL23-55000-P","BTC-29DEC23-40000-P","ETH-30JUN23-1200-P","ETH-29MAR24-3200-C","ETH-29DEC23-2000-P","ETH-29MAR24-2800-C","ETH-2JUN23-1500-C","BTC-19MAY23-40000-C","ETH-26MAY23-1200-P","BTC-30JUN23-16000-P","BTC-FS-26MAY23_PERP","ETH-29MAR24-8000-P","ETH-29MAR24-1700-C","ETH-26MAY23-1900-P","ETH-14MAY23-1750-P","ETH-FS-30JUN23_PERP","BTC-2JUN23-35000-P","MSHIB_USDC-DERIBIT-INDEX","ETH-26MAY23-1700-C","ETH-14MAY23-1850-P","BTC-15MAY23-25500-C","BTC-14MAY23-26750-P","ETH-26MAY23-4500-C","ETH-29DEC23-3600-P","BTC-29DEC23-22000-P","BTC-2JUN23-29000-P","BTC-26MAY23-19000-C","ETH-29MAR24-1800-C","ETH-29DEC23-1800-P","BTC-29SEP23-25000-P","BTC-14MAY23-25000-P","ETH-29DEC23-4000-P","BTC-14MAY23-26500-C","ETH-2JUN23-2200-C","BTC-26MAY23-40000-P","ETH-14MAY23-1300-C","BTC-26MAY23-32000-C","BTC-28JUL23-21000-C","ETH-19MAY23-1500-P","ETH-14MAY23-1925-C","ETH-30JUN23-9000-P","ETH-30JUN23-2200-P","BTC-29DEC23-45000-P","BTC-29DEC23-30000-C","ETH-19MAY23-2200-C","BTC-29SEP23-10000-C","BTC-26MAY23-21000-C","ETHDVOL_USDC-15MAY23","ETH-14MAY23-2000-C","BTC-26MAY23-26000-C","BTC-2JUN23-30000-P","BTC-14MAY23-23500-C","BTC-29DEC23-26000-P","ETH-29MAR24-10000-C","ETH-30JUN23-3200-C","BTC-PERPETUAL","BTC-26MAY23-27000-C","ETH-29DEC23-1600-C","ETH-28JUL23-3000-P","ETH-29DEC23-1800-C","BTC-29DEC23-36000-C","BTC-CS-26MAY23-24000_30000","SHIB_USD-DERIBIT-INDEX","ETH-29DEC23-1700-C","ETH-19MAY23-2500-C","ETH-26MAY23-2800-P","ETH-29SEP23-1300-P","BTC-28JUL23-21000-P","ETH-29DEC23-1100-C","BTC-26MAY23-40000-C","LINK_USD-DERIBIT-INDEX","ETH-STRG-26MAY23-500_1300","ETH-28JUL23-1800-P","ETH-30JUN23-7000-P","BNB_USDC-DERIBIT-INDEX","BTC-30JUN23-15000-P","BTC-19MAY23-28000-C","BTC-15MAY23-27500-P","BTC-2JUN23-25000-P","BTC-2JUN23-26000-P","BTC-29MAR24-45000-C","ETH-PERPETUAL","ETH-29MAR24-1200-P","ETH-30JUN23-1100-P","BTC-19MAY23-31000-C","ETH-28JUL23-2000-C","BTC-14MAY23-25750-P","ETH-30JUN23-10000-P","BCH_USD-DERIBIT-INDEX","BTC-2JUN23-27000-C","ETH-26MAY23-1400-P","ETH-15MAY23-1650-C","BTC-15MAY23-24000-P","BTC-2JUN23-40000-P","MATIC_USDC-PERPETUAL","ETH-30JUN23-7000-C","BTC-29MAR24-15000-C","ETH-15MAY23-1825-C","BTC-19MAY23-31000-P","ETH-29MAR24-2800-P","ETH-29DEC23-3800-P","BTC-29SEP23-28000-C","BTC-15MAY23-26750-C","BTC-29MAR24-24000-C","ETH-29SEP23-1400-C","ETH-26MAY23-800-P","ETH-28JUL23-1900-P","ETH-26MAY23-4000-C","BTC-28JUL23-30000-C","ETH-29SEP23-2400-C","ETH-29SEP23-5000-P","BTC-26MAY23-28000-C","BTC-30JUN23-50000-P","ETH-28JUL23-2600-C","BTC-30JUN23-100000-P","ETH-15MAY23-1900-P","UNI_USD-DERIBIT-INDEX","BTC-15MAY23-26000-P","ETH-30JUN23-1400-C","BTC-2JUN23-35000-C","BTC-30JUN23-32000-P","BTC-14MAY23-25750-C","ETH-29SEP23-3600-P","BTC-29DEC23-18000-C","ETH-28JUL23-4000-P","ETH-30JUN23-1500-C","BTC-19MAY23-35000-C","BTC-29SEP23-36000-C","ETH-15MAY23-1775-C","ETH-29MAR24-5000-P","BTC-29DEC23-32000-C","ETH-29MAR24-4200-C","ETH-29DEC23-1900-C","BTC-15MAY23-29500-C","ETH-30JUN23-3200-P","ETH-29SEP23-2100-C","BTC-19MAY23-27000-C","ETH-29SEP23-900-P","BTC-2JUN23-24000-C","BTC-14MAY23-23500-P","BCH_USDC-PERPETUAL","BTC-28JUL23-35000-C","BTC-26MAY23-50000-C","ETH-30JUN23-2200-C","LINK_USDC-DERIBIT-INDEX","ETH-28JUL23-4500-C","BTC-19MAY23","ETH-2JUN23-1400-C","BTC-26MAY23-14000-P","BTCDVOL_USDC-14MAY23","BTC-29SEP23-40000-P","ADA_USD-DERIBIT-INDEX","ETH-15MAY23-1725-C","BTC-14MAY23-28000-P","BTC-14MAY23-26000-P","BTC-29SEP23-32000-P","ETH-29SEP23-4000-C","ETH-28JUL23-1200-P","ETH-29SEP23-800-C","BTC-29DEC23-12000-C","BTC-FS-29MAR24_29SEP23","ETH-29MAR24-7000-C","BTC-19MAY23-24000-P","BTC-28JUL23-40000-P","ETH-28JUL23-1800-C","ETH-14MAY23-1400-C","ETH-29SEP23-1600-C","BTC-28JUL23-33000-C","BTC-14MAY23-24500-C","BTC-28JUL23-34000-C","BNB_USDC-PERPETUAL","ETH-15MAY23-1650-P","ETH-28JUL23-1000-P","ETH-2JUN23-2000-C","BTC-2JUN23-27000-P","BTC-28JUL23-31000-P","BTC-28JUL23-34000-P","ETH-15MAY23-1500-C","BTC-29SEP23-18000-P","BTC-30JUN23-26000-P","ETH-14MAY23-1600-P","BTC-29DEC23-25000-P","BTC-26MAY23-34000-P","BTC-19MAY23-28000-P","BTC-2JUN23-30000-C","ETH-28JUL23-3500-C","ETH-29SEP23-2200-P","BTC-15MAY23-29500-P","BTC-29SEP23-14000-P","ETH-30JUN23-2600-C","BTC-30JUN23-28000-C","ETH-2JUN23-2200-P","BTC-19MAY23-29000-P","BTC-29MAR24-70000-P","ETH-29SEP23-8000-C","ETH-14MAY23-1775-P","BTC-29MAR24-20000-C","ETH-FS-29DEC23_PERP","ETH-29MAR24-1200-C","ETH_BTC","ETH-29DEC23-2200-P","ETH-29MAR24-9000-P","BTC-FS-29MAR24_29DEC23","ETH-14MAY23-1200-C","ETH-29SEP23-3000-C","BTC-29DEC23-24000-P","ETH-26MAY23-2100-C","ETH-19MAY23-2000-C","BTC-28JUL23-29000-C","BTC-28JUL23-32000-P","BTC-28JUL23-25000-C","ETH-29SEP23-2800-P","BTC-28JUL23-28000-C","BTC-29MAR24-50000-C","ETH-15MAY23-1825-P","ETH-30JUN23-8000-C","ETH-29DEC23-3400-C","ETH-15MAY23-1925-C","BTC-28JUL23-20000-P","BTC-28JUL23-50000-P","ETH-26MAY23-2000-P","BTC-29MAR24-26000-P","BTC-14MAY23-27000-P","BTC-26MAY23-38000-C","ETH-2JUN23-2300-C","BTC-29DEC23-15000-C","ADA_USDC-PERPETUAL","BTC-30JUN23-40000-C","BTC-30JUN23-18000-P","BTC-29DEC23-40000-C","ETH-29SEP23-1700-C","BTC-26MAY23","BTC-26MAY23-22000-P","BTC-26MAY23-28000-P","ETH-26MAY23-2100-P","ETH-29SEP23-1200-P","ETH-19MAY23-1900-C","ETH-19MAY23","ETH-29DEC23-10000-P","BTC-29MAR24-30000-P","ETH-30JUN23-1800-P","ETH-29DEC23-10000-C","BTC-29DEC23-38000-P","BTC-PS-30JUN23-20000_10000","BTC-30JUN23-14000-P","ETH-30JUN23-1000-C","ETH-29DEC23-1400-P","BTC-14MAY23-24500-P","ETH-29DEC23-3000-C","ETH-19MAY23-2100-C","ETH-14MAY23-1850-C","BTC-19MAY23-20000-P","ETH-14MAY23-1675-P","ETH-29SEP23","ETH-19MAY23-2300-P","ETH-30JUN23-1500-P","BTC-29SEP23-34000-P","ETH-2JUN23-2000-P","ETH-29MAR24","ETH-29SEP23-3200-P","ETH-29SEP23-5000-C","ETH-28JUL23-1600-P","ETH-28JUL23-1900-C","BTC-14MAY23-23000-P","ETH-29MAR24-2100-C","ETH-14MAY23-1950-C","BTC-30JUN23-14000-C","ETH-28JUL23-2100-P","ETH-29DEC23-1000-C","ETH-CS-26MAY23-1400_1500","ETH-28JUL23-5000-C","ETH-29MAR24-6000-C","BTC-29MAR24-36000-C","BTC-29SEP23-60000-C","BTC-30JUN23-20000-P","ETH-14MAY23-1725-P","ETH-28JUL23-2400-P","BTC-PS-30JUN23-22000_10000","ETH-29SEP23-1000-P","ETH-29MAR24-1900-C","ETH-14MAY23-1750-C","BTC-15MAY23-26500-C","BTC-19MAY23-25000-C","ETH-29SEP23-1100-C","ETH-30JUN23-1300-C","ETH-29SEP23-2800-C","BTC_USDC-DERIBIT-INDEX","BTC-30JUN23-22000-C","BTC-26MAY23-24000-P","ETH-29MAR24-10000-P","BTC-29MAR24-22000-C","ETH-14MAY23-1825-C","ETH-28JUL23-5000-P","ETH-15MAY23-1400-C","ETH-30JUN23-2800-P","BTC-14MAY23-26250-C","ETH-26MAY23-1400-C","ETH-15MAY23-1950-C","BTC-28JUL23-16000-P","BTC-26MAY23-30000-C","BTC-29DEC23-18000-P","ETH-19MAY23-2300-C","BTC-28JUL23-16000-C","BTC-29SEP23-30000-C","ETH-29MAR24-1400-P","ETH-26MAY23-2500-P","ETH-26MAY23-2800-C","ETH-28JUL23-1400-C","UNI_USDC-PERPETUAL","BTC-30JUN23-24000-C","BTC-26MAY23-45000-C","MATIC_USDC-DERIBIT-INDEX","ETH-26MAY23-1300-C","BTC-14MAY23-24000-P","BTC-29SEP23-22000-P","ETH-29DEC23-7000-P","BTC-2JUN23-28000-C","BTC-28JUL23-27000-C","BTC-28JUL23-23000-C","ETH-29MAR24-2000-C","BTC-19MAY23-32000-C","BTC-15MAY23-28500-P","ETH-29MAR24-2400-P","BTC-29DEC23-14000-C","BTC-29MAR24-30000-C","ETH-29MAR24-4200-P","BTC-26MAY23-14000-C","ETH-29DEC23-1500-P","BTC-29DEC23-36000-P","ETH-29SEP23-3800-P","ETH-29SEP23-2100-P","ETH-2JUN23-1700-C","BTC-29SEP23-50000-P","ETH-29MAR24-3800-C","ETH-29SEP23-2400-P","ETH-29DEC23-3600-C","BTC-14MAY23-29500-P","BTC-30JUN23-28000-P","BTC-29MAR24-10000-C","ETH-29DEC23-2100-C","BTC-26MAY23-17000-P","BTC-15MAY23-27250-C","ETH-29SEP23-1300-C","ETH-26MAY23-1800-P","ETH-30JUN23-4200-C","ETH-29DEC23-2600-P","LTC_USDC-DERIBIT-INDEX","BTC-15MAY23-26750-P","ETH-30JUN23-2300-C","BTC-28JUL23-36000-C","BTC-30JUN23-35000-P","ETH-15MAY23-1200-P","ETH-29MAR24-2200-P","SHIB_USDC-DERIBIT-INDEX","ETH-29DEC23-3000-P","ETH-30JUN23-1800-C","ETH-2JUN23-2300-P","ETH-29SEP23-1800-P","USDC-DERIBIT-INDEX","ETH-26MAY23-1900-C","LINK_USDC-PERPETUAL","ETH-14MAY23-1300-P","BTC-15MAY23-24000-C","ETH-CS-26MAY23-1200_1900","ETH-26MAY23-1700-P","BTC-15MAY23-25000-P","BTC-29MAR24-32000-P","BTC-FS-29MAR24_PERP","BTC-28JUL23-24000-C","BTC-26MAY23-33000-C","BTC-28JUL23-26000-P","BTC-29MAR24-20000-P","BTC-28JUL23-45000-P","ETH-14MAY23-2050-P","BTC-26MAY23-23000-P","ETH-29DEC23-2400-P","BTC-15MAY23-28000-C","ETH-30JUN23-3600-P","ETH-29DEC23-4200-C","BTC-29DEC23-16000-C","ETH-29DEC23-600-P","ETH-30JUN23-4200-P","ETH-29DEC23-2600-C","BTC-14MAY23-25500-P","ETH-14MAY23-1650-C","ETH-30JUN23-2300-P","ETH-26MAY23-1000-P","ETH-15MAY23-2200-C","BTC-28JUL23-25000-P","ETH-29SEP23-2600-P","ETH-29MAR24-1600-P","BTC-26MAY23-34000-C","ETH-26MAY23-3500-P","ETH-29DEC23-6000-C","ETH_USDC-DERIBIT-INDEX","BTC-29MAR24-26000-C","ETH-14MAY23-2100-P","BTC-29SEP23-15000-P","ETH-30JUN23-1200-C","ETH-CS-26MAY23-1200_1300","ETH-29MAR24-3600-C","BTC-15MAY23-24500-C","BTCDVOL_USDC-30AUG23","BTC-14MAY23-25000-C","ETH-28JUL23-2800-C","TRX_USDC-DERIBIT-INDEX","BTC-29MAR24-40000-P","ETH-28JUL23-2400-C","BTC-29MAR24","ETH-29MAR24-3000-P","BTCDVOL_USDC-31MAY23","BTC-14MAY23-29000-C","BTC-29MAR24-70000-C","BTC-28JUL23-32000-C","ETH-15MAY23-1750-C","BTC-29DEC23-28000-C","BTC-29DEC23-35000-C","BTC-29SEP23-14000-C","BTC-26MAY23-16000-P","BTC-26MAY23-18000-P","BTC-2JUN23-20000-P","ETH-2JUN23-1800-C","ETH-19MAY23-1800-P","ETH_USDC-PERPETUAL","BTC-DERIBIT-INDEX","BTC-19MAY23-20000-C","ETH-14MAY23-1625-P","ETH-30JUN23-3000-C","UNI_USDC-DERIBIT-INDEX","ETH-2JUN23-1500-P","BTC_USDC","ETH-19MAY23-2400-P","ETH-29DEC23-600-C","ETH-2JUN23-1600-P","ETH-29SEP23-900-C","ETH-26MAY23-2500-C","ETH-FS-29SEP23_26MAY23","ETH-15MAY23-1850-P","ETH-26MAY23-500-P","ETH-30JUN23-1000-P","ETH-28JUL23-1400-P","ETH-30JUN23-4000-C","ETH-2JUN23-2400-P","ETH-28JUL23-1000-C","ETH-15MAY23-1875-C","ETH-29DEC23-3200-C","ETH-29MAR24-1500-C","BTC-28JUL23-26000-C","BTC-29MAR24-15000-P","BTC-29MAR24-28000-P","ETH-14MAY23-1775-C","ETH-29SEP23-600-C","BTC-28JUL23-29000-P","ETH-29MAR24-3400-P","ETH-19MAY23-2500-P","BTC-FS-30JUN23_PERP","ETH-26MAY23-500-C","ETH-29MAR24-4000-C","BTC-28JUL23-22000-P","ETH-29DEC23-6000-P","ETHDVOL_USDC-26JUL23","BTC-28JUL23-36000-P","ETH-14MAY23-1875-P","BTC-15MAY23-27000-P","DOGE_USDC-DERIBIT-INDEX","ETH-29MAR24-2600-C","ETH-29SEP23-1000-C","BTC-19MAY23-27000-P","BTC-30JUN23-30000-C","BTC-28JUL23-18000-C","ETH-29SEP23-800-P","ETH-15MAY23-1300-C","ETH-29DEC23-4000-C","ETH-29SEP23-3000-P","ETH-2JUN23-1300-P","BTC-30JUN23-22000-P","BTC-2JUN23-20000-C","BTC-30JUN23-32000-C","ETH-29SEP23-1600-P","ETH-26MAY23-1200-C","BTC-26MAY23-38000-P","ETH-29SEP23-2300-P","ETH-30JUN23-2400-C","BTC-FS-29MAR24_26MAY23","BTC-2JUN23-25000-C","BTC-29MAR24-34000-C","BTC-15MAY23-29000-C","ETH-14MAY23-1875-C","ETH-DERIBIT-INDEX","BTC-26MAY23-25000-P","ETH-30JUN23-2400-P","ETH-26MAY23-1600-C","BTC-26MAY23-29000-P","BTC-29MAR24-45000-P","ETH-29MAR24-3800-P","ETH-29SEP23-7000-C","BTC-29MAR24-36000-P","ETH-15MAY23-2050-P","BTC-29DEC23-14000-P","ETH-30JUN23-2000-P","DOGE_USD-DERIBIT-INDEX","BTC-29DEC23-25000-C","BTC-19MAY23-35000-P","ETH-15MAY23-1900-C","BTC-30JUN23-40000-P","BTC-30JUN23-34000-C","ETH-29DEC23-5000-C","BTC-FS-29MAR24_19MAY23","BTC-30JUN23-10000-C","ETH-28JUL23-3200-P","BTC-15MAY23-25500-P","ETH-2JUN23-1900-P","ETH-14MAY23-1550-P","ETH-28JUL23-1200-C","ETH-FS-29SEP23_PERP","TRX_USD-DERIBIT-INDEX","BTC-29SEP23-15000-C","ETH-29DEC23","ETH-29MAR24-2300-C","ETH-29SEP23-1700-P","ETH-30JUN23-2800-C","ETH-29DEC23-3800-C","ETH-15MAY23-2050-C","ETH-26MAY23-2600-C","BTC-14MAY23-26500-P","ETH-29DEC23-1900-P","ETH-29DEC23-5000-P","ETH-29DEC23-800-P","ETH-30JUN23-9000-C","ETH-29DEC23-1300-C","ETH-19MAY23-2400-C","ETH-29DEC23-1300-P","BTC-15MAY23-26000-C","BTC-14MAY23-26750-C","ETH-26MAY23-2000-C","ETH-29SEP23-1800-C","BTC-29MAR24-35000-P","ETH-29DEC23-1200-P"]
Reference Data¶
GET /api/reference_data
Fetch reference data.
$ curl 'http://localhost/api/reference_data?exchange=deribit&symbol=BTC-PERPETUAL' \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/reference_data?exchange=deribit&symbol=BTC-PERPETUAL HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:50:19 GMT
< Content-Type: application/json
< Content-Length: 577
<
* Connection #0 to host localhost left intact
{"stream_id":4,"exchange":"deribit","symbol":"BTC-PERPETUAL","description":"future","security_type":"FUTURES","base_currency":"USD","quote_currency":"USD","margin_currency":null,"commission_currency":"BTC","tick_size":"0.5","multiplier":"10","min_notional":null,"min_trade_vol":"1","max_trade_vol":null,"trade_vol_step_size":"1","option_type":null,"strike_currency":null,"strike_price":null,"underlying":null,"time_zone":null,"issue_date":"2018-08-13","settlement_date":null,"expiry_datetime":"3000-01-01T08:00:00Z","expiry_datetime_utc":"3000-01-01T08:00:00Z","discard":false}
Market Status¶
GET /api/market_status
Fetch market status.
$ curl 'http://localhost/api/market_status?exchange=deribit&symbol=BTC-PERPETUAL' \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/market_status?exchange=deribit&symbol=BTC-PERPETUAL HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:51:17 GMT
< Content-Type: application/json
< Content-Length: 85
<
* Connection #0 to host localhost left intact
{"stream_id":3,"exchange":"deribit","symbol":"BTC-PERPETUAL","trading_status":"OPEN"}
Top of Book¶
GET /api/top_of_book
Fetch top of book.
$ curl 'http://localhost/api/top_of_book?exchange=deribit&symbol=BTC-PERPETUAL' \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/top_of_book?exchange=deribit&symbol=BTC-PERPETUAL HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:52:02 GMT
< Content-Type: application/json
< Content-Length: 258
<
* Connection #0 to host localhost left intact
{"stream_id":0,"exchange":"deribit","symbol":"BTC-PERPETUAL","layer":{"bid_price":"26850.5","bid_quantity":"657","ask_price":"26851.0","ask_quantity":"9999"},"update_type":"SNAPSHOT","exchange_time_utc":"2023-05-14T05:51:58.056000000Z","exchange_sequence":0}
Statistics¶
GET /api/statistics
Fetch statistics.
$ curl 'http://localhost/api/statistics?exchange=deribit&symbol=BTC-PERPETUAL' \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> GET /api/statistics?exchange=deribit&symbol=BTC-PERPETUAL HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Cache-Control: no-store
< Date: Sun, 14 May 2023 05:52:35 GMT
< Content-Type: application/json
< Content-Length: 1405
<
{"stream_id":4,"exchange":"deribit","symbol":"BTC-PERPETUAL","statistics":[{"type":"SETTLEMENT_PRICE","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"CLOSE_PRICE","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"OPEN_INTEREST","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"PRE_OPEN_INTEREST","value":"563764298","begin_time_utc":null,"end_time_utc":null},{"type":"PRE_SETTLEMENT_PRICE","value":"26847.6","begin_time_utc":null,"end_time_utc":null},{"type":"PRE_CLOSE_PRICE","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"HIGHEST_TRADED_PRICE","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"LOWEST_TRADED_PRICE","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"UPPER_LIMIT_PRICE","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"LOWER_LIMIT_PRICE","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"INDEX_VALUE","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"MARGIN_RATE","v* Connection #0 to host localhost left intact
alue":null,"begin_time_utc":null,"end_time_utc":null},{"type":"FUNDING_RATE","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"FUNDING_RATE_PREDICTION","value":null,"begin_time_utc":null,"end_time_utc":null},{"type":"TRADE_VOLUME","value":null,"begin_time_utc":null,"end_time_utc":null}],"update_type":"SNAPSHOT","exchange_time_utc":"2023-05-14T05:52:35.029000000Z"}
Parameters¶
Please refer to the Parameters design document.
Custom Metrics¶
GET /api/custom_metrics
Fetch custom metrics.
PUT /api/custom_metrics?user=<user>
Push custom metrics.
$ curl http://localhost/api/custom_metrics?user=trader \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock \
--request PUT \
--header 'Content-Type: application/json' \
--data '{"label":"foo","exchange":"deribit","symbol":"BTC-PERPETUAL","measurements":{"bar":1.23,"baz":456}}'
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> PUT /api/custom_metrics?user=trader HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 99
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Date: Fri, 19 May 2023 12:34:42 GMT
< Content-Length: 0
<
* Connection #0 to host localhost left intact
PUT /api/custom_metrics/<label>?user=<user>
Push custom metrics.
$ curl http://localhost/api/custom_metrics/foo?user=trader \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock \
--request PUT \
--header 'Content-Type: application/json' \
--data '{"exchange":"deribit","symbol":"BTC-PERPETUAL","measurements":{"bar":1.23,"baz":456}}'
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> PUT /api/custom_metrics/foo?user=trader HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 85
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Date: Fri, 19 May 2023 12:40:02 GMT
< Content-Length: 0
<
* Connection #0 to host localhost left intact
Custom Matrix¶
GET /api/custom_matrix
Fetch custom matrix.
PUT /api/custom_matrix?user=<user>
Push custom matrix.
$ curl http://localhost/api/custom_matrix?user=trader \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock \
--request PUT \
--header 'Content-Type: application/json' \
--data '{"label":"foo","data":[1,2.3,4.56],"rows":["a","bc"],"columns":["def123"],"version":123,"exchange":"deribit","symbol":"BTC-PERPETUAL"}'
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> PUT /api/custom_matrix?user=trader HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 134
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Date: Fri, 19 May 2023 12:37:32 GMT
< Content-Length: 0
<
* Connection #0 to host localhost left intact
PUT /api/custom_matrix/<label>?user=<user>
Push custom matrix.
$ curl http://localhost/api/custom_matrix/foo?user=trader \
--verbose \
--write-out '\n' \
--unix-socket ~/run/metrics/deribit.sock \
--request PUT \
--header 'Content-Type: application/json' \
--data '{"data":[1,2.3,4.56],"rows":["a","bc"],"columns":["def123"],"version":123,"exchange":"deribit","symbol":"BTC-PERPETUAL"}'
* Trying /home/thraneh/run/metrics/deribit.sock:0...
* Connected to localhost (/home/thraneh/run/metrics/deribit.sock) port 80 (#0)
> PUT /api/custom_matrix/foo?user=trader HTTP/1.1
> Host: localhost
> User-Agent: curl/7.81.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 120
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: roq-deribit/0.9.4
< Access-Control-Allow-Origin: *
< Date: Fri, 19 May 2023 12:41:06 GMT
< Content-Length: 0
<
* Connection #0 to host localhost left intact