crypto2
May 18, 2026 · View on GitHub
Historical Cryptocurrency Prices for Active and Delisted Tokens!
Experimental: A CoinGecko integration is in active testing on the
devbranch. It addscg_list(),cg_listings(),cg_history(),cg_info(), andcg_history_by_id()— CMC-column-compatible companions that pull from CoinGecko, no API key required. Browse the dev docs at https://www.sebastianstoeckl.com/crypto2/dev/ (use the navbar Release / Devel switcher) or install the dev branch directly:# install.packages("remotes") remotes::install_github("sstoeckl/crypto2@dev")CoinGecko's free tier exposes only active coins; the package warns when delisted-coin retrieval is impossible. Build a survivorship-bias-free archive by snapshotting periodically (daily/weekly) from your own cronjob.
This is a modification of the original crypto package by jesse
vent. It is entirely set up to use
means from the tidyverse and provides tibbles with all data
available via the web-api of
coinmarketcap.com. It does not require
an API key but in turn only provides information that is also available
through the website of
coinmarketcap.com.
It allows the user to retrieve
crypto_listings()a list of all coins that were historically listed on CMC (main dataset to avoid delisting bias) according to the CMC API documentationcrypto_list()a list of all coins that are listed as either being active, delisted or untracked according to the CMC API documentationcrypto_info()a list of all information available for all available coins according to the CMC API documentationcrypto_history()the most powerful function of this package that allows to download the entire available history for all coins covered by CMC according to the CMC API documentationcrypto_global_quotes()a dataset of historical global crypto currency market metrics to the CMC API documentationfiat_list()a mapping of all fiat currencies available via the CMC WEB API (note: since v2.0.0 only USD is available)exchange_list()a list of all exchanges available as either being active, delisted or untracked according to the CMC API documentationexchange_info()a list of all information available for all given exchanges according to the CMC API documentation
Changelog
Version 2.0.5.99 (development)
crypto_info() and exchange_info() have been made more robust against
CMC API changes. Both functions now use a column allowlist instead
of a denylist: only known, documented columns are retained, so any new
or unknown fields added by CMC — including list-type fields that would
previously break the output — are silently ignored. This should
eliminate the recurring patch releases caused by CMC adding new columns.
Version 2.0.2/2.0.3/2.0.4/2.0.5 (September 2025)
Slight change in api output broke crypto_info() (new additional
column). Fixed.
Version 2.0.1 (July 2024)
Slight change in api output broke crypto_info(). Fixed.
Version 2.0.0 (May 2024)
After a major change in the api structure of coinmarketcap.com, the package had to be rewritten. As a result, many functions had to be rewritten, because data was not available any more in a similar format or with similar accuracy. Unfortunately, this will potentially break many users implementations. Here is a detailed list of changes:
crypto_list()has been modified and delivers the same data as before.exchange_list()has been modified and delivers the same data as before.fiat_list()has been modified and no longer delivers all available currencies and precious metals (therefore only USD and Bitcoin are available any more).crypto_listings()needed to be modified, as multiple base currencies are not available any more. Also some of the fields downloaded from CMC might have changed. It still retrieves the latest listings, the new listings as well as historical listings. The fields returned have somewhat slightly changed. Also, no sorting is available any more, so if you want to download the top x CCs by market cap, you have to download all CCs and then sort them in R.crypto_info()has been modified, as the data structure has changed. The fields returned have somewhat slightly changed.crypto_history()has been modified. It still retrieves all the OHLC history of all the coins, but is slower due to an increased number of necessary api calls. The number of available intervals is strongly limited, but hourly and daily data is still available. Currently only USD and BTC are available as quote currencies through this library.crypto_global_quotes()has been modified. It still produces a clear picture of the global market, but the data structure has somewhat slightly changed.
Installation
You can install crypto2 from CRAN with
install.packages("crypto2")
or directly from github with:
# install.packages("devtools")
devtools::install_github("sstoeckl/crypto2")
Package Contribution
The package provides API free and efficient access to all information
from https://coinmarketcap.com that is also available through their
website. It uses a variety of modification and web-scraping tools from
the tidyverse (especially purrr).
As this provides access not only to active coins but also to those that have now been delisted and also those that are categorized as untracked, including historical pricing information, this package provides a valid basis for any Asset Pricing Studies based on crypto currencies that require survivorship-bias-free information. In addition to that, the package maintainer is currently working on also providing delisting returns (similarly to CRSP for stocks) to also eliminate the delisting bias.
Package Usage
First we load the crypto2-package and download the set of active coins
from https://coinmarketcap.com (additionally one could load delisted
coins with only_active=FALSE as well as untracked coins with
add_untracked=TRUE).
library(crypto2)
library(dplyr)
#>
#> Attache Paket: 'dplyr'
#> Die folgenden Objekte sind maskiert von 'package:stats':
#>
#> filter, lag
#> Die folgenden Objekte sind maskiert von 'package:base':
#>
#> intersect, setdiff, setequal, union
# List all active coins
coins <- crypto_list(only_active=TRUE)
Next we download information on the first three coins from that list.
``$ \text{r}
\text{retrieve} \text{information} \text{for} \text{all} (\text{the} \text{first} 3) \text{of} \text{those} \text{coins}
\text{coin_info} <- \text{crypto_info}(\text{coins}, \text{limit}=3, \text{finalWait}=\text{FALSE}) #> ❯ \text{Scraping} \text{crypto} \text{info} #> #> ❯ \text{Processing} \text{crypto} \text{info} #>
\text{and} \text{give} \text{the} \text{first} \text{two} \text{lines} \text{of} \text{information} \text{per} \text{coin}
\text{coin_info}
#> # \text{A} \text{tibble}: 4 \times 45
#> \text{id} \text{name} \text{symbol} \text{slug} \text{category} \text{description} \text{date_added} \text{actual_time_start}
#> <\text{int}> <\text{chr}> <\text{chr}> <\text{chr}> <\text{chr}> <\text{chr}> <\text{date}> <\text{chr}>
#> 1 1 \text{Bitcoin} \text{BTC} \text{bitco}… \text{coin} "## \text{What} \text{I}… 2010-07-13 2010-07-13\text{T00}:05…
#> 2 2 \text{Litecoin} \text{LTC} \text{litec}… \text{coin} "## \text{What} \text{I}… 2013-04-28 2013-04-28\text{T18}:45…
#> 3 2 \text{Litecoin} \text{LTC} \text{litec}… \text{coin} "## \text{What} \text{I}… 2013-04-28 2013-04-28\text{T18}:45…
#> 4 3 \text{Namecoin} \text{NMC} \text{namec}… \text{coin} "\text{Namecoin} … 2013-04-28 2013-04-28\text{T18}:45…
#> # ℹ 37 \text{more} \text{variables}: \text{status} <\text{chr}>, \text{is_bn} <\text{int}>, \text{sub_status} <\text{chr}>,
#> # \text{notice} <\text{chr}>, \text{alert_type} <\text{int}>, \text{alert_link} <\text{chr}>,
#> # \text{latest_update_time} <\text{dttm}>, \text{watch_list_ranking} <\text{int}>, \text{date_launched} <\text{date}>,
#> # \text{is_audited} <\text{lgl}>, \text{display_tv} <\text{int}>, \text{is_infinite_max_supply} <\text{int}>,
#> # \text{tv_coin_symbol} <\text{chr}>, \text{cdp_total_holder} <\text{chr}>, \text{holder_historical_flag} <\text{lgl}>,
#> # \text{holder_list_flag} <\text{lgl}>, \text{holders_flag} <\text{lgl}>, \text{ratings_flag} <\text{lgl}>,
#> # \text{analysis_flag} <\text{lgl}>, \text{socials_flag} <\text{lgl}>, …
$``
In a next step we show the logos of the three coins as provided by https://coinmarketcap.com.




