coingecko_ruby 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +31 -0
  3. data/.gitignore +10 -0
  4. data/.travis.yml +6 -0
  5. data/CHANGELOG.md +17 -0
  6. data/Gemfile +16 -0
  7. data/Gemfile.lock +37 -0
  8. data/README.md +4 -2
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/coingecko_ruby.gemspec +5 -5
  12. data/fixtures/vcr_cassettes/test_that_it_gets_a_coins_complete_current_data.yml +74 -0
  13. data/fixtures/vcr_cassettes/test_that_it_gets_a_coins_tickers.yml +99 -0
  14. data/fixtures/vcr_cassettes/test_that_it_gets_a_derivative_exchange.yml +71 -0
  15. data/fixtures/vcr_cassettes/test_that_it_gets_a_specific_exchange_ticker_from_an_exchange.yml +75 -0
  16. data/fixtures/vcr_cassettes/test_that_it_gets_btc_to_eth_exchange_rate.yml +71 -0
  17. data/fixtures/vcr_cassettes/test_that_it_gets_btc_to_usd_exchange_rate.yml +73 -0
  18. data/fixtures/vcr_cassettes/test_that_it_gets_complete_data_for_an_exchange.yml +72 -0
  19. data/fixtures/vcr_cassettes/test_that_it_gets_daily_historical_prices_for_one_coin.yml +71 -0
  20. data/fixtures/vcr_cassettes/test_that_it_gets_derivative_exchanges.yml +79 -0
  21. data/fixtures/vcr_cassettes/test_that_it_gets_derivatives.yml +1732 -0
  22. data/fixtures/vcr_cassettes/test_that_it_gets_derivatives_exchanges_ids_and_names.yml +95 -0
  23. data/fixtures/vcr_cassettes/test_that_it_gets_event_countries.yml +76 -0
  24. data/fixtures/vcr_cassettes/test_that_it_gets_event_types.yml +71 -0
  25. data/fixtures/vcr_cassettes/test_that_it_gets_exchange_ids_supported_by_coingecko.yml +159 -0
  26. data/fixtures/vcr_cassettes/test_that_it_gets_exchange_tickers_from_an_exchange.yml +78 -0
  27. data/fixtures/vcr_cassettes/test_that_it_gets_finance_platforms.yml +95 -0
  28. data/fixtures/vcr_cassettes/test_that_it_gets_finance_products.yml +100 -0
  29. data/fixtures/vcr_cassettes/test_that_it_gets_global_crypto_data.yml +71 -0
  30. data/fixtures/vcr_cassettes/test_that_it_gets_global_defi_data.yml +71 -0
  31. data/fixtures/vcr_cassettes/test_that_it_gets_historical_price_for_one_coin_at_a_previous_date.yml +124 -0
  32. data/fixtures/vcr_cassettes/test_that_it_gets_hourly_historical_prices_for_one_coin.yml +71 -0
  33. data/fixtures/vcr_cassettes/test_that_it_gets_indexes.yml +127 -0
  34. data/fixtures/vcr_cassettes/test_that_it_gets_indexes_by_market_id_and_index_id.yml +71 -0
  35. data/fixtures/vcr_cassettes/test_that_it_gets_indexes_ids.yml +630 -0
  36. data/fixtures/vcr_cassettes/test_that_it_gets_last_7_days_exchange_volume_from_an_exchange.yml +71 -0
  37. data/fixtures/vcr_cassettes/test_that_it_gets_market_data_for_a_coin.yml +71 -0
  38. data/fixtures/vcr_cassettes/test_that_it_gets_market_data_for_a_coin_in_myr.yml +71 -0
  39. data/fixtures/vcr_cassettes/test_that_it_gets_market_data_for_multiple_coins_in_eth.yml +71 -0
  40. data/fixtures/vcr_cassettes/test_that_it_gets_minutely_historical_prices_for_one_coin.yml +139 -0
  41. data/fixtures/vcr_cassettes/test_that_it_gets_ohlc_data_for_one_coin_in_the_last_30_days_in_myr.yml +73 -0
  42. data/fixtures/vcr_cassettes/test_that_it_gets_ohlc_data_for_one_coin_in_the_last_7_days.yml +73 -0
  43. data/fixtures/vcr_cassettes/test_that_it_gets_price_for_multiple_coins.yml +71 -0
  44. data/fixtures/vcr_cassettes/test_that_it_gets_price_for_multiple_coins_in_different_currencies.yml +71 -0
  45. data/fixtures/vcr_cassettes/test_that_it_gets_price_for_one_coin.yml +73 -0
  46. data/fixtures/vcr_cassettes/test_that_it_gets_price_for_one_coin_in_a_different_currency.yml +71 -0
  47. data/fixtures/vcr_cassettes/test_that_it_gets_simple_price_for_one_coin.yml +73 -0
  48. data/fixtures/vcr_cassettes/test_that_it_gets_status_updates.yml +79 -0
  49. data/fixtures/vcr_cassettes/test_that_it_gets_status_updates_for_an_exchange.yml +76 -0
  50. data/fixtures/vcr_cassettes/test_that_it_gets_the_list_of_asset_platforms.yml +80 -0
  51. data/fixtures/vcr_cassettes/test_that_it_gets_the_list_of_categories.yml +114 -0
  52. data/fixtures/vcr_cassettes/test_that_it_gets_the_list_of_categories_with_market_data.yml +100 -0
  53. data/fixtures/vcr_cassettes/test_that_it_gets_the_list_of_supported_coins.yml +143 -0
  54. data/fixtures/vcr_cassettes/test_that_it_gets_the_list_of_supported_exchanges.yml +79 -0
  55. data/fixtures/vcr_cassettes/test_that_it_gets_the_list_supported_coins.yml +74 -0
  56. data/fixtures/vcr_cassettes/test_that_it_gets_trending_searches.yml +77 -0
  57. data/lib/coingecko_ruby/client.rb +10 -0
  58. data/lib/coingecko_ruby/client/categories.rb +25 -361
  59. data/lib/coingecko_ruby/client/coins.rb +4 -16
  60. data/lib/coingecko_ruby/client/derivatives.rb +133 -0
  61. data/lib/coingecko_ruby/client/events.rb +69 -0
  62. data/lib/coingecko_ruby/client/exchanges.rb +9 -1448
  63. data/lib/coingecko_ruby/client/finance.rb +90 -0
  64. data/lib/coingecko_ruby/client/indexes.rb +73 -0
  65. data/lib/coingecko_ruby/client/infos.rb +155 -0
  66. data/lib/coingecko_ruby/client/prices.rb +12 -240
  67. data/lib/coingecko_ruby/client/status.rb +1 -1
  68. data/lib/coingecko_ruby/version.rb +1 -1
  69. metadata +59 -2
@@ -9,7 +9,7 @@ module CoingeckoRuby
9
9
  #
10
10
  # @example Fetch the list of coins supported by CoinGecko's API.
11
11
  # client.coins_list
12
- # @example Response object (truncated)
12
+ # @example Sample response object (truncated)
13
13
  # [
14
14
  # {
15
15
  # "id" => "01coin",
@@ -20,18 +20,6 @@ module CoingeckoRuby
20
20
  # "symbol" => "algohalf",
21
21
  # "name" => "0.5X Long Algorand Token"
22
22
  # }, {
23
- # "id" => "0-5x-long-altcoin-index-token",
24
- # "symbol" => "althalf",
25
- # "name" => "0.5X Long Altcoin Index Token"
26
- # }, {
27
- # "id" => "0-5x-long-balancer-token",
28
- # "symbol" => "balhalf",
29
- # "name" => "0.5X Long Balancer Token"
30
- # }, {
31
- # "id" => "0-5x-long-bitcoin-cash-token",
32
- # "symbol" => "bchhalf",
33
- # "name" => "0.5X Long Bitcoin Cash Token"
34
- # },
35
23
  # ]
36
24
  def coins_list(include_contract_address: false)
37
25
  get 'coins/list', { include_contract_address: include_contract_address }
@@ -66,7 +54,7 @@ module CoingeckoRuby
66
54
  #
67
55
  # @example Fetch Bitcoin's tickers.
68
56
  # client.get_tickers(id: 'bitcoin)
69
- # @example Response object (truncated)
57
+ # @example Sample response object (truncated)
70
58
  # {
71
59
  # "name" => "Bitcoin",
72
60
  # "tickers" => [{
@@ -100,7 +88,7 @@ module CoingeckoRuby
100
88
  # }
101
89
  # @example Fetch Bitcoin's tickers from Binance with 2% orderbook depth data.
102
90
  # client.get_tickers(id: 'bitcoin', options: { exchange_id: 'binance', depth: true })
103
- # @example Response object (truncated)
91
+ # @example Sample response object (truncated)
104
92
  # {
105
93
  # "name" => "Bitcoin",
106
94
  # "tickers" => [{
@@ -153,7 +141,7 @@ module CoingeckoRuby
153
141
  #
