coingecko_ruby 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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"],