In addition we show tags provided by https://coinmarketcap.com.
$ \text{r} \text{coin\_info} %>% \text{select}(\text{slug},\text{tags}) %>% \text{tidyr}::\text{unnest}(\text{tags}) %>% \text{group\_by}(\text{slug}) %>% \text{slice}(1,\text{n}()) #> # \text{A} \text{tibble}: 6 \times 2 #> # \text{Groups}: \text{slug} [3] #> \text{slug} \text{tags}$\text{slug} $\text{name} $\text{category} $\text{status} $\text{priority} #> <\text{chr}> <\text{chr}> <\text{chr}> <\text{chr}> <\text{int}> <\text{int}> #> 1 \text{bitcoin} \text{mineable} \text{Mineable} \text{OTHERS} 1 5 #> 2 \text{bitcoin} \text{binance}-\text{listing} \text{Binance} \text{Listing} \text{CATEGORY} 0 5 #> 3 \text{litecoin} \text{mineable} \text{Mineable} \text{OTHERS} 1 5 #> 4 \text{litecoin} \text{binance}-\text{listing} \text{Binance} \text{Listing} \text{CATEGORY} 0 5 #> 5 \text{namecoin} \text{mineable} \text{Mineable} \text{OTHERS} 1 5 #> 6 \text{namecoin} \text{platform} \text{Platform} \text{CATEGORY} 1 5 $
Additionally: Here are some urls pertaining to these coins as provided by https://coinmarketcap.com.
coin_info %>% dplyr::pull(urls) %>% .[[1]] %>% unlist()
#> urls.website urls.technical_doc
#> "https://bitcoin.org/" "https://bitcoin.org/bitcoin.pdf"
#> urls.explorer1 urls.explorer2
#> "https://blockchain.info/" "https://live.blockcypher.com/btc/"
#> urls.explorer3 urls.explorer4
#> "https://blockchair.com/bitcoin" "https://explorer.viabtc.com/btc"
#> urls.explorer5 urls.source_code
#> "https://www.okx.com/web3/explorer/btc" "https://github.com/bitcoin/bitcoin"
#> urls.message_board urls.reddit
#> "https://bitcointalk.org" "https://reddit.com/r/bitcoin"
In a next step we download time series data for these coins.
``$ \text{r}
\text{retrieve} \text{historical} \text{data} \text{for} \text{all} (\text{the} \text{first} 3) \text{of} \text{them}
\text{coin_hist} <- \text{crypto_history}(\text{coins}, \text{limit}=3, \text{start_date}="20210101", \text{end_date}="20210105", \text{finalWait}=\text{FALSE}) #> ❯ \text{Scraping} \text{historical} \text{crypto} \text{data} #> #> ❯ \text{Processing} \text{historical} \text{crypto} \text{data} #>
\text{and} \text{give} \text{the} \text{first} \text{two} \text{times} \text{of} \text{information} \text{per} \text{coin}
\text{coin_hist} %>% \text{group_by}(\text{slug}) %>% \text{slice}(1:2)
#> # \text{A} \text{tibble}: 6 \times 18
#> # \text{Groups}: \text{slug} [3]
#> \text{id} \text{slug} \text{name} \text{symbol} \text{timestamp} \text{ref_cur_id} \text{ref_cur_name}
#> <\text{int}> <\text{chr}> <\text{chr}> <\text{chr}> <\text{dttm}> <\text{chr}> <\text{chr}>
#> 1 1 \text{bitcoin} \text{Bitcoin} \text{BTC} 2021-01-01 23:59:59 2781 \text{USD}
#> 2 1 \text{bitcoin} \text{Bitcoin} \text{BTC} 2021-01-02 23:59:59 2781 \text{USD}
#> 3 2 \text{litecoin} \text{Litecoin} \text{LTC} 2021-01-01 23:59:59 2781 \text{USD}
#> 4 2 \text{litecoin} \text{Litecoin} \text{LTC} 2021-01-02 23:59:59 2781 \text{USD}
#> 5 3 \text{namecoin} \text{Namecoin} \text{NMC} 2021-01-01 23:59:59 2781 \text{USD}
#> 6 3 \text{namecoin} \text{Namecoin} \text{NMC} 2021-01-02 23:59:59 2781 \text{USD}
#> # ℹ 11 \text{more} \text{variables}: \text{time_open} <\text{dttm}>, \text{time_close} <\text{dttm}>, \text{time_high} <\text{dttm}>,
#> # \text{time_low} <\text{dttm}>, \text{open} <\text{dbl}>, \text{high} <\text{dbl}>, \text{low} <\text{dbl}>, \text{close} <\text{dbl}>,
#> # \text{volume} <\text{dbl}>, \text{market_cap} <\text{dbl}>, \text{circulating_supply} <\text{dbl}>
$``
Similarly, we could download data on an hourly basis.
``$ \text{r}
\text{retrieve} \text{historical} \text{data} \text{for} \text{all} (\text{the} \text{first} 3) \text{of} \text{them}
\text{coin_hist_m} <- \text{crypto_history}(\text{coins}, \text{limit}=3, \text{start_date}="20210101", \text{end_date}="20210102", \text{interval} ="1\text{h}", \text{finalWait}=\text{FALSE}) #> ❯ \text{Scraping} \text{historical} \text{crypto} \text{data} #> #> ❯ \text{Processing} \text{historical} \text{crypto} \text{data} #>
\text{and} \text{give} \text{the} \text{first} \text{two} \text{times} \text{of} \text{information} \text{per} \text{coin}
\text{coin_hist_m} %>% \text{group_by}(\text{slug}) %>% \text{slice}(1:2)
#> # \text{A} \text{tibble}: 6 \times 18
#> # \text{Groups}: \text{slug} [3]
#> \text{id} \text{slug} \text{name} \text{symbol} \text{timestamp} \text{ref_cur_id} \text{ref_cur_name}
#> <\text{int}> <\text{chr}> <\text{chr}> <\text{chr}> <\text{dttm}> <\text{chr}> <\text{chr}>
#> 1 1 \text{bitcoin} \text{Bitcoin} \text{BTC} 2021-01-01 01:59:59 2781 \text{USD}
#> 2 1 \text{bitcoin} \text{Bitcoin} \text{BTC} 2021-01-01 02:59:59 2781 \text{USD}
#> 3 2 \text{litecoin} \text{Litecoin} \text{LTC} 2021-01-01 01:59:59 2781 \text{USD}
#> 4 2 \text{litecoin} \text{Litecoin} \text{LTC} 2021-01-01 02:59:59 2781 \text{USD}
#> 5 3 \text{namecoin} \text{Namecoin} \text{NMC} 2021-01-01 01:59:59 2781 \text{USD}
#> 6 3 \text{namecoin} \text{Namecoin} \text{NMC} 2021-01-01 02:59:59 2781 \text{USD}
#> # ℹ 11 \text{more} \text{variables}: \text{time_open} <\text{dttm}>, \text{time_close} <\text{dttm}>, \text{time_high} <\text{dttm}>,
#> # \text{time_low} <\text{dttm}>, \text{open} <\text{dbl}>, \text{high} <\text{dbl}>, \text{low} <\text{dbl}>, \text{close} <\text{dbl}>,
#> # \text{volume} <\text{dbl}>, \text{market_cap} <\text{dbl}>, \text{circulating_supply} <\text{dbl}>
$``
Since v2.0.0, only USD and BTC are available as quote currencies. The
available currencies can be checked with fiat_list():
$ \text{r} \text{fiats} <- \text{fiat\_list}() \text{fiats} #> # \text{A} \text{tibble}: 1 \times 4 #> \text{id} \text{name} \text{sign} \text{symbol} #> <\text{int}> <\text{chr}> <\text{chr}> <\text{chr}> #> 1 2781 \text{United} \text{States} \text{Dollar} $ \text{USD} $
We can download the same time series priced in Bitcoin instead of USD:
``$ \text{r}
\text{retrieve} \text{historical} \text{data} \text{for} \text{all} (\text{the} \text{first} 3) \text{of} \text{them}, \text{priced} \text{in} \text{BTC}
\text{coin_hist2} <- \text{crypto_history}(\text{coins}, \text{convert}="\text{BTC}", \text{limit}=3, \text{start_date}="20210101", \text{end_date}="20210105", \text{finalWait}=\text{FALSE}) #> ❯ \text{Scraping} \text{historical} \text{crypto} \text{data} #> #> ❯ \text{Processing} \text{historical} \text{crypto} \text{data} #>
\text{and} \text{give} \text{the} \text{first} \text{two} \text{times} \text{of} \text{information} \text{per} \text{coin}
\text{coin_hist2} %>% \text{group_by}(\text{slug},\text{ref_cur_name}) %>% \text{slice}(1:2)
#> # \text{A} \text{tibble}: 6 \times 18
#> # \text{Groups}: \text{slug}, \text{ref_cur_name} [3]
#> \text{id} \text{slug} \text{name} \text{symbol} \text{timestamp} \text{ref_cur_id} \text{ref_cur_name}
#> <\text{int}> <\text{chr}> <\text{chr}> <\text{chr}> <\text{dttm}> <\text{chr}> <\text{chr}>
#> 1 1 \text{bitcoin} \text{Bitcoin} \text{BTC} 2021-01-01 23:59:59 1 \text{BTC}
#> 2 1 \text{bitcoin} \text{Bitcoin} \text{BTC} 2021-01-02 23:59:59 1 \text{BTC}
#> 3 2 \text{litecoin} \text{Litecoin} \text{LTC} 2021-01-01 23:59:59 1 \text{BTC}
#> 4 2 \text{litecoin} \text{Litecoin} \text{LTC} 2021-01-02 23:59:59 1 \text{BTC}
#> 5 3 \text{namecoin} \text{Namecoin} \text{NMC} 2021-01-01 23:59:59 1 \text{BTC}
#> 6 3 \text{namecoin} \text{Namecoin} \text{NMC} 2021-01-02 23:59:59 1 \text{BTC}
#> # ℹ 11 \text{more} \text{variables}: \text{time_open} <\text{dttm}>, \text{time_close} <\text{dttm}>, \text{time_high} <\text{dttm}>,
#> # \text{time_low} <\text{dttm}>, \text{open} <\text{dbl}>, \text{high} <\text{dbl}>, \text{low} <\text{dbl}>, \text{close} <\text{dbl}>,
#> # \text{volume} <\text{dbl}>, \text{market_cap} <\text{dbl}>, \text{circulating_supply} <\text{dbl}>
$``
We can also download historical listings and listing information (add
quote = TRUE):
latest_listings <- crypto_listings(which="latest", limit=10, quote=TRUE, finalWait=FALSE)
latest_listings
#> # A tibble: 5,001 × 33
#> id name symbol slug market_pair_count circulating_supply
#> <int> <chr> <chr> <chr> <int> <dbl>
#> 1 1 Bitcoin BTC bitcoin 12564 19993700
#> 2 2 Litecoin LTC litecoin 1507 76881714.
#> 3 3 Namecoin NMC namecoin 7 14736400
#> 4 5 Peercoin PPC peercoin 43 30066955.
#> 5 8 Feathercoin FTC feathercoin 12 236600238
#> 6 22 Luckycoin LKY luckycoin 10 19204751
#> 7 25 Goldcoin GLC goldcoin 12 43681422.
#> 8 26 Junkcoin JKC junkcoin 4 17843261
#> 9 35 Phoenixcoin PXC phoenixcoin 4 93172468.
#> 10 42 Primecoin XPM primecoin 6 57040070.
#> # ℹ 4,991 more rows
#> # ℹ 27 more variables: self_reported_circulating_supply <dbl>,
#> # total_supply <dbl>, is_active <int>, last_updated <date>, date_added <chr>,
#> # wrapped_staked_mc_rank <int>, is_cmc20sponsored <lgl>, cmc_rank <int>,
#> # max_supply <dbl>, ref_currency <chr>, price <dbl>, volume24h <dbl>,
#> # volume_percent_change <dbl>, market_cap <dbl>, percent_change1h <dbl>,
#> # percent_change24h <dbl>, percent_change7d <dbl>, percent_change30d <dbl>, …
crypto_global_quotes() retrieves global aggregate market statistics
for CMC:
all_quotes <- crypto_global_quotes(which="historical", quote=TRUE)
#> ❯ Scraping historical global data
#>
#> ❯ Processing historical crypto data
#>
all_quotes
#> # A tibble: 4,682 × 18
#> timestamp btc_dominance eth_dominance score USD_total_market_cap
#> <date> <dbl> <dbl> <dbl> <dbl>
#> 1 2013-04-29 94.2 0 1367193600000 1583440000
#> 2 2013-04-30 94.4 0 1367280000000 1686950016
#> 3 2013-05-01 94.4 0 1367366400000 1637389952
#> 4 2013-05-02 94.1 0 1367452800000 1333880064
#> 5 2013-05-03 94.2 0 1367539200000 1275410048
#> 6 2013-05-04 93.9 0 1367625600000 1169469952
#> 7 2013-05-05 94.0 0 1367712000000 1335379968
#> 8 2013-05-06 94.1 0 1367798400000 1370880000
#> 9 2013-05-07 94.4 0 1367884800000 1313900032
#> 10 2013-05-08 94.4 0 1367971200000 1320509952
#> # ℹ 4,672 more rows
#> # ℹ 13 more variables: USD_total_volume24h <dbl>,
#> # USD_total_volume24h_reported <dbl>, USD_altcoin_volume24h <dbl>,
#> # USD_altcoin_volume24h_reported <dbl>, USD_altcoin_market_cap <dbl>,
#> # USD_original_score <chr>, active_cryptocurrencies <int>,
#> # active_market_pairs <int>, active_exchanges <int>,
#> # total_cryptocurrencies <int>, total_exchanges <int>, origin_id <chr>, …
We can use those quotes to plot information on the aggregate market capitalization:
all_quotes %>% select(timestamp, USD_total_market_cap, USD_altcoin_market_cap) %>%
tidyr::pivot_longer(cols = 2:3, names_to = "Market Cap", values_to = "bn. USD") %>%
tidyr::separate(`Market Cap`,into = c("Currency","Type","Market","Cap")) %>%
dplyr::mutate(`bn. USD`=`bn. USD`/1000000000) %>%
ggplot2::ggplot(ggplot2::aes(x=timestamp,y=`bn. USD`,color=Type)) + ggplot2::geom_line() +
ggplot2::labs(title="Market capitalization in bn USD", subtitle="CoinMarketCap.com")