154
142
  # @example Fetch market data for Bitcoin and Ethereum in USD.
155
143
  # client.get_markets(ids: 'bitcoin, ethereum', currency: 'gbp')
156
- # @example Response object
144
+ # @example Sample response object
157
145
  # [{
158
146
  # "id" => "bitcoin",
159
147
  # "symbol" => "btc",
@@ -0,0 +1,133 @@
1
+ module CoingeckoRuby
2
+ class Client
3
+ module Derivatives
4
+ # Fetches the list of derivative products listed in CoinGecko.
5
+ #
6
+ # @option options [String] :include_tickers ('unexpired') determines whether to display all tickers or only show unexpired tickers. Valid values: all, unexpired
7
+ #
8
+ # @return [Array<Hash>] each derivative product's information.
9
+ #
10
+ # @example Get all unexpired derivatives.
11
+ # client.get_derivatives(options: { include_tickers: 'unexpired' })
12
+ # @example Sample response object (truncated)
13
+ # [
14
+ # {
15
+ # "market" => "Binance (Futures)",
16
+ # "symbol" => "BTCUSDT",
17
+ # "index_id" => "BTC",
18
+ # "price" => "44575.26",
19
+ # "price_percentage_change_24h" => -0.5892545887194689,
20
+ # "contract_type" => "perpetual",
21
+ # "index" => 44646.70155337,
22
+ # "basis" => -0.11242030301843862,
23
+ # "spread" => 0.01,
24
+ # "funding_rate" => 0.021205,
25
+ # "open_interest" => 1822639548.16,
26
+ # "volume_24h" => 27179643527.25483,
27
+ # "last_traded_at" => 1621341447,
28
+ # "expired_at" => nil
29
+ # },
30
+ # {
31
+ # "market" => "Bybit",
32
+ # "symbol" => "BTCUSD",
33
+ # "index_id" => "BTC",
34
+ # "price" => "44817.5",
35
+ # "price_percentage_change_24h" => -0.9426664309079656,
36
+ # "contract_type" => "perpetual",
37
+ # "index" => 44827.57,
38
+ # "basis" => 0.022468901656718915,
39
+ # "spread" => 0.01,
40
+ # "funding_rate" => 0.01,
41
+ # "open_interest" => 1664013731.0,
42
+ # "volume_24h" => 5725694670.15,
43
+ # "last_traded_at" => 1621340931,
44
+ # "expired_at" => nil
45
+ # },
46
+ # ]
47
+ def get_derivatives(options: {})
48
+ get 'derivatives', { options: options }
49
+ end
50
+
51
+ # Fetches the list of derivative exchanges listed in CoinGecko.
52
+ #
53
+ # @option options [Integer] :per_page sets the number of results to return per page.
54
+ # @option options [Integer] :page sets the page for results.
55
+ # @option options [String] :order sets the sort order for results. Valid values: name_asc, name_desc, open_interest_btc_asc, open_interest_btc_desc, trade_volume_24h_btc_asc, trade_volume_24h_btc_desc.
56
+ #
57
+ # @return [Array<Hash>] each derivative exchange's information.
58
+ #
59
+ # @example Get one derivative exchange.
60
+ # client.get_derivative_exchanges(options: { per_page: 1 })
61
+ # @example Sample response object
62
+ # [{
63
+ # "name" => "Binance (Futures)",
64
+ # "id" => "binance_futures",
65
+ # "open_interest_btc" => 237845.78,
66
+ # "trade_volume_24h_btc" => "2209372.18",
67
+ # "number_of_perpetual_pairs" => 132,
68
+ # "number_of_futures_pairs" => 32,
69
+ # "image" =>
70
+ # "https://assets.coingecko.com/markets/images/466/small/binance_futures.jpg?1568609512",
71
+ # "year_established" => 2019,
72
+ # "country" => nil,
73
+ # "description" => "",
74
+ # "url" => "https://www.binance.com/"
75
+ # }]
76
+ def get_derivative_exchanges(options: {})
77
+ get 'derivatives/exchanges', { options: options }
78
+ end
79
+
80
+ # Fetches data for a specific derivative exchange.
81
+ #
82
+ # @option options [String] :id the id of the derivative exchange.
83
+ # @option options [String] :include_tickers determines whether to display all tickers or only show unexpired tickers. Does not return any ticker data if left blank. Valid values: all, unexpired
84
+ #
85
+ # @return [Hash] the derivative exchange's information.
86
+ #
87
+ # @example Get data for the Binance Futures derivative exchange.
88
+ # client.get_derivative_exchange(id: 'binance_futures')
89
+ # @example Sample response object
90
+ # {
91
+ # "name" => "Binance (Futures)",
92
+ # "open_interest_btc" => 237845.78,
93
+ # "trade_volume_24h_btc" => "2226117.02",
94
+ # "number_of_perpetual_pairs" => 132,
95
+ # "number_of_futures_pairs" => 32,
96
+ # "image" =>
97
+ # "https://assets.coingecko.com/markets/images/466/small/binance_futures.jpg?1568609512",
98
+ # "year_established" => 2019,
99
+ # "country" => nil,
100
+ # "description" => "",
101
+ # "url" => "https://www.binance.com/"
102
+ # }
103
+ def get_derivative_exchange(id:, options: {})
104
+ get "derivatives/exchanges/#{id}", { options: options }
105
+ end
106
+
107
+ # Fetches the list ids and names of derivative exchanges listed in CoinGecko.
108
+ #
109
+ # @return [Array<Hash>] each derivative exchange's id and name.
110
+ #
111
+ # @example Get all unexpired derivatives.
112
+ # client.get_derivative_exchanges_ids_and_names
113
+ # @example Sample response object (truncated)
114
+ # [
115
+ # {
116
+ # "id" => "binance_futures",
117
+ # "name" => "Binance (Futures)"
118
+ # },
119
+ # {
120
+ # "id" => "huobi_dm",
121
+ # "name" => "Huobi Futures"
122
+ # },
123
+ # {
124
+ # "id" => "ftx",
125
+ # "name" => "FTX (Derivatives)"
126
+ # }
127
+ # ]
128
+ def get_derivative_exchanges_ids_and_names
129
+ get 'derivatives/exchanges/list'
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,69 @@
1
+ module CoingeckoRuby
2
+ class Client
3
+ module Events
4
+ # Fetches the list of events listed in CoinGecko.
5
+ # @todo CoinGecko API is not returning any list of events. Investigate why this is happening.
6
+ #
7
+ # @option options [String] :country_code country code to fetch list of events from.
8
+ # @option options [String] :type type of event to fetch.
9
+ # @option options [Integer] :page sets the page for results.
10
+ # @option options [Boolean] :upcoming_events_only (true) determines whether to fetch upcoming events only or all events.
11
+ # @option options [String] :from_date fetch events after the specified date. Date must be in the format of yyyy-mm-dd
12
+ # @option options [String] :to_date fetch events before the specified date. Date must be in the format of yyyy-mm-dd
13
+ #
14
+ # @return [Array<Hash>] each finance platform's name, category, url, facts (description), and centralized status.
15
+ #
16
+ # @example Get all upcoming events.
17
+ # client.get_events(options: { upcoming_events_only: true })
18
+ def get_events(options: {})
19
+ get 'events', { options: options }
20
+ end
21
+
22
+ # Fetches the valid list of countries to fetch events from.
23
+ #
24
+ # @return [Hash] each country's name and code and the total country count.
25
+ #
26
+ # @example Get all event countries.
27
+ # client.get_event_countries
28
+ # @example Sample response object (truncated)
29
+ # {
30
+ # "data" => [{
31
+ # "country" => nil,
32
+ # "code" => ""
33
+ # },
34
+ # {
35
+ # "country" => "Malaysia",
36
+ # "code" => "MY"
37
+ # },
38
+ # {
39
+ # "country" => "Singapore",
40
+ # "code" => "SG"
41
+ # },
42
+ # {
43
+ # "country" => "United States",
44
+ # "code" => "US"
45
+ # }
46
+ # ],
47
+ # "count" => 4
48
+ # }
49
+ def get_event_countries
50
+ get 'events/countries'
51
+ end
52
+
53
+ # Fetches the valid list of events to fetch.
54
+ #
55
+ # @return [Array<Hash>] the list of event types and total event types count.
56
+ #
57
+ # @example Get all event types.
58
+ # client.get_event_types
59
+ # @example Sample response object
60
+ # {
61
+ # "data" => ["Event", "Conference", "Meetup"],
62
+ # "count" => 3
63
+ # }
64
+ def get_event_types
65
+ get 'events/types'
66
+ end
67
+ end
68
+ end
69
+ end
@@ -8,9 +8,9 @@ module CoingeckoRuby
8
8
  #
9
9
  # @return [Array<Hash>] returns an array of hashes of detailed exchange data.
10
10
  #
