Python
Provider Datasource

Providers

Cybotrade exposes 3rd Party Provider data through the runtime via the datasource_topics parameter from RuntimeConfig.

Currently we provide data from these three Providers:

The above links to the provider documentations provide direct information as to what 'endpoints' as well as 'parameters' for the endpoints are present.

Formatting the Datasource topic

Datasource topic(s) are set with the following format

{provider}|{interval}|{provider-endpoint}

Interval

⚠️

The {interval} value in the schema below does not affect anything and is deprecated, however, it is still required to be included in the topics.
The value to be set for the interval is suggested to be set to '1m'.
This required value will be removed in the future.

Currently the available {interval} values are based on candle intervals.

This is not related to any form of interval or window that you might encounter when going through provider documentation, and should also not be treated as such.

Endpoint

The {provider-endpoint} can be referred to the provider documentation provided above.

The power of Cybotrade Datasource lies in the {endpoint} field of the format, this allows you to retrieve data from the providers based on the parameters you desire.

The endpoint parameters can be determined from the provider's respective documentation.

Setting topics in the RuntimeConfig

In order to use these topics, you can insert the desired topic into the datasource_topics parameter of the RuntimeConfig like such:

config = RuntimeConfig(
    datasource_topics=[
        "coinglass|1d|spot/orderbook/history?exchange=Binance&interval=1m&symbol=BTCUSDT",
        "cryptoquant|1d|btc/exchange-flows/inflow?exchange=binance&window=block",
        "glassnode|1d|transactions/transfers_volume_adjusted_mean?a=ETH&i=1h"
    ],
    ...
)