Calculating DEX Liquidity Pool Fees and Volumes
Last updated
Last updated
Decentralized exchanges are playing an increasingly important role in supporting cryptoasset trading, particularly when it comes to tokens using the ERC-20 standard. Coin Metrics has been actively working on collecting data from major DeFi protocols. For our first release, we have added support for all major liquidity pools on Uniswap v2, Uniswap v3, and Sushiswap v1.
This notebook demonstrates basic functionality offered by the Coin Metrics Python API Client and DEX Market Data.
Coin Metrics offers a vast assortment of data for hundreds of cryptoassets. The Python API Client allows for easy access to this data using Python without needing to create your own wrappers using requests
and other such libraries.
To understand the data that Coin Metrics offers, feel free to peruse the resources below.
The Coin Metrics API v4 website contains the full set of endpoints and data offered by Coin Metrics.
The Coin Metrics Product Documentation gives detailed, conceptual explanations of the data that Coin Metrics offers.
The API Spec contains a full list of functions.
Download the entire notebook as either a jupyter notebook to run yourself or as a pdf from the two links below
The catalog/markets endpoint returns a list of available markets along with time ranges of available data. Users can pass in a list of markets, exchanges, or market types (spot, futures, options).
We can retrieve our DEX markets by fetching a list of all 'spot' markets, then filtering for the markets where the 'experimental' parameter equals true.
2544 rows × 39 columns
contract_address: The address of the liquidity pool contract. Each liquidity pool is a unique instance of a smart contract, deployed at a dedicated address. The pool contract holds both the base and the quote asset.
base_address: The address of the ERC-20 token contract associated with the base asset.
quote_address: The address of the ERC-20 token contract associated with the quote asset.
2544 rows × 5 columns
Each liquidity pool is also associated with a corresponding fee percentage. With each trade, fees are distributed pro-rata to the pool's liquidity providers.
Due to the permissionless nature of provisioning a liquidity pool, users can easily add arbitrary ERC-20 tokens to the decentralized exchange. There are over 50,000 trading pairs available on Uniswap today. To prioritize only the most relevant and liquid markets, we cover the subset of markets where both tokens are part of Coin Metrics reference rate coverage.
The majority of DEX assets trade against Wrapped Ether (WETH). Note that Ethereum's native asset ETH is not supported in Uniswap V2/V3, as the asset was created prior to the ERC-20 standard. From the Uniswap documentation:
"Unlike Uniswap V1 pools, V2 pairs do not support ETH directly, so ETH⇄ERC-20 pairs must be emulated with WETH. The motivation behind this choice was to remove ETH-specific code in the core, resulting in a leaner codebase. End users can be kept fully ignorant of this implementation detail, however, by simply wrapping/unwrapping ETH in the periphery." docs.uniswap.org
Swaps data is served through our existing /timeseries/market-trades endpoint because swaps are conceptually identical to a trade. Users can see all the standard trade fields for a swap such as time, price, and volume but can also see defi-specific fields such as the block height, block hash, transaction id, addresses involved in the swap, and more.
Initiator is the ethereum address which submitted the transaction as a result of which the swap/liquidity action occurred
Sender is the ethereum address that invoked the uniswap pool smart contract's function for swapping or adding/removing liquidity
Beneficiary is the ethereum address that got credited with the output tokens (in case of a swap or liquidity removal) or with liquidity (in case of liquidity addition)
ATLAS by Coin Metrics Blockchain Search Engine BUYER ADDRESS: https://atlas.coinmetrics.io/address-details?asset=weth&address=ddc25c965443834179438c2eb30e70f34b854a04 TRANSACTION INFO: https://atlas.coinmetrics.io/transaction-details?asset=weth&tx_hash=cb93842f093812b85469b576914d02907345d2624e1eee463999bade940a8851 BlOCK INFO: https://atlas.coinmetrics.io/block-details?asset=weth&block_hash=73155bd5ea974746d59ed3b05d93f24d2011f391b527b9d7d5c42e59752c6d41 For more info on ATLAS visit: https://coinmetrics.io/atlas/
72 rows × 1 columns
70 rows × 2 columns
market | exchange | base | quote | pair | symbol | type | size_asset | margin_asset | strike | ... | order_price_increment | order_price_min | order_price_max | order_size_min | order_taker_fee | order_maker_fee | margin_trading_enabled | experimental | base_native | quote_native | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | |
---|---|
pool_config_id | contract_address | base_address | quote_address | fee | |
---|---|---|---|---|---|
0 | |
---|---|
2016 | |
---|---|
market | time | coin_metrics_id | amount | price | database_time | side | block_hash | block_height | txid | initiator | sender | beneficiary | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | |
---|---|
2628 | |
---|---|
DEX Volume (USD) | |
---|---|
DEX Volume (USD) | CEX Volume (USD) | |
---|---|---|
0
uniswap_v3_eth-1-1inch-dai-spot
uniswap_v3_eth
1inch
dai
1inch-dai
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
1
uniswap_v3_eth-1-1inch-usdc-spot
uniswap_v3_eth
1inch
usdc
1inch-usdc
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
2
uniswap_v3_eth-1-1inch-weth-spot
uniswap_v3_eth
1inch
weth
1inch-weth
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
3
uniswap_v3_eth-1-ageur_eth-eurcv_eth-spot
uniswap_v3_eth
ageur_eth
eurcv_eth
ageur_eth-eurcv_eth
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
4
uniswap_v3_eth-1-ageur_eth-usdc-spot
uniswap_v3_eth
ageur_eth
usdc
ageur_eth-usdc
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
220
sushiswap_v1_eth-yfi-sushi-spot
sushiswap_v1_eth
yfi
sushi
yfi-sushi
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
221
sushiswap_v1_eth-yfi-usdc-spot
sushiswap_v1_eth
yfi
usdc
yfi-usdc
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
222
sushiswap_v1_eth-yfi-usdt_eth-spot
sushiswap_v1_eth
yfi
usdt_eth
yfi-usdt_eth
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
223
sushiswap_v1_eth-yfi-wbtc-spot
sushiswap_v1_eth
yfi
wbtc
yfi-wbtc
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
224
sushiswap_v1_eth-yfi-weth-spot
sushiswap_v1_eth
yfi
weth
yfi-weth
<NA>
spot
<NA>
<NA>
<NA>
...
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
<NA>
True
<NA>
<NA>
market
uniswap_v3_eth-1-1inch-dai-spot
exchange
uniswap_v3_eth
base
1inch
quote
dai
pair
1inch-dai
type
spot
pool_config_id
1
contract_address
063332bbf9f8385e4106919b5c6ae2e6a4f72228
fee
0.01
price_includes_fee
False
variable_fee
False
base_address
111111111117dc0aa78b770fa6a738034120c302
quote_address
6b175474e89094c44da98b954eedeac495271d0f
experimental
True
0
1
063332bbf9f8385e4106919b5c6ae2e6a4f72228
111111111117dc0aa78b770fa6a738034120c302
6b175474e89094c44da98b954eedeac495271d0f
0.01
1
1
2ee7e6e459fffbbc655f09f2e1b3131abf98c397
111111111117dc0aa78b770fa6a738034120c302
a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0.01
2
1
1d1284e43da1de5ee8dd6acbb03f3624cfbd872c
111111111117dc0aa78b770fa6a738034120c302
c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0.01
3
1
f339217aa24e70eddf900f3b1a78eb9efcdea115
1a7e4e63778b4f12a199c062f3efdd288afcbce8
5f7827fdeb7c20b443265fc2f40845b715385ff2
0.01
4
1
735a26a57a0a0069dfabd41595a970faf5e1ee8b
1a7e4e63778b4f12a199c062f3efdd288afcbce8
a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0.01
...
...
...
...
...
...
220
<NA>
f173a7a055340c91dbdf3083ce3babaa7535a03c
0bc529c00c6401aef6d220be8c6ea1667f6ad93e
6b3595068778dd592e39a122f4f5a5cf09c90fe2
0.3
221
<NA>
3a5747cf4e21861e2d0d3d51a0e8737ab4dfadc8
0bc529c00c6401aef6d220be8c6ea1667f6ad93e
a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0.3
222
<NA>
f5fbc6ca5c677f1c977ed3a064b9dda14c5e241b
0bc529c00c6401aef6d220be8c6ea1667f6ad93e
dac17f958d2ee523a2206206994597c13d831ec7
0.3
223
<NA>
1d108372a83fbc3a0bfb7ca4d0e427449e7a5ca2
0bc529c00c6401aef6d220be8c6ea1667f6ad93e
2260fac5e5542a773aa44fbcfedf7c193bc2c599
0.3
224
<NA>
088ee5007c98a9677165d78dd2109ae4a3d04d0c
0bc529c00c6401aef6d220be8c6ea1667f6ad93e
c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0.3
0
0.01
1
0.05
2
0.3
3
1.0
index
656
market
uniswap_v3_eth-3-usdt_eth-crvusd_eth-spot
min_time
2024-09-28 07:12:59+00:00
max_time
2024-10-03 18:50:35+00:00
0
uniswap_v3_eth-2-weth-usdt_eth-spot
2024-09-30 15:53:23+00:00
04V5RQT2E04FT3C4GH7U1MGVR9VR7AUFALO31HO6QSOKR9...
0.128299
2607.212871
2024-09-30 15:53:34.441041+00:00
sell
a27008fe8d84844fe0da1fda7fb3abcf557030c706d731...
20864491
ae1fd1a682a4acfaddd474f06d9cbc7fe903435b465b65...
8249187b3b1f22da84b1c82eb876a2004d60e5a7
3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
1
uniswap_v3_eth-2-weth-usdt_eth-spot
2024-09-30 15:55:11+00:00
04V5RT664167K4H7OBE0IQ00JBU0GG2K0O9O102M1TS37N...
8.010022
2605.89657
2024-09-30 15:55:23.154367+00:00
sell
c6204c7a1227c2dc0968009afc08405406138080560f78...
20864500
a585c10e6fa329213cfc758189b3dee4fbdd11f84b0090...
a172577031eafd8b03dce022533863fe988159cd
51c72848c68a965f66fa7a88855f9f7784502a7f
51c72848c68a965f66fa7a88855f9f7784502a7f
2
uniswap_v3_eth-2-weth-usdt_eth-spot
2024-09-30 15:55:35+00:00
04V5RTJ008QUN6D495DB7M93HLAHH6RUCO7GALPGLR6JRU...
3.275656
2605.139188
2024-09-30 15:55:48.193560+00:00
buy
600235eb99a4495ab3d9238d55189b7e660f055730aecd...
20864502
983dd154bcd17d715def39a8a46e36d5b8f765f73bde82...
8ae57a027c63fca8070d1bf38622321de8004c67
ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b
ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b
3
uniswap_v3_eth-2-weth-usdt_eth-spot
2024-09-30 15:55:59+00:00
04V5RU5PJI877ESIO9ET0AAEOBK5UBINH6ER8NCIB3U2KG...
6.002656
2604.703261
2024-09-30 15:56:09.664424+00:00
sell
b99c9073bb92c25dd0294ec2e85f2e57899db45d9258fc...
20864504
cb9eda573eef860fe7019837c23a66b881e5e4b28549e7...
d1fa51f2db23a9fa9d7bb8437b89fb2e70c60cb7
d4bc53434c5e12cb41381a556c3c47e1a86e80e3
d4bc53434c5e12cb41381a556c3c47e1a86e80e3
4
uniswap_v3_eth-2-weth-usdt_eth-spot
2024-09-30 15:56:11+00:00
04V5RUDJMTR74RDCP4JUIDIL6UN9UTSE7MEBP0BR3USP60...
0.399800
2603.679987
2024-09-30 15:56:23.744604+00:00
sell
b3b776726dacc927e9365537ae9f778e3d9cbc817b1fb9...
20864505
0083045534c1203964355113751c48cb79f262f70edcf7...
81fe73a6fb28c49c14c82fcae2a4fe19f57d150c
3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
market
uniswap_v3_eth-2-weth-usdt_eth-spot
time
2024-09-30 15:53:23+00:00
coin_metrics_id
04V5RQT2E04FT3C4GH7U1MGVR9VR7AUFALO31HO6QSOKR9...
amount
0.128299
price
2607.212871
database_time
2024-09-30 15:53:34.441041+00:00
side
sell
block_hash
a27008fe8d84844fe0da1fda7fb3abcf557030c706d731...
block_height
20864491
txid
ae1fd1a682a4acfaddd474f06d9cbc7fe903435b465b65...
initiator
8249187b3b1f22da84b1c82eb876a2004d60e5a7
sender
3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
beneficiary
3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
market
uniswap_v3_eth-2-weth-usdt_eth-spot
time
2024-10-07 18:39:35+00:00
coin_metrics_id
04VIAJ3J2LDTBQKN8T3DB7MJM1EP7SID408V74DL4USTFL...
amount
1192.565431
price
2274.221925
database_time
2024-10-07 18:39:54.427105+00:00
side
buy
block_hash
73155bd5ea974746d59ed3b05d93f24d2011f391b527b9...
block_height
20915532
txid
cb93842f093812b85469b576914d02907345d2624e1eee...
initiator
b5eaac5a8649142dcdd13f981767913bcdf7ee42
sender
ddc25c965443834179438c2eb30e70f34b854a04
beneficiary
ddc25c965443834179438c2eb30e70f34b854a04
DEX Volume (USD)
2712158.449637
Datetime
2024-10-07 18:00:00
Datetime
2024-10-06 11:00:00
217166.26046
2024-10-06 12:00:00
438390.416765
2024-10-06 13:00:00
533070.744054
2024-10-06 14:00:00
1163987.797628
2024-10-06 15:00:00
705547.880282
...
...
2024-10-09 06:00:00
625096.999423
2024-10-09 07:00:00
485056.495087
2024-10-09 08:00:00
553334.67282
2024-10-09 09:00:00
462252.636566
2024-10-09 10:00:00
102118.526838
Datetime
2024-10-06 12:00:00
438390
946175
2024-10-06 13:00:00
533070
1258087
2024-10-06 14:00:00
1163987
3316466
2024-10-06 15:00:00
705547
2654936
2024-10-06 16:00:00
551985
1881551
...
...
...
2024-10-09 05:00:00
550504
1912136
2024-10-09 06:00:00
625096
2814167
2024-10-09 07:00:00
485056
4493300
2024-10-09 08:00:00
553334
2393424
2024-10-09 09:00:00
462252
2559575