11
- # @example Fetch complete exchange data with 2 results per page.
12
- # client.get_exchanges(options: { per_page: 2 })
13
- # @example Response object
11
+ # @example Fetch complete exchange data with 1 result per page.
12
+ # client.get_exchanges(options: { per_page: 1 })
13
+ # @example Sample response object
14
14
  # [{
15
15
  # "id" => "binance",
16
16
  # "name" => "Binance",
@@ -24,19 +24,6 @@ module CoingeckoRuby
24
24
  # "trust_score_rank" => 1,
25
25
  # "trade_volume_24h_btc" => 982949.3975723931,
26
26
  # "trade_volume_24h_btc_normalized" => 982949.3975723931
27
- # }, {
28
- # "id" => "gdax",
29
- # "name" => "Coinbase Pro",
30
- # "year_established" => 2012,
31
- # "country" => "United States",
32
- # "description" => "",
33
- # "url" => "https://www.coinbase.com",
34
- # "image" => "https://assets.coingecko.com/markets/images/23/small/fe290a14-ac8f-4c90-9aed-5e72abf271f0.jpeg?1527171545",
35
- # "has_trading_incentive" => false,
36
- # "trust_score" => 10,
37
- # "trust_score_rank" => 2,
38
- # "trade_volume_24h_btc" => 153732.65763353973,
39
- # "trade_volume_24h_btc_normalized" => 153732.65763353973
40
27
  # }]
41
28
  def get_exchanges(options: {})
42
29
  get 'exchanges', { options: options }
@@ -59,8 +46,8 @@ module CoingeckoRuby
59
46
  # @return [Array<Hash>] returns an array of hashes of the exchange id and name.
60
47
  #
61
48
  # @example Fetch all exchange ids.
62
- # client.get_exchange_ids
63
- # @example Response object
49
+ # client.get_exchanges_ids
50
+ # @example Sample response object
64
51
  # [{
65
52
  # "id" => "aave",
66
53
  # "name" => "Aave"
@@ -70,1409 +57,8 @@ module CoingeckoRuby
70
57
  # }, {
71
58
  # "id" => "aax_futures",
72
59
  # "name" => "AAX Futures"
73
- # }, {
74
- # "id" => "abcc",
75
- # "name" => "ABCC"
76
- # }, {
77
- # "id" => "abit",
78
- # "name" => "Abit"
79
- # }, {
80
- # "id" => "acdx",
81
- # "name" => "ACDX"
82
- # }, {
83
- # "id" => "acdx_futures",
84
- # "name" => "ACDX Futures"
85
- # }, {
86
- # "id" => "aex",
87
- # "name" => "AEX"
88
- # }, {
89
- # "id" => "allbit",
90
- # "name" => "Allbit"
91
- # }, {
92
- # "id" => "allcoin",
93
- # "name" => "Allcoin"
94
- # }, {
95
- # "id" => "alpha_five",
96
- # "name" => "Alpha5"
97
- # }, {
98
- # "id" => "altcointrader",
99
- # "name" => "AltcoinTrader"
100
- # }, {
101
- # "id" => "alterdice",
102
- # "name" => "AlterDice"
103
- # }, {
104
- # "id" => "altilly",
105
- # "name" => "Altilly"
106
- # }, {
107
- # "id" => "altmarkets",
108
- # "name" => "Altmarkets"
109
- # }, {
110
- # "id" => "anyswap",
111
- # "name" => "Anyswap"
112
- # }, {
113
- # "id" => "apeswap",
114
- # "name" => "ApeSwap"
115
- # }, {
116
- # "id" => "aprobit",
117
- # "name" => "Aprobit"
118
- # }, {
119
- # "id" => "artisturba",
120
- # "name" => "Artis Turba"
121
- # }, {
122
- # "id" => "atomars",
123
- # "name" => "Atomars"
124
- # }, {
125
- # "id" => "b2bx",
126
- # "name" => "B2BX"
127
- # }, {
128
- # "id" => "bakeryswap",
129
- # "name" => "Bakeryswap"
130
- # }, {
131
- # "id" => "bakkt",
132
- # "name" => "Bakkt"
133
- # }, {
134
- # "id" => "balancer",
135
- # "name" => "Balancer (v2)"
136
- # }, {
137
- # "id" => "balancer_v1",
138
- # "name" => "Balancer (v1)"
139
- # }, {
140
- # "id" => "bamboo_relay",
141
- # "name" => "Bamboo Relay"
142
- # }, {
143
- # "id" => "bancor",
144
- # "name" => "Bancor Network"
145
- # }, {
146
- # "id" => "bankera",
147
- # "name" => "Bankera"
148
- # }, {
149
- # "id" => "basefex",
150
- # "name" => "BaseFEX"
151
- # }, {
152
- # "id" => "bcex",
153
- # "name" => "BCEX"
154
- # }, {
155
- # "id" => "beaxy",
156
- # "name" => "Beaxy"
157
- # }, {
158
- # "id" => "bepswap",
159
- # "name" => "BepSwap"
160
- # }, {
161
- # "id" => "bgogo",
162
- # "name" => "Bgogo"
163
- # }, {
164
- # "id" => "bibo",
165
- # "name" => "Bibo"
166
- # }, {
167
- # "id" => "bibox",
168
- # "name" => "Bibox"
169
- # }, {
170
- # "id" => "bibox_futures",
171
- # "name" => "Bibox (Futures)"
172
- # }, {
173
- # "id" => "biconomy",
174
- # "name" => "Biconomy"
175
- # }, {
176
- # "id" => "bidesk",
177
- # "name" => "Bidesk"
178
- # }, {
179
- # "id" => "bigone",
180
- # "name" => "BigONE"
181
- # }, {
182
- # "id" => "bigone_futures",
183
- # "name" => "BigONE Futures"
184
- # }, {
185
- # "id" => "biki",
186
- # "name" => "BiKi"
187
- # }, {
188
- # "id" => "biki_futures",
189
- # "name" => "Biki (Futures)"
190
- # }, {
191
- # "id" => "bilaxy",
192
- # "name" => "Bilaxy"
193
- # }, {
194
- # "id" => "binance",
195
- # "name" => "Binance"
196
- # }, {
197
- # "id" => "binance_dex",
198
- # "name" => "Binance DEX"
199
- # }, {
200
- # "id" => "binance_dex_mini",
201
- # "name" => "Binance DEX (Mini)"
202
- # }, {
203
- # "id" => "binance_futures",
204
- # "name" => "Binance (Futures)"
205
- # }, {
206
- # "id" => "binance_jersey",
207
- # "name" => "Binance Jersey"
208
- # }, {
209
- # "id" => "binance_us",
210
- # "name" => "Binance US"
211
- # }, {
212
- # "id" => "bione",
213
- # "name" => "BiONE"
214
- # }, {
215
- # "id" => "birake",
216
- # "name" => "Birake"
217
- # }, {
218
- # "id" => "bisq",
219
- # "name" => "Bisq"
220
- # }, {
221
- # "id" => "bit2c",
222
- # "name" => "Bit2c"
223
- # }, {
224
- # "id" => "bitalong",
225
- # "name" => "Bitalong"
226
- # }, {
227
- # "id" => "bitbank",
228
- # "name" => "Bitbank"
229
- # }, {
230
- # "id" => "bitbay",
231
- # "name" => "BitBay"
232
- # }, {
233
- # "id" => "bitbns",
234
- # "name" => "BitBNS"
235
- # }, {
236
- # "id" => "bitbox",
237
- # "name" => "BITFRONT"
238
- # }, {
239
- # "id" => "bitci",
240
- # "name" => "Bitci"
241
- # }, {
242
- # "id" => "bitcoin_com",
243
- # "name" => "Bitcoin.com Exchange"
244
- # }, {
245
- # "id" => "bit_com_futures",
246
- # "name" => "Bit.com"
247
- # }, {
248
- # "id" => "bitcratic",
249
- # "name" => "Bitcratic"
250
- # }, {
251
- # "id" => "bitex",
252
- # "name" => "Bitex.la"
253
- # }, {
254
- # "id" => "bitexbook",
255
- # "name" => "BITEXBOOK"
256
- # }, {
257
- # "id" => "bitexlive",
258
- # "name" => "Bitexlive"
259
- # }, {
260
- # "id" => "bitfex",
261
- # "name" => "Bitfex"
262
- # }, {
263
- # "id" => "bitfinex",
264
- # "name" => "Bitfinex"
265
- # }, {
266
- # "id" => "bitfinex_futures",
267
- # "name" => "Bitfinex (Futures)"
268
- # }, {
269
- # "id" => "bitflyer",
270
- # "name" => "bitFlyer"
271
- # }, {
272
- # "id" => "bitflyer_futures",
273
- # "name" => "Bitflyer (Futures)"
274
- # }, {
275
- # "id" => "bitforex",
276
- # "name" => "Bitforex"
277
- # }, {
278
- # "id" => "bitforex_futures",
279
- # "name" => "Bitforex (Futures)"
280
- # }, {
281
- # "id" => "bitget",
282
- # "name" => "Bitget"
283
- # }, {
284
- # "id" => "bitget_futures",
285
- # "name" => "Bitget Futures"
286
- # }, {
287
- # "id" => "bithash",
288
- # "name" => "BitHash"
289
- # }, {
290
- # "id" => "bitholic",
291
- # "name" => "Bithumb Singapore"
292
- # }, {
293
- # "id" => "bithumb",
294
- # "name" => "Bithumb"
295
- # }, {
296
- # "id" => "bithumb_futures",
297
- # "name" => "Bithumb (Futures)"
298
- # }, {
299
- # "id" => "bithumb_global",
300
- # "name" => "Bithumb Global"
301
- # }, {
302
- # "id" => "bitinfi",
303
- # "name" => "Bitinfi"
304
- # }, {
305
- # "id" => "bitkonan",
306
- # "name" => "BitKonan"
307
- # }, {
308
- # "id" => "bitkub",
309
- # "name" => "Bitkub"
310
- # }, {
311
- # "id" => "bitmart",
312
- # "name" => "BitMart"
313
- # }, {
314
- # "id" => "bitmax",
315
- # "name" => "AscendEX (BitMax)"
316
- # }, {
317
- # "id" => "bitmax_futures",
318
- # "name" => "AscendEX (BitMax) (Futures)"
319
- # }, {
320
- # "id" => "bitmesh",
321
- # "name" => "Bitmesh"
322
- # }, {
323
- # "id" => "bitmex",
324
- # "name" => "BitMEX"
325
- # }, {
326
- # "id" => "bitoffer",
327
- # "name" => "Bitoffer"
328
- # }, {
329
- # "id" => "bitonbay",
330
- # "name" => "BitOnBay"
331
- # }, {
332
- # "id" => "bitopro",
333
- # "name" => "BitoPro"
334
- # }, {
335
- # "id" => "bitpanda",
336
- # "name" => "Bitpanda Pro"
337
- # }, {
338
- # "id" => "bitrabbit",
339
- # "name" => "BitRabbit"
340
- # }, {
341
- # "id" => "bitrue",
342
- # "name" => "Bitrue"
343
- # }, {
344
- # "id" => "bits_blockchain",
345
- # "name" => "Bits Blockchain"
346
- # }, {
347
- # "id" => "bitsdaq",
348
- # "name" => "Bitsdaq"
349
- # }, {
350
- # "id" => "bitso",
351
- # "name" => "Bitso"
352
- # }, {
353
- # "id" => "bitsonic",
354
- # "name" => "Bitsonic"
355
- # }, {
356
- # "id" => "bitstamp",
357
- # "name" => "Bitstamp"
358
- # }, {
359
- # "id" => "bitsten",
360
- # "name" => "Bitsten"
361
- # }, {
362
- # "id" => "bitstorage",
363
- # "name" => "BitStorage"
364
- # }, {
365
- # "id" => "bittrex",
366
- # "name" => "Bittrex"
367
- # }, {
368
- # "id" => "bitubu",
369
- # "name" => "Bitubu Exchange"
370
- # }, {
371
- # "id" => "bit_z",
372
- # "name" => "BitZ"
373
- # }, {
374
- # "id" => "bitz_futures",
375
- # "name" => "BitZ (Futures)"
376
- # }, {
377
- # "id" => "bkex",
378
- # "name" => "BKEX"
379
- # }, {
380
- # "id" => "bleutrade",
381
- # "name" => "bleutrade"
382
- # }, {
383
- # "id" => "blockchain_com",
384
- # "name" => "Blockchain.com"
385
- # }, {
386
- # "id" => "blockonix",
387
- # "name" => "Blockonix"
388
- # }, {
389
- # "id" => "boa",
390
- # "name" => "BOA Exchange"
391
- # }, {
392
- # "id" => "braziliex",
393
- # "name" => "Braziliex"
394
- # }, {
395
- # "id" => "bscswap",
396
- # "name" => "BSCswap"
397
- # }, {
398
- # "id" => "btc_alpha",
399
- # "name" => "BTC-Alpha"
400
- # }, {
401
- # "id" => "btcbox",
402
- # "name" => "BTCBOX"
403
- # }, {
404
- # "id" => "btcc",
405
- # "name" => "BTCC"
406
- # }, {
407
- # "id" => "btc_exchange",
408
- # "name" => "Btc Exchange"
409
- # }, {
410
- # "id" => "btcmarkets",
411
- # "name" => "BTCMarkets"
412
- # }, {
413
- # "id" => "btcmex",
414
- # "name" => "BTCMEX"
415
- # }, {
416
- # "id" => "btcnext",
417
- # "name" => "BTCNEXT"
418
- # }, {
419
- # "id" => "btcsquare",
420
- # "name" => "BTCSquare"
421
- # }, {
422
- # "id" => "btc_trade_ua",
423
- # "name" => "BTC Trade UA"
424
- # }, {
425
- # "id" => "btcturk",
426
- # "name" => "BtcTurk PRO"
427
- # }, {
428
- # "id" => "btse",
429
- # "name" => "BTSE"
430
- # }, {
431
- # "id" => "btse_futures",
432
- # "name" => "BTSE (Futures)"
433
- # }, {
434
- # "id" => "burgerswap",
435
- # "name" => "BurgerSwap"
436
- # }, {
437
- # "id" => "buyucoin",
438
- # "name" => "BuyUcoin"
439
- # }, {
440
- # "id" => "bvnex",
441
- # "name" => "Bvnex"
442
- # }, {
443
- # "id" => "bw",
444
- # "name" => "BW.com"
445
- # }, {
446
- # "id" => "bybit",
447
- # "name" => "Bybit"
448
- # }, {
449
- # "id" => "c2cx",
450
- # "name" => "C2CX"
451
- # }, {
452
- # "id" => "catex",
453
- # "name" => "Catex"
454
- # }, {
455
- # "id" => "cbx",
456
- # "name" => "CBX"
457
- # }, {
458
- # "id" => "ccex",
459
- # "name" => "C-CEX"
460
- # }, {
461
- # "id" => "cex",
462
- # "name" => "CEX.IO"
463
- # }, {
464
- # "id" => "chainex",
465
- # "name" => "ChainEX"
466
- # }, {
467
- # "id" => "changelly",
468
- # "name" => "Changelly PRO"
469
- # }, {
470
- # "id" => "chiliz",
471
- # "name" => "Chiliz"
472
- # }, {
473
- # "id" => "citex",
474
- # "name" => "CITEX"
475
- # }, {
476
- # "id" => "cme_futures",
477
- # "name" => "CME Bitcoin Futures"
478
- # }, {
479
- # "id" => "coinasset",
480
- # "name" => "CoinAsset"
481
- # }, {
482
- # "id" => "coinbene",
483
- # "name" => "CoinBene"
484
- # }, {
485
- # "id" => "coinbig",
486
- # "name" => "COINBIG"
487
- # }, {
488
- # "id" => "coinbit",
489
- # "name" => "Coinbit"
490
- # }, {
491
- # "id" => "coincheck",
492
- # "name" => "Coincheck"
493
- # }, {
494
- # "id" => "coindcx",
495
- # "name" => "CoinDCX"
496
- # }, {
497
- # "id" => "coindeal",
498
- # "name" => "Coindeal"
499
- # }, {
500
- # "id" => "coindirect",
501
- # "name" => "CoinDirect"
502
- # }, {
503
- # "id" => "coineal",
504
- # "name" => "Coineal"
505
- # }, {
506
- # "id" => "coin_egg",
507
- # "name" => "CoinEgg"
508
- # }, {
509
- # "id" => "coinex",
510
- # "name" => "CoinEx"
511
- # }, {
512
- # "id" => "coinfalcon",
513
- # "name" => "Coinfalcon"
514
- # }, {
515
- # "id" => "coinfield",
516
- # "name" => "Coinfield"
517
- # }, {
518
- # "id" => "coinflex",
519
- # "name" => "CoinFLEX"
520
- # }, {
521
- # "id" => "coinflex_futures",
522
- # "name" => "CoinFLEX (Futures)"
523
- # }, {
524
- # "id" => "coinfloor",
525
- # "name" => "Coinfloor"
526
- # }, {
527
- # "id" => "coingi",
528
- # "name" => "Coingi"
529
- # }, {
530
- # "id" => "coinhe",
531
- # "name" => "CoinHe"
532
- # }, {
533
- # "id" => "coinhub",
534
- # "name" => "Coinhub"
535
- # }, {
536
- # "id" => "coinjar",
537
- # "name" => "CoinJar Exchange"
538
- # }, {
539
- # "id" => "coinlim",
540
- # "name" => "Coinlim"
541
- # }, {
542
- # "id" => "coinlist",
543
- # "name" => "Coinlist"
544
- # }, {
545
- # "id" => "coinmargin",
546
- # "name" => "CoinMargin"
547
- # }, {
548
- # "id" => "coin_metro",
549
- # "name" => "CoinMetro"
550
- # }, {
551
- # "id" => "coinone",
552
- # "name" => "Coinone"
553
- # }, {
554
- # "id" => "coinpark",
555
- # "name" => "Coinpark"
556
- # }, {
557
- # "id" => "coinplace",
558
- # "name" => "Coinplace"
559
- # }, {
560
- # "id" => "coinsbank",
561
- # "name" => "Coinsbank"
562
- # }, {
563
- # "id" => "coinsbit",
564
- # "name" => "Coinsbit"
565
- # }, {
566
- # "id" => "coinsuper",
567
- # "name" => "Coinsuper"
568
- # }, {
569
- # "id" => "cointiger",
570
- # "name" => "CoinTiger"
571
- # }, {
572
- # "id" => "cointiger_futures",
573
- # "name" => "CoinTiger (Futures)"
574
- # }, {
575
- # "id" => "coinxpro",
576
- # "name" => "COINX.PRO"
577
- # }, {
578
- # "id" => "coinzo",
579
- # "name" => "Coinzo"
580
- # }, {
581
- # "id" => "coinzoom",
582
- # "name" => "Coinzoom"
583
- # }, {
584
- # "id" => "comethswap",
585
- # "name" => "ComethSwap"
586
- # }, {
587
- # "id" => "compound_finance",
588
- # "name" => "Compound Finance"
589
- # }, {
590
- # "id" => "c_patex",
591
- # "name" => "C-Patex"
592
- # }, {
593
- # "id" => "cpdax",
594
- # "name" => "CPDAX"
595
- # }, {
596
- # "id" => "crex24",
597
- # "name" => "CREX24"
598
- # }, {
599
- # "id" => "crxzone",
600
- # "name" => "CRXzone"
601
- # }, {
602
- # "id" => "cryptaldash",
603
- # "name" => "CryptalDash"
604
- # }, {
605
- # "id" => "cryptex",
606
- # "name" => "Cryptex"
607
- # }, {
608
- # "id" => "cryptlocex",
609
- # "name" => "Cryptlocex"
610
- # }, {
611
- # "id" => "crypto_com",
612
- # "name" => "Crypto.com"
613
- # }, {
614
- # "id" => "crypto_com_futures",
615
- # "name" => "Crypto.com (Futures)"
616
- # }, {
617
- # "id" => "cryptology",
618
- # "name" => "Cryptology"
619
- # }, {
620
- # "id" => "crytrex",
621
- # "name" => "CryTrEx"
622
- # }, {
623
- # "id" => "c_trade",
624
- # "name" => "C-Trade"
625
- # }, {
626
- # "id" => "currency",
627
- # "name" => "Currency.com"
628
- # }, {
629
- # "id" => "curve",
630
- # "name" => "Curve Finance"
631
- # }, {
632
- # "id" => "cybex",
633
- # "name" => "Cybex DEX"
634
- # }, {
635
- # "id" => "daofi",
636
- # "name" => "DAOfi"
637
- # }, {
638
- # "id" => "darb_finance",
639
- # "name" => "Darb Finance"
640
- # }, {
641
- # "id" => "daybit",
642
- # "name" => "Daybit"
643
- # }, {
644
- # "id" => "dcoin",
645
- # "name" => "Dcoin"
646
- # }, {
647
- # "id" => "ddex",
648
- # "name" => "DDEX"
649
- # }, {
650
- # "id" => "decoin",
651
- # "name" => "Decoin"
652
- # }, {
653
- # "id" => "defi_swap",
654
- # "name" => "DeFi Swap"
655
- # }, {
656
- # "id" => "delta_futures",
657
- # "name" => "Delta Exchange (Futures)"
658
- # }, {
659
- # "id" => "delta_spot",
660
- # "name" => "Delta Exchange"
661
- # }, {
662
- # "id" => "dem_exchange",
663
- # "name" => "Demex"
664
- # }, {
665
- # "id" => "deribit",
666
- # "name" => "Deribit"
667
- # }, {
668
- # "id" => "deversifi",
669
- # "name" => "Deversifi "
670
- # }, {
671
- # "id" => "dex_blue",
672
- # "name" => "dex.blue"
673
- # }, {
674
- # "id" => "dextrade",
675
- # "name" => "Dex-Trade"
676
- # }, {
677
- # "id" => "digifinex",
678
- # "name" => "Digifinex"
679
- # }, {
680
- # "id" => "dmm",
681
- # "name" => "DMM"
682
- # }, {
683
- # "id" => "dobitrade",
684
- # "name" => "Dobitrade"
685
- # }, {
686
- # "id" => "dodo",
687
- # "name" => "DODO"
688
- # }, {
689
- # "id" => "dodo_bsc",
690
- # "name" => "Dodo BSC"
691
- # }, {
692
- # "id" => "dolomite",
693
- # "name" => "Dolomite"
694
- # }, {
695
- # "id" => "dove_wallet",
696
- # "name" => "Dove Wallet"
697
- # }, {
698
- # "id" => "dragonex",
699
- # "name" => "DragonEx"
700
- # }, {
701
- # "id" => "dsx",
702
- # "name" => "DSX Global"
703
- # }, {
704
- # "id" => "duedex",
705
- # "name" => "DueDEX"
706
- # }, {
707
- # "id" => "dydx",
708
- # "name" => "dYdX"
709
- # }, {
710
- # "id" => "dydx_perpetual",
711
- # "name" => "dYdX Perpetual"
712
- # }, {
713
- # "id" => "dydx_perpetual_l1",
714
- # "name" => "dYdX Perpetual (L1)"
715
- # }, {
716
- # "id" => "ecxx",
717
- # "name" => "Ecxx"
718
- # }, {
719
- # "id" => "elitex",
720
- # "name" => "Elitex"
721
- # }, {
722
- # "id" => "emirex",
723
- # "name" => "Emirex"
724
- # }, {
725
- # "id" => "equos",
726
- # "name" => "Equos.io"
727
- # }, {
728
- # "id" => "equos_perpetual",
729
- # "name" => "Equos.io (Perpetual)"
730
- # }, {
731
- # "id" => "eterbase",
732
- # "name" => "Eterbase"
733
- # }, {
734
- # "id" => "etherflyer",
735
- # "name" => "EtherFlyer"
736
- # }, {
737
- # "id" => "ethex",
738
- # "name" => "Ethex"
739
- # }, {
740
- # "id" => "etorox",
741
- # "name" => "eToroX"
742
- # }, {
743
- # "id" => "everbloom",
744
- # "name" => "Everbloom"
745
- # }, {
746
- # "id" => "exmarkets",
747
- # "name" => "ExMarkets"
748
- # }, {
749
- # "id" => "exmo",
750
- # "name" => "EXMO"
751
- # }, {
752
- # "id" => "exnce",
753
- # "name" => "EXNCE"
754
- # }, {
755
- # "id" => "exrates",
756
- # "name" => "Exrates"
757
- # }, {
758
- # "id" => "exx",
759
- # "name" => "EXX"
760
- # }, {
761
- # "id" => "fatbtc",
762
- # "name" => "FatBTC"
763
- # }, {
764
- # "id" => "fex",
765
- # "name" => "FEX"
766
- # }, {
767
- # "id" => "financex",
768
- # "name" => "FinanceX"
769
- # }, {
770
- # "id" => "finexbox",
771
- # "name" => "FinexBox"
772
- # }, {
773
- # "id" => "floatsv",
774
- # "name" => "Float SV"
775
- # }, {
776
- # "id" => "flybit",
777
- # "name" => "Flybit"
778
- # }, {
779
- # "id" => "forkdelta",
780
- # "name" => "ForkDelta"
781
- # }, {
782
- # "id" => "freiexchange",
783
- # "name" => "Freiexchange"
784
- # }, {
785
- # "id" => "ftx",
786
- # "name" => "FTX (Derivatives)"
787
- # }, {
788
- # "id" => "ftx_spot",
789
- # "name" => "FTX"
790
- # }, {
791
- # "id" => "ftx_us",
792
- # "name" => "FTX.US"
793
- # }, {
794
- # "id" => "futureswap",
795
- # "name" => "Futureswap"
796
- # }, {
797
- # "id" => "gate",
798
- # "name" => "Gate.io"
799
- # }, {
800
- # "id" => "gate_futures",
801
- # "name" => "Gate.io (Futures)"
802
- # }, {
803
- # "id" => "gbx",
804
- # "name" => "Global Blockchain Exchange"
805
- # }, {
806
- # "id" => "gdac",
807
- # "name" => "GDAC"
808
- # }, {
809
- # "id" => "gdax",
810
- # "name" => "Coinbase Pro"
811
- # }, {
812
- # "id" => "gemini",
813
- # "name" => "Gemini"
814
- # }, {
815
- # "id" => "getbtc",
816
- # "name" => "GetBTC"
817
- # }, {
818
- # "id" => "gmo_japan",
819
- # "name" => "GMO Japan"
820
- # }, {
821
- # "id" => "gmo_japan_futures",
822
- # "name" => "GMO Japan (Futures)"
823
- # }, {
824
- # "id" => "gobaba",
825
- # "name" => "Gobaba"
826
- # }, {
827
- # "id" => "goku",
828
- # "name" => "GokuMarket"
829
- # }, {
830
- # "id" => "gopax",
831
- # "name" => "GoPax"
832
- # }, {
833
- # "id" => "graviex",
834
- # "name" => "Graviex"
835
- # }, {
836
- # "id" => "hanbitco",
837
- # "name" => "Hanbitco"
838
- # }, {
839
- # "id" => "hbtc",
840
- # "name" => "BHEX"
841
- # }, {
842
- # "id" => "hbtc_futures",
843
- # "name" => "HBTC (Futures)"
844
- # }, {
845
- # "id" => "hb_top",
846
- # "name" => "Hb.top"
847
- # }, {
848
- # "id" => "hitbtc",
849
- # "name" => "HitBTC"
850
- # }, {
851
- # "id" => "honeyswap",
852
- # "name" => "Honeyswap"
853
- # }, {
854
- # "id" => "hoo",
855
- # "name" => "Hoo.com"
856
- # }, {
857
- # "id" => "hopex",
858
- # "name" => "Hopex"
859
- # }, {
860
- # "id" => "hotbit",
861
- # "name" => "Hotbit"
862
- # }, {
863
- # "id" => "hpx",
864
- # "name" => "HPX"
865
- # }, {
866
- # "id" => "hubi",
867
- # "name" => "Hubi"
868
- # }, {
869
- # "id" => "huobi",
870
- # "name" => "Huobi Global"
871
- # }, {
872
- # "id" => "huobi_dm",
873
- # "name" => "Huobi Futures"
874
- # }, {
875
- # "id" => "huobi_id",
876
- # "name" => "Huobi Indonesia"
877
- # }, {
878
- # "id" => "huobi_japan",
879
- # "name" => "Huobi Japan"
880
- # }, {
881
- # "id" => "huobi_korea",
882
- # "name" => "Huobi Korea"
883
- # }, {
884
- # "id" => "huobi_thailand",
885
- # "name" => "Huobi Thailand"
886
- # }, {
887
- # "id" => "ice3x",
888
- # "name" => "Ice3x"
889
- # }, {
890
- # "id" => "idcm",
891
- # "name" => "IDCM"
892
- # }, {
893
- # "id" => "idex",
894
- # "name" => "Idex"
895
- # }, {
896
- # "id" => "incorex",
897
- # "name" => "IncoreX"
898
- # }, {
899
- # "id" => "independent_reserve",
900
- # "name" => "Independent Reserve"
901
- # }, {
902
- # "id" => "indodax",
903
- # "name" => "Indodax"
904
- # }, {
905
- # "id" => "infinity_coin",
906
- # "name" => "Infinity Coin"
907
- # }, {
908
- # "id" => "instantbitex",
909
- # "name" => "Instant Bitex"
910
- # }, {
911
- # "id" => "iqfinex",
912
- # "name" => "IQFinex"
913
- # }, {
914
- # "id" => "itbit",
915
- # "name" => "itBit"
916
- # }, {
917
- # "id" => "jex",
918
- # "name" => "Binance JEX"
919
- # }, {
920
- # "id" => "jex_futures",
921
- # "name" => "Binance JEX (Futures)"
922
- # }, {
923
- # "id" => "joyso",
924
- # "name" => "Joyso"
925
- # }, {
926
- # "id" => "julswap",
927
- # "name" => "Julswap"
928
- # }, {
929
- # "id" => "justswap",
930
- # "name" => "JustSwap"
931
- # }, {
932
- # "id" => "kickex",
933
- # "name" => "KickEX"
934
- # }, {
935
- # "id" => "kkcoin",
936
- # "name" => "KKCoin"
937
- # }, {
938
- # "id" => "k_kex",
939
- # "name" => "KKEX"
940
- # }, {
941
- # "id" => "korbit",
942
- # "name" => "Korbit"
943
- # }, {
944
- # "id" => "kraken",
945
- # "name" => "Kraken"
946
- # }, {
947
- # "id" => "kraken_futures",
948
- # "name" => "Kraken (Futures)"
949
- # }, {
950
- # "id" => "kucoin",
951
- # "name" => "KuCoin"
952
- # }, {
953
- # "id" => "kumex",
954
- # "name" => "KuCoin Futures"
955
- # }, {
956
- # "id" => "kuna",
957
- # "name" => "Kuna Exchange"
958
- # }, {
959
- # "id" => "kyber_network",
960
- # "name" => "Kyber Network"
961
- # }, {
962
- # "id" => "lakebtc",
963
- # "name" => "LakeBTC"
964
- # }, {
965
- # "id" => "latoken",
966
- # "name" => "LATOKEN"
967
- # }, {
968
- # "id" => "lbank",
969
- # "name" => "LBank"
970
- # }, {
971
- # "id" => "lcx",
972
- # "name" => "LCX Exchange"
973
- # }, {
974
- # "id" => "leverj",
975
- # "name" => "Leverj"
976
- # }, {
977
- # "id" => "linkswap",
978
- # "name" => "Linkswap"
979
- # }, {
980
- # "id" => "liquid_derivatives",
981
- # "name" => "Liquid Perpetuals"
982
- # }, {
983
- # "id" => "localtrade",
984
- # "name" => "LocalTrade"
985
- # }, {
986
- # "id" => "loopring",
987
- # "name" => "Loopring"
988
- # }, {
989
- # "id" => "loopring_amm",
990
- # "name" => "Loopring AMM"
991
- # }, {
992
- # "id" => "luaswap",
993
- # "name" => "Luaswap"
994
- # }, {
995
- # "id" => "lucent",
996
- # "name" => "Lucent"
997
- # }, {
998
- # "id" => "lukki",
999
- # "name" => "Lukki"
1000
- # }, {
1001
- # "id" => "luno",
1002
- # "name" => "Luno"
1003
- # }, {
1004
- # "id" => "lykke",
1005
- # "name" => "Lykke"
1006
- # }, {
1007
- # "id" => "max_maicoin",
1008
- # "name" => "Max Maicoin"
1009
- # }, {
1010
- # "id" => "mcdex",
1011
- # "name" => "MCDEX"
1012
- # }, {
1013
- # "id" => "mdex",
1014
- # "name" => "Mdex"
1015
- # }, {
1016
- # "id" => "mercado_bitcoin",
1017
- # "name" => "Mercado Bitcoin"
1018
- # }, {
1019
- # "id" => "mercatox",
1020
- # "name" => "Mercatox"
1021
- # }, {
1022
- # "id" => "mercuriex",
1023
- # "name" => "MercuriEx"
1024
- # }, {
1025
- # "id" => "mesa",
1026
- # "name" => " Gnosis Protocol"
1027
- # }, {
1028
- # "id" => "mirror",
1029
- # "name" => "Terraswap"
1030
- # }, {
1031
- # "id" => "mooniswap",
1032
- # "name" => "Mooniswap"
1033
- # }, {
1034
- # "id" => "multi",
1035
- # "name" => "Multi.io"
1036
- # }, {
1037
- # "id" => "mxc",
1038
- # "name" => "MXC"
1039
- # }, {
1040
- # "id" => "mxc_futures",
1041
- # "name" => "MXC (Futures)"
1042
- # }, {
1043
- # "id" => "mycoinstory",
1044
- # "name" => "MyCoinStory"
1045
- # }, {
1046
- # "id" => "namebase",
1047
- # "name" => "Namebase"
1048
- # }, {
1049
- # "id" => "nami_exchange",
1050
- # "name" => "Nami.Exchange"
1051
- # }, {
1052
- # "id" => "nanu_exchange",
1053
- # "name" => "Nanu Exchange"
1054
- # }, {
1055
- # "id" => "narkasa",
1056
- # "name" => "Narkasa"
1057
- # }, {
1058
- # "id" => "nash",
1059
- # "name" => "Nash"
1060
- # }, {
1061
- # "id" => "neblidex",
1062
- # "name" => "Neblidex"
1063
- # }, {
1064
- # "id" => "negociecoins",
1065
- # "name" => "Negociecoins"
1066
- # }, {
1067
- # "id" => "neraex",
1068
- # "name" => "Neraex"
1069
- # }, {
1070
- # "id" => "newdex",
1071
- # "name" => "Newdex"
1072
- # }, {
1073
- # "id" => "nexus_mutual",
1074
- # "name" => "Nexus Mutual"
1075
- # }, {
1076
- # "id" => "nice_hash",
1077
- # "name" => "NiceHash"
1078
- # }, {
1079
- # "id" => "niftex",
1080
- # "name" => "Niftex"
1081
- # }, {
1082
- # "id" => "nlexch",
1083
- # "name" => "NLexch"
1084
- # }, {
1085
- # "id" => "nominex",
1086
- # "name" => "Nominex"
1087
- # }, {
1088
- # "id" => "novadax",
1089
- # "name" => "NovaDAX"
1090
- # }, {
1091
- # "id" => "oasis_trade",
1092
- # "name" => "OasisDEX"
1093
- # }, {
1094
- # "id" => "oceanex",
1095
- # "name" => "Oceanex"
1096
- # }, {
1097
- # "id" => "okcoin",
1098
- # "name" => "Okcoin"
1099
- # }, {
1100
- # "id" => "okex",
1101
- # "name" => "OKEx"
1102
- # }, {
1103
- # "id" => "okex_swap",
1104
- # "name" => "OKEx (Futures)"
1105
- # }, {
1106
- # "id" => "omgfin",
1107
- # "name" => "Omgfin"
1108
- # }, {
1109
- # "id" => "omnitrade",
1110
- # "name" => "OmniTrade"
1111
- # }, {
1112
- # "id" => "one_inch",
1113
- # "name" => "1inch"
1114
- # }, {
1115
- # "id" => "one_inch_liquidity_protocol",
1116
- # "name" => "1inch Liquidity Protocol"
1117
- # }, {
1118
- # "id" => "one_inch_liquidity_protocol_bsc",
1119
- # "name" => "1inch Liquidity Protocol (BSC)"
1120
- # }, {
1121
- # "id" => "orderbook",
1122
- # "name" => "Orderbook.io"
1123
- # }, {
1124
- # "id" => "otcbtc",
1125
- # "name" => "OTCBTC"
1126
- # }, {
1127
- # "id" => "ovex",
1128
- # "name" => "Ovex"
1129
- # }, {
1130
- # "id" => "p2pb2b",
1131
- # "name" => "P2PB2B"
1132
- # }, {
1133
- # "id" => "pancakeswap",
1134
- # "name" => "PancakeSwap (v2)"
1135
- # }, {
1136
- # "id" => "pancakeswap_others",
1137
- # "name" => "Pancakeswap (Others)"
1138
- # }, {
1139
- # "id" => "pancakeswap_v1",
1140
- # "name" => "PancakeSwap (v1)"
1141
- # }, {
1142
- # "id" => "pangolin",
1143
- # "name" => "Pangolin"
1144
- # }, {
1145
- # "id" => "paraswap",
1146
- # "name" => "Paraswap"
1147
- # }, {
1148
- # "id" => "paribu",
1149
- # "name" => "Paribu"
1150
- # }, {
1151
- # "id" => "paroexchange",
1152
- # "name" => "Paro Exchange"
1153
- # }, {
1154
- # "id" => "paymium",
1155
- # "name" => "Paymium"
1156
- # }, {
1157
- # "id" => "perpetual_protocol",
1158
- # "name" => "Perpetual Protocol"
1159
- # }, {
1160
- # "id" => "phemex",
1161
- # "name" => "Phemex"
1162
- # }, {
1163
- # "id" => "phemex_futures",
1164
- # "name" => "Phemex (Futures)"
1165
- # }, {
1166
- # "id" => "poloniex",
1167
- # "name" => "Poloniex"
1168
- # }, {
1169
- # "id" => "poloniex_futures",
1170
- # "name" => "Poloniex Futures"
1171
- # }, {
1172
- # "id" => "polyient_dex",
1173
- # "name" => "Polyient Dex"
1174
- # }, {
1175
- # "id" => "prime_xbt",
1176
- # "name" => "Prime XBT"
1177
- # }, {
1178
- # "id" => "probit",
1179
- # "name" => "ProBit"
1180
- # }, {
1181
- # "id" => "qtrade",
1182
- # "name" => "qTrade"
1183
- # }, {
1184
- # "id" => "quickswap",
1185
- # "name" => "Quickswap"
1186
- # }, {
1187
- # "id" => "quoine",
1188
- # "name" => "Liquid"
1189
- # }, {
1190
- # "id" => "radar_relay",
1191
- # "name" => "Radar Relay"
1192
- # }, {
1193
- # "id" => "raydium",
1194
- # "name" => "Raydium"
1195
- # }, {
1196
- # "id" => "resfinex",
1197
- # "name" => "Resfinex"
1198
- # }, {
1199
- # "id" => "rfinex",
1200
- # "name" => "Rfinex"
1201
- # }, {
1202
- # "id" => "safe_trade",
1203
- # "name" => "SafeTrade"
1204
- # }, {
1205
- # "id" => "sakeswap",
1206
- # "name" => "SakeSwap"
1207
- # }, {
1208
- # "id" => "sashimiswap",
1209
- # "name" => "Sashimiswap"
1210
- # }, {
1211
- # "id" => "satoexchange",
1212
- # "name" => "SatoExchange"
1213
- # }, {
1214
- # "id" => "saturn_network",
1215
- # "name" => "Saturn Network"
1216
- # }, {
1217
- # "id" => "secondbtc",
1218
- # "name" => "SecondBTC"
1219
- # }, {
1220
- # "id" => "secretswap",
1221
- # "name" => "SecretSwap"
1222
- # }, {
1223
- # "id" => "serum_dex",
1224
- # "name" => "Serum DEX"
1225
- # }, {
1226
- # "id" => "serumswap",
1227
- # "name" => "SerumSwap"
1228
- # }, {
1229
- # "id" => "shortex",
1230
- # "name" => "Shortex"
1231
- # }, {
1232
- # "id" => "simex",
1233
- # "name" => "Simex"
1234
- # }, {
1235
- # "id" => "sinegy",
1236
- # "name" => "SINEGY"
1237
- # }, {
1238
- # "id" => "sistemkoin",
1239
- # "name" => "Sistemkoin"
1240
- # }, {
1241
- # "id" => "six_x",
1242
- # "name" => "6x"
1243
- # }, {
1244
- # "id" => "south_xchange",
1245
- # "name" => "SouthXchange"
1246
- # }, {
1247
- # "id" => "spiritswap",
1248
- # "name" => "SpiritSwap"
1249
- # }, {
1250
- # "id" => "spookyswap",
1251
- # "name" => "Spookyswap"
1252
- # }, {
1253
- # "id" => "stake_cube",
1254
- # "name" => "StakeCube Exchange"
1255
- # }, {
1256
- # "id" => "stellar_term",
1257
- # "name" => "StellarTerm"
1258
- # }, {
1259
- # "id" => "stocks_exchange",
1260
- # "name" => "STEX"
1261
- # }, {
1262
- # "id" => "stormgain",
1263
- # "name" => "Stormgain"
1264
- # }, {
1265
- # "id" => "stormgain_futures",
1266
- # "name" => "Stormgain Futures"
1267
- # }, {
1268
- # "id" => "sushiswap",
1269
- # "name" => "Sushiswap"
1270
- # }, {
1271
- # "id" => "sushiswap_polygon",
1272
- # "name" => "Sushiswap (Polygon POS)"
1273
- # }, {
1274
- # "id" => "swapr",
1275
- # "name" => "Swapr"
1276
- # }, {
1277
- # "id" => "swiftex",
1278
- # "name" => "Swiftex"
1279
- # }, {
1280
- # "id" => "switcheo",
1281
- # "name" => "Switcheo"
1282
- # }, {
1283
- # "id" => "swop_fi",
1284
- # "name" => "Swop.Fi"
1285
- # }, {
1286
- # "id" => "synthetix",
1287
- # "name" => "Synthetix Exchange"
1288
- # }, {
1289
- # "id" => "tdax",
1290
- # "name" => "Satang Pro"
1291
- # }, {
1292
- # "id" => "therocktrading",
1293
- # "name" => "TheRockTrading"
1294
- # }, {
1295
- # "id" => "thodex",
1296
- # "name" => "Thodex"
1297
- # }, {
1298
- # "id" => "tidebit",
1299
- # "name" => "Tidebit"
1300
- # }, {
1301
- # "id" => "tidex",
1302
- # "name" => "Tidex"
1303
- # }, {
1304
- # "id" => "tokenize",
1305
- # "name" => "Tokenize"
1306
- # }, {
1307
- # "id" => "tokenlon",
1308
- # "name" => "Tokenlon"
1309
- # }, {
1310
- # "id" => "tokenomy",
1311
- # "name" => "Tokenomy"
1312
- # }, {
1313
- # "id" => "token_sets",
1314
- # "name" => "TokenSets"
1315
- # }, {
1316
- # "id" => "tokens_net",
1317
- # "name" => "TokensNet"
1318
- # }, {
1319
- # "id" => "toko_crypto",
1320
- # "name" => "TokoCrypto"
1321
- # }, {
1322
- # "id" => "tokok",
1323
- # "name" => "TOKOK"
1324
- # }, {
1325
- # "id" => "tokpie",
1326
- # "name" => "Tokpie"
1327
- # }, {
1328
- # "id" => "tomodex",
1329
- # "name" => "TomoDEX"
1330
- # }, {
1331
- # "id" => "topbtc",
1332
- # "name" => "TopBTC"
1333
- # }, {
1334
- # "id" => "trade_ogre",
1335
- # "name" => "TradeOgre"
1336
- # }, {
1337
- # "id" => "tron_trade",
1338
- # "name" => "TronTrade"
1339
- # }, {
1340
- # "id" => "trx_market",
1341
- # "name" => "PoloniDEX"
1342
- # }, {
1343
- # "id" => "txbit",
1344
- # "name" => "Txbit"
1345
- # }, {
1346
- # "id" => "ubeswap",
1347
- # "name" => "Ubeswap"
1348
- # }, {
1349
- # "id" => "unicly",
1350
- # "name" => "Unicly"
1351
- # }, {
1352
- # "id" => "uniswap",
1353
- # "name" => "Uniswap (v3)"
1354
- # }, {
1355
- # "id" => "uniswap_v1",
1356
- # "name" => "Uniswap (v1)"
1357
- # }, {
1358
- # "id" => "uniswap_v2",
1359
- # "name" => "Uniswap (v2)"
1360
- # }, {
1361
- # "id" => "unnamed",
1362
- # "name" => "Unnamed"
1363
- # }, {
1364
- # "id" => "upbit",
1365
- # "name" => "Upbit"
1366
- # }, {
1367
- # "id" => "upbit_indonesia",
1368
- # "name" => "Upbit Indonesia "
1369
- # }, {
1370
- # "id" => "value_liquid",
1371
- # "name" => "Value Liquid"
1372
- # }, {
1373
- # "id" => "value_liquid_bsc",
1374
- # "name" => "vSwap BSC"
1375
- # }, {
1376
- # "id" => "vb",
1377
- # "name" => "VB"
1378
- # }, {
1379
- # "id" => "vcc",
1380
- # "name" => "VCC Exchange"
1381
- # }, {
1382
- # "id" => "vebitcoin",
1383
- # "name" => "Vebitcoin"
1384
- # }, {
1385
- # "id" => "velic",
1386
- # "name" => "Velic"
1387
- # }, {
1388
- # "id" => "vindax",
1389
- # "name" => "Vindax"
1390
- # }, {
1391
- # "id" => "vinex",
1392
- # "name" => "Vinex"
1393
- # }, {
1394
- # "id" => "viperswap",
1395
- # "name" => "ViperSwap"
1396
- # }, {
1397
- # "id" => "virgox",
1398
- # "name" => "Virgox"
1399
- # }, {
1400
- # "id" => "vitex",
1401
- # "name" => "ViteX"
1402
- # }, {
1403
- # "id" => "wault_swap",
1404
- # "name" => "WaultSwap"
1405
- # }, {
1406
- # "id" => "waves",
1407
- # "name" => "Waves.Exchange"
1408
- # }, {
1409
- # "id" => "wazirx",
1410
- # "name" => "WazirX"
1411
- # }, {
1412
- # "id" => "whale_ex",
1413
- # "name" => "WhaleEx"
1414
- # }, {
1415
- # "id" => "whitebit",
1416
- # "name" => "WhiteBIT"
1417
- # }, {
1418
- # "id" => "xcoex",
1419
- # "name" => "XCOEX"
1420
- # }, {
1421
- # "id" => "xfutures",
1422
- # "name" => "xFutures"
1423
- # }, {
1424
- # "id" => "xt",
1425
- # "name" => "XT.COM"
1426
- # }, {
1427
- # "id" => "yobit",
1428
- # "name" => "YoBit"
1429
- # }, {
1430
- # "id" => "yunex",
1431
- # "name" => "Yunex.io"
1432
- # }, {
1433
- # "id" => "zaif",
1434
- # "name" => "Zaif"
1435
- # }, {
1436
- # "id" => "zb",
1437
- # "name" => "ZB"
1438
- # }, {
1439
- # "id" => "zbg",
1440
- # "name" => "ZBG"
1441
- # }, {
1442
- # "id" => "zbg_futures",
1443
- # "name" => "ZBG Futures"
1444
- # }, {
1445
- # "id" => "zbx",
1446
- # "name" => "ZBX"
1447
- # }, {
1448
- # "id" => "zebitex",
1449
- # "name" => "Zebitex"
1450
- # }, {
1451
- # "id" => "zebpay",
1452
- # "name" => "ZebPay"
1453
- # }, {
1454
- # "id" => "zero_ex",
1455
- # "name" => "0x Protocol"
1456
- # }, {
1457
- # "id" => "zero_exchange",
1458
- # "name" => "Zero Exchange"
1459
- # }, {
1460
- # "id" => "zg",
1461
- # "name" => "ZG.com"
1462
- # }, {
1463
- # "id" => "zgtop",
1464
- # "name" => "ZG.TOP"
1465
- # }, {
1466
- # "id" => "zilswap",
1467
- # "name" => "Zilswap"
1468
- # }, {
1469
- # "id" => "zipmex",
1470
- # "name" => "Zipmex"
1471
- # }, {
1472
- # "id" => "zkswap",
1473
- # "name" => "ZKSwap"
1474
60
  # }]