Last and least, one can get information on exchanges. For this download
a list of active/inactive/untracked exchanges using exchange_list():
exchanges <- exchange_list(only_active=TRUE)
exchanges
#> # A tibble: 923 × 6
#> id name slug is_active first_historical_data last_historical_data
#> <int> <chr> <chr> <int> <date> <date>
#> 1 16 Poloniex polo… 1 2018-04-26 2026-02-23
#> 2 21 BTCC btcc 1 2018-04-26 2026-02-23
#> 3 24 Kraken krak… 1 2018-04-26 2026-02-23
#> 4 34 Bittylicious bitt… 1 2018-04-26 2026-02-23
#> 5 36 CEX.IO cex-… 1 2018-04-26 2026-02-23
#> 6 37 Bitfinex bitf… 1 2018-04-26 2026-02-23
#> 7 42 HitBTC hitb… 1 2018-04-26 2026-02-23
#> 8 50 EXMO exmo 1 2018-04-26 2026-02-23
#> 9 61 Okcoin okco… 1 2018-04-26 2025-06-20
#> 10 68 Indodax indo… 1 2018-04-26 2026-02-23
#> # ℹ 913 more rows
and then download information on “binance” and “kraken”:
$ \text{r} \text{ex\_info} <- \text{exchange\_info}(\text{exchanges} %>% \text{filter}(\text{slug} %\text{in}% \text{c}('\text{binance}','\text{kraken}')), \text{finalWait}=\text{FALSE}) #> ❯ \text{Scraping} \text{crypto} \text{info} #> #> ❯ \text{Processing} \text{exchange} \text{info} #> \text{ex\_info} #> # \text{A} \text{tibble}: 2 \times 22 #> \text{id} \text{name} \text{slug} \text{logo} \text{description} \text{date\_launched} \text{notice} \text{is\_hidden} \text{status} #> <\text{int}> <\text{chr}> <\text{chr}> <\text{chr}> <\text{chr}> <\text{date}> <\text{chr}> <\text{int}> <\text{chr}> #> 1 24 \text{Kraken} \text{kraken} \text{https}… "## \text{What} \text{I}… 2011-07-28 "" 0 \text{active} #> 2 270 \text{Binance} \text{binance} \text{https}… "## \text{What} \text{I}… 2017-07-14 "" 0 \text{active} #> # ℹ 13 \text{more} \text{variables}: \text{type} <\text{chr}>, \text{maker\_fee} <\text{dbl}>, \text{taker\_fee} <\text{dbl}>, #> # \text{platform\_id} <\text{int}>, \text{dex\_status} <\text{int}>, \text{wallet\_source\_status} <\text{int}>, #> # \text{alert\_type} <\text{int}>, \text{alert\_link} <\text{chr}>, \text{gif\_logo\_tag} <\text{int}>, \text{tags} <\text{list}>, #> # \text{countries} <\text{lgl}>, \text{fiats} <\text{list}>, \text{urls} <\text{list}> $
Then we can access information on the fee structure,
ex_info %>% select(contains("fee"))
#> # A tibble: 2 × 2
#> maker_fee taker_fee
#> <dbl> <dbl>
#> 1 0.02 0.05
#> 2 0.02 0.04
or the fiat currencies allowed:
$ \text{r} \text{ex\_info} %>% \text{select}(\text{slug},\text{fiats}) %>% \text{tidyr}::\text{unnest}(\text{fiats}) #> # \text{A} \text{tibble}: 95 \times 2 #> \text{slug} \text{fiats} #> <\text{chr}> <\text{chr}> #> 1 \text{kraken} \text{USD} #> 2 \text{kraken} \text{EUR} #> 3 \text{kraken} \text{GBP} #> 4 \text{kraken} \text{CHF} #> 5 \text{kraken} \text{AUD} #> 6 \text{kraken} \text{CAD} #> 7 \text{binance} \text{ARS} #> 8 \text{binance} \text{AUD} #> 9 \text{binance} \text{BRL} #> 10 \text{binance} \text{CHF} #> # ℹ 85 \text{more} \text{rows} $
Author/License
- Sebastian Stöckl - Package Creator, Modifier & Maintainer - sstoeckl on github and academic website
This project is licensed under the MIT License - see the <license.md> file for details</license.md>
Acknowledgments
- Thanks to the team at https://coinmarketcap.com for the great work they do, especially to Alice Liu (Research Lead) and Aaron K. for their support with regard to information on delistings.
- Thanks to Jesse Vent for providing the (not fully research compatible)
crypto-package that inspired this package.