1475
- def get_exchange_ids
61
+ def get_exchanges_ids
1476
62
  get 'exchanges/list'
1477
63
  end
1478
64
 
@@ -1489,7 +75,7 @@ module CoingeckoRuby
1489
75
  #
1490
76
  # @example Get Bitcoin tickers from Binance.
1491
77
  # client.get_exchange_tickers(id: 'binance', options: { coin_ids: 'bitcoin' })
1492
- # @example Response object
78
+ # @example Sample response object
1493
79
  # {
1494
80
  # "name" => "Binance", "tickers" => [{
1495
81
  # "base" => "BTC",
@@ -1516,31 +102,6 @@ module CoingeckoRuby
1516
102
  # "token_info_url" => nil,
1517
103
  # "coin_id" => "bitcoin",
1518
104
  # "target_coin_id" => "tether"
1519
- # }, {
1520
- # "base" => "BTC",
1521
- # "target" => "BUSD",
1522
- # "market" => {
1523
- # "name" => "Binance", "identifier" => "binance", "has_trading_incentive" => false
1524
- # },
1525
- # "last" => 48929.1,
1526
- # "volume" => 18176.952406055105,
1527
- # "converted_last" => {
1528
- # "btc" => 0.9991652, "eth" => 12.710228, "usd" => 48862
1529
- # },
1530
- # "converted_volume" => {
1531
- # "btc" => 18162, "eth" => 231033, "usd" => 888164944
1532
- # },
1533
- # "trust_score" => "green",
1534
- # "bid_ask_spread_percentage" => 0.01002,
1535
- # "timestamp" => "2021-05-16T07:43:46+00:00",
1536
- # "last_traded_at" => "2021-05-16T07:43:46+00:00",
1537
- # "last_fetch_at" => "2021-05-16T07:43:46+00:00",
1538
- # "is_anomaly" => false,
1539
- # "is_stale" => false,
1540
- # "trade_url" => "https://www.binance.com/en/trade/BTC_BUSD?ref=37754157",
1541
- # "token_info_url" => nil,
1542
- # "coin_id" => "bitcoin",
1543
- # "target_coin_id" => "binance-usd"
1544
105
  # }]
1545
106
  # }
1546
107
  def get_exchange_tickers(id:, options: {})
@@ -1557,7 +118,7 @@ module CoingeckoRuby
1557
118
  #
1558
119
  # @example Get the last 3 status updates from Binance.
1559
120
  # client.get_exchange_status_updates(id: 'binance', options: { per_page: 1 })
1560
- # @example Response object
121
+ # @example Sample response object
1561
122
  # {
1562
123
  # "status_updates" => [{
1563
124
  # "description" => "Juventus and Paris Saint-Germain Fan Tokens on Binance Launchpool! \r\n\r\nFarm JUV and PSG tokens By Staking BNB, BUSD & CHZ Tokens\r\n\r\nClick here➡️ https://ter.li/JUV-and-PSG-tokens",
@@ -1586,7 +147,7 @@ module CoingeckoRuby
1586
147
  #
1587
148
  # @example Get Binance's trade volume from a day ago.
1588
149
  # client.get_exchange_volume(id: 'binance', days: 1)
1589
- # @example Response object (truncated)
150
+ # @example Sample response object (truncated)
1590
151
  # [
1591
152
  # [1620550200000.0, "1005476.2667217359131632087795432176371669876601688256288859094077173967202827700534809705802"], # [UNIX timestamp for exchange trade volume data, trade volume]
1592
153
  # [1620553800000.0, "1018442.2775982988468591292487708941265043962519659923872972786095536137127193126138169804088"],