diff --git a/analysis/optimism/pyoso/20250606_TVL_Impact_Connected.ipynb b/analysis/optimism/pyoso/20250606_TVL_Impact_Connected.ipynb new file mode 100644 index 00000000..c1a524e9 --- /dev/null +++ b/analysis/optimism/pyoso/20250606_TVL_Impact_Connected.ipynb @@ -0,0 +1,26314 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "58df812e-10d8-4a52-bec1-767f5aa4dbcd", + "metadata": {}, + "source": [ + "# Use Pyoso to compare TVL change over time" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "302b1459-8217-4b0d-bcad-f936ca607015", + "metadata": {}, + "outputs": [], + "source": [ + "# ! pip install pyoso" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "68fb8b47-1829-409d-87a3-312c87326e11", + "metadata": {}, + "outputs": [], + "source": [ + "from dotenv import load_dotenv\n", + "import os\n", + "import pandas as pd\n", + "from pyoso import Client\n", + "import plotly.graph_objects as go\n", + "\n", + "load_dotenv()\n", + "\n", + "OSO_API_KEY = os.environ['OSO_API_KEY']\n", + "client = Client(api_key=OSO_API_KEY)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "22120924-4774-4431-8265-5ff9d0d5f2a1", + "metadata": {}, + "outputs": [], + "source": [ + "stringify = lambda arr: \"'\" + \"','\".join(arr) + \"'\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "cc2b129d-9b41-47cd-83a6-ead5998cbd15", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
projectdefillama slug(s)oso slug(s)categoryatlas iduni_pool_addressfutarchy_rankinggc_rankinginitial_top5futarchy_grantgc_grantgrant_amount_oprecipient_addressdefillamagithuboptimismbasemodepolynomialfrax
0Ironclad Financeironclad-financegranaryLending0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b059...None<NA>11<NA>000None<NA>1<NA><NA>179<NA><NA>
1Exactly (Exa App)exactlyexactlyLending0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefa...None<NA>11<NA>000None<NA>11620<NA><NA><NA><NA>
2Balancer & Beetsbalancer; beetsbalancer; beethoven-xAMM0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...None36futarchy10100000None<NA>66841030<NA><NA><NA>
3Gyroscope Protocolgyroscope-protocolgyrostableAMM0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387...None<NA>4gc01100000None111656<NA><NA><NA>
4Polynomialpolynomial-protocolpolynomial-protocolPerps0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0...None511futarchy10100000None<NA>224826203<NA>362<NA>
5SushiswapsushisushiAMM0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...None<NA>11<NA>000None83388534<NA><NA><NA>
6HAI Protocol (Reflexer)lets-get-haihai-on-opLending0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e960...None<NA>9<NA>000None<NA>52500<NA><NA><NA><NA>
7Extra Finance (ExtraFi/ Francium)extra-financeextra-financeYield0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f0...None<NA>1gc01100000None11395371<NA><NA><NA>
8Overtime (formerly Thales)thalesthalesPerps0x54c9e708b4a6c821fef412f00437602373064546b7e1...None<NA>11<NA>000None<NA><NA><NA><NA><NA><NA><NA>
9Avantisavantisavantis-labsAMM0x6371518c95cfa543514e01a77d470c695fac36691cff...None411futarchy10100000None<NA>1<NA>69<NA><NA><NA>
10TLXtlx-financetlx-protocolYield0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95f...None<NA>11<NA>000None<NA>1294<NA><NA><NA><NA>
11Metronomemetronomemetronome-autonomoussoftwarePerps0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee...None<NA>11<NA>000None<NA>192<NA><NA><NA><NA>
12Peapods Financepeapods-finance<NA>Yield0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b...None<NA>11<NA>000None<NA><NA><NA><NA><NA><NA><NA>
13QiDAOqidaoqidao-mai-financeLending0x797dbac78f23a0c01378b0803063fe70618e7744ca51...None<NA>7<NA>01100000None<NA>195101<NA><NA>3
14SuperFormsuperformsuperform-xyzYield0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...None23both10100000None11201582<NA><NA><NA>
15SynFuturessynfuturessynfuturesPerps0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec20...None<NA>10<NA>000None<NA><NA><NA><NA><NA><NA><NA>
16Silosilo-financesilo-financeLending0xa48154743492c6d723c6cda1860eaef05090d652320c...None<NA>8<NA>01100000None<NA><NA><NA><NA><NA><NA><NA>
17Rocket Poolrocket-poolrocket-pool<NA>0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732...None12both10100000None<NA><NA><NA><NA><NA><NA><NA>
18Ionic Protocolionic-protocolionicprotocol<NA>0xbcb5c437d5347be21add3972512679054416805274f8...None<NA>11<NA>000None<NA>1<NA>385457<NA><NA>
19Maverick Protocolmaverick-protocolmaverickprotocolAMM0xeb377d41abbae2f67ac73ca422839208377f5823d189...None<NA>11<NA>000None<NA>2<NA>270<NA><NA><NA>
20Reservoir Protocolreservoir-protocolreservoirprotocol<NA>0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce503648...None<NA>5gc01100000None<NA><NA><NA><NA><NA><NA><NA>
21Overnight Financeovernight-financeovernightYield0xf900c29f3adf3153dbfbd974303e590850c0d2ced196...None<NA>11<NA>000None<NA>3969330<NA><NA><NA>
\n", + "
" + ], + "text/plain": [ + " project defillama slug(s) \\\n", + "0 Ironclad Finance ironclad-finance \n", + "1 Exactly (Exa App) exactly \n", + "2 Balancer & Beets balancer; beets \n", + "3 Gyroscope Protocol gyroscope-protocol \n", + "4 Polynomial polynomial-protocol \n", + "5 Sushiswap sushi \n", + "6 HAI Protocol (Reflexer) lets-get-hai \n", + "7 Extra Finance (ExtraFi/ Francium) extra-finance \n", + "8 Overtime (formerly Thales) thales \n", + "9 Avantis avantis \n", + "10 TLX tlx-finance \n", + "11 Metronome metronome \n", + "12 Peapods Finance peapods-finance \n", + "13 QiDAO qidao \n", + "14 SuperForm superform \n", + "15 SynFutures synfutures \n", + "16 Silo silo-finance \n", + "17 Rocket Pool rocket-pool \n", + "18 Ionic Protocol ionic-protocol \n", + "19 Maverick Protocol maverick-protocol \n", + "20 Reservoir Protocol reservoir-protocol \n", + "21 Overnight Finance overnight-finance \n", + "\n", + " oso slug(s) category \\\n", + "0 granary Lending \n", + "1 exactly Lending \n", + "2 balancer; beethoven-x AMM \n", + "3 gyrostable AMM \n", + "4 polynomial-protocol Perps \n", + "5 sushi AMM \n", + "6 hai-on-op Lending \n", + "7 extra-finance Yield \n", + "8 thales Perps \n", + "9 avantis-labs AMM \n", + "10 tlx-protocol Yield \n", + "11 metronome-autonomoussoftware Perps \n", + "12 Yield \n", + "13 qidao-mai-finance Lending \n", + "14 superform-xyz Yield \n", + "15 synfutures Perps \n", + "16 silo-finance Lending \n", + "17 rocket-pool \n", + "18 ionicprotocol \n", + "19 maverickprotocol AMM \n", + "20 reservoirprotocol \n", + "21 overnight Yield \n", + "\n", + " atlas id uni_pool_address \\\n", + "0 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b059... None \n", + "1 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefa... None \n", + "2 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... None \n", + "3 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387... None \n", + "4 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0... None \n", + "5 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... None \n", + "6 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e960... None \n", + "7 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f0... None \n", + "8 0x54c9e708b4a6c821fef412f00437602373064546b7e1... None \n", + "9 0x6371518c95cfa543514e01a77d470c695fac36691cff... None \n", + "10 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95f... None \n", + "11 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee... None \n", + "12 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b... None \n", + "13 0x797dbac78f23a0c01378b0803063fe70618e7744ca51... None \n", + "14 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... None \n", + "15 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec20... None \n", + "16 0xa48154743492c6d723c6cda1860eaef05090d652320c... None \n", + "17 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732... None \n", + "18 0xbcb5c437d5347be21add3972512679054416805274f8... None \n", + "19 0xeb377d41abbae2f67ac73ca422839208377f5823d189... None \n", + "20 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce503648... None \n", + "21 0xf900c29f3adf3153dbfbd974303e590850c0d2ced196... None \n", + "\n", + " futarchy_ranking gc_ranking initial_top5 futarchy_grant gc_grant \\\n", + "0 11 0 0 \n", + "1 11 0 0 \n", + "2 3 6 futarchy 1 0 \n", + "3 4 gc 0 1 \n", + "4 5 11 futarchy 1 0 \n", + "5 11 0 0 \n", + "6 9 0 0 \n", + "7 1 gc 0 1 \n", + "8 11 0 0 \n", + "9 4 11 futarchy 1 0 \n", + "10 11 0 0 \n", + "11 11 0 0 \n", + "12 11 0 0 \n", + "13 7 0 1 \n", + "14 2 3 both 1 0 \n", + "15 10 0 0 \n", + "16 8 0 1 \n", + "17 1 2 both 1 0 \n", + "18 11 0 0 \n", + "19 11 0 0 \n", + "20 5 gc 0 1 \n", + "21 11 0 0 \n", + "\n", + " grant_amount_op recipient_address defillama github optimism base mode \\\n", + "0 0 None 1 179 \n", + "1 0 None 1 1620 \n", + "2 100000 None 6 684 1030 \n", + "3 100000 None 1 1 16 56 \n", + "4 100000 None 2 24826 203 \n", + "5 0 None 8 3 38 8534 \n", + "6 0 None 5 2500 \n", + "7 100000 None 1 1 395 371 \n", + "8 0 None \n", + "9 100000 None 1 69 \n", + "10 0 None 1 294 \n", + "11 0 None 1 92 \n", + "12 0 None \n", + "13 100000 None 1 95 101 \n", + "14 100000 None 1 1 201 582 \n", + "15 0 None \n", + "16 100000 None \n", + "17 100000 None \n", + "18 0 None 1 385 457 \n", + "19 0 None 2 270 \n", + "20 100000 None \n", + "21 0 None 3 969 330 \n", + "\n", + " polynomial frax \n", + "0 \n", + "1 \n", + "2 \n", + "3 \n", + "4 362 \n", + "5 \n", + "6 \n", + "7 \n", + "8 \n", + "9 \n", + "10 \n", + "11 \n", + "12 \n", + "13 3 \n", + "14 \n", + "15 \n", + "16 \n", + "17 \n", + "18 \n", + "19 \n", + "20 \n", + "21 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_futarchy = client.to_pandas(\"\"\"\n", + "SELECT *\n", + "FROM oso_gsheets.default.s7_futarchy\n", + "\"\"\")\n", + "df_futarchy" + ] + }, + { + "cell_type": "markdown", + "id": "c53850d7-e0ba-4356-a0e5-930af836f7e3", + "metadata": {}, + "source": [ + "## Needs updating" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "fee81a8a-cfbc-4f4b-9d3b-8525c1c5e223", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
oso_idatlas_iddisplay_nameartifact_sourcenum_artifacts
101H2/VRhrDBxvvG8G9KyMcGOjtq0ZWRCeDyCvJlW1K1XU=0x797dbac78f23a0c01378b0803063fe70618e7744ca51...QiDao - Mai.FinanceWWW1
102ezmXfWTvsekbyjOfYH7GO9KIwbJAyX6Y6pbLF93fxKE=0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee...MetronomeGITHUB1
103f5tjB7I8zcsKio0rlwoNNJ8eWuae+Bs8tl1VyqlP7JU=0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b059...Ironclad FinanceWWW1
104f5tjB7I8zcsKio0rlwoNNJ8eWuae+Bs8tl1VyqlP7JU=0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b059...Ironclad FinanceTWITTER1
105Hkw3vi9Mx7OBvoKuyZ8MPOA5ZBX3Aj4wukrveVBmkh8=0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...SushiswapTWITTER1
\n", + "
" + ], + "text/plain": [ + " oso_id \\\n", + "101 H2/VRhrDBxvvG8G9KyMcGOjtq0ZWRCeDyCvJlW1K1XU= \n", + "102 ezmXfWTvsekbyjOfYH7GO9KIwbJAyX6Y6pbLF93fxKE= \n", + "103 f5tjB7I8zcsKio0rlwoNNJ8eWuae+Bs8tl1VyqlP7JU= \n", + "104 f5tjB7I8zcsKio0rlwoNNJ8eWuae+Bs8tl1VyqlP7JU= \n", + "105 Hkw3vi9Mx7OBvoKuyZ8MPOA5ZBX3Aj4wukrveVBmkh8= \n", + "\n", + " atlas_id display_name \\\n", + "101 0x797dbac78f23a0c01378b0803063fe70618e7744ca51... QiDao - Mai.Finance \n", + "102 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee... Metronome \n", + "103 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b059... Ironclad Finance \n", + "104 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b059... Ironclad Finance \n", + "105 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Sushiswap \n", + "\n", + " artifact_source num_artifacts \n", + "101 WWW 1 \n", + "102 GITHUB 1 \n", + "103 WWW 1 \n", + "104 TWITTER 1 \n", + "105 TWITTER 1 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_protocols = client.to_pandas(f\"\"\"\n", + "SELECT DISTINCT\n", + " p.project_id AS oso_id,\n", + " p.project_name AS atlas_id,\n", + " p.display_name,\n", + " abp.artifact_source,\n", + " COUNT(DISTINCT abp.artifact_name) AS num_artifacts\n", + "FROM projects_v1 AS p\n", + "JOIN artifacts_by_project_v1 AS abp ON abp.project_id = p.project_id\n", + "WHERE p.project_name IN ({stringify(ATLAS_IDS)})\n", + "GROUP BY 1,2,3,4\n", + "\"\"\")\n", + "df_protocols.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4b7df7d7-0fbf-426f-81b6-f303934200fe", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
artifact_sourceBASEDEFILLAMAFARCASTERFRAXGITHUBMODEOPTIMISMPOLYNOMIALTWITTERWWW
display_nameatlas_id
Avantis0x6371518c95cfa543514e01a77d470c695fac36691cffa3a45e992b2c0cc6ba7269.0<NA>1.0<NA>1.0<NA><NA><NA>1.01.0
Balancer0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45321b715fd53d7abc8d21030.0<NA><NA><NA>6.0<NA>684.0<NA>1.01.0
Exa App0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae4e86e62ce768edceeb9<NA><NA><NA><NA>1.0<NA>1620.0<NA>1.01.0
Extra Finance0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f0512cd5a0485c2074b312371.01.01.0<NA>1.0<NA>395.0<NA>1.01.0
Gyroscope0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b6b76b45f8b5577ceb9856.01.01.0<NA>1.0<NA>16.0<NA>1.01.0
Ionic Protocol0xbcb5c437d5347be21add3972512679054416805274f80e85ab8053ae79340a69385.0<NA>1.0<NA>1.0457.0<NA><NA>1.01.0
Ironclad Finance0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596c65fbcb1f369c092be9<NA><NA><NA><NA>1.0179.0<NA><NA>1.01.0
Let's Get HAI0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e96078cb361ab961514b5125<NA><NA>1.0<NA>5.0<NA>2500.0<NA>1.01.0
Maverick Protocol0xeb377d41abbae2f67ac73ca422839208377f5823d189b3435874946e194324ea270.0<NA>1.0<NA>2.0<NA><NA><NA>1.02.0
Metronome0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb46ec6179acb5eaa23fe<NA><NA>1.0<NA>1.0<NA>92.0<NA>1.01.0
Overnight Finance0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966490c705290a63ffea1b330.0<NA><NA><NA>3.0<NA>969.0<NA>1.02.0
Overtime Markets0x54c9e708b4a6c821fef412f00437602373064546b7e16fbb87a7806784d19024<NA><NA>1.0<NA><NA><NA><NA><NA>1.01.0
Peapods Finance0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1977743e6e4357817ac2<NA><NA>1.0<NA><NA><NA><NA><NA>1.01.0
Polynomial Trade0x3e2458fd10201c3e66960a93e2a94e95861450bd29d040f6a077581fce165e29203.0<NA>1.0<NA>2.0<NA>24826.0362.01.03.0
QiDao - Mai.Finance0x797dbac78f23a0c01378b0803063fe70618e7744ca516e5aef1e7ee244fded51101.0<NA>1.03.01.0<NA>95.0<NA>1.01.0
ReservoirDAO (AlphaGrowth)0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce503648062766be891029c98b36<NA><NA><NA><NA><NA><NA><NA><NA>1.02.0
Rocket Pool DAO0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732bac97fbfc9184514c18d<NA><NA>1.0<NA><NA><NA><NA><NA>1.01.0
Silo Labs0xa48154743492c6d723c6cda1860eaef05090d652320ccb7b0da5ad0ae36d1a34<NA><NA>1.0<NA><NA><NA><NA><NA>1.01.0
Superform0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d9813929fea6d6c35362582.01.01.0<NA>1.0<NA>201.0<NA>1.01.0
Sushiswap0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234666312d495326636f77a8534.08.0<NA><NA>3.0<NA>38.0<NA>1.01.0
SynFutures0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec2049547bc864454f351bec<NA><NA>1.0<NA><NA><NA><NA><NA>1.02.0
TLX0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe535c865658c73947198<NA><NA><NA><NA>1.0<NA>294.0<NA>1.01.0
\n", + "
" + ], + "text/plain": [ + "artifact_source BASE \\\n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... 69.0 \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... 1030.0 \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... 371.0 \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... 56.0 \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... 385.0 \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... 270.0 \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... 330.0 \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... 203.0 \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... 101.0 \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... 582.0 \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... 8534.0 \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... \n", + "\n", + "artifact_source DEFILLAMA \\\n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... 1.0 \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... 1.0 \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... 1.0 \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... 8.0 \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... \n", + "\n", + "artifact_source FARCASTER \\\n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... 1.0 \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... 1.0 \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... 1.0 \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... 1.0 \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... 1.0 \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... 1.0 \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... 1.0 \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... 1.0 \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... 1.0 \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... 1.0 \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... 1.0 \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... 1.0 \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... 1.0 \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... 1.0 \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... 1.0 \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... \n", + "\n", + "artifact_source FRAX \\\n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... 3.0 \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... \n", + "\n", + "artifact_source GITHUB \\\n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... 1.0 \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... 6.0 \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... 1.0 \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... 1.0 \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... 1.0 \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... 1.0 \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... 1.0 \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... 5.0 \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... 2.0 \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... 1.0 \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... 3.0 \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... 2.0 \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... 1.0 \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... 1.0 \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... 3.0 \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... 1.0 \n", + "\n", + "artifact_source MODE \\\n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... 457.0 \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... 179.0 \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... \n", + "\n", + "artifact_source OPTIMISM \\\n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... 684.0 \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... 1620.0 \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... 395.0 \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... 16.0 \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... 2500.0 \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... 92.0 \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... 969.0 \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... 24826.0 \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... 95.0 \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... 201.0 \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... 38.0 \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... 294.0 \n", + "\n", + "artifact_source POLYNOMIAL \\\n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... 362.0 \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... \n", + "\n", + "artifact_source TWITTER \\\n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... 1.0 \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... 1.0 \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... 1.0 \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... 1.0 \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... 1.0 \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... 1.0 \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... 1.0 \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... 1.0 \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... 1.0 \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... 1.0 \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... 1.0 \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... 1.0 \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... 1.0 \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... 1.0 \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... 1.0 \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... 1.0 \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... 1.0 \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... 1.0 \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... 1.0 \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... 1.0 \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... 1.0 \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... 1.0 \n", + "\n", + "artifact_source WWW \n", + "display_name atlas_id \n", + "Avantis 0x6371518c95cfa543514e01a77d470c695fac36691cffa... 1.0 \n", + "Balancer 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b45... 1.0 \n", + "Exa App 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefae... 1.0 \n", + "Extra Finance 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f05... 1.0 \n", + "Gyroscope 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387b... 1.0 \n", + "Ionic Protocol 0xbcb5c437d5347be21add3972512679054416805274f80... 1.0 \n", + "Ironclad Finance 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b0596... 1.0 \n", + "Let's Get HAI 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e9607... 1.0 \n", + "Maverick Protocol 0xeb377d41abbae2f67ac73ca422839208377f5823d189b... 2.0 \n", + "Metronome 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6eeb... 1.0 \n", + "Overnight Finance 0xf900c29f3adf3153dbfbd974303e590850c0d2ced1966... 2.0 \n", + "Overtime Markets 0x54c9e708b4a6c821fef412f00437602373064546b7e16... 1.0 \n", + "Peapods Finance 0x73c17d475c6250abf6d01adebefe34ff94cd76e3186b1... 1.0 \n", + "Polynomial Trade 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d04... 3.0 \n", + "QiDao - Mai.Finance 0x797dbac78f23a0c01378b0803063fe70618e7744ca516... 1.0 \n", + "ReservoirDAO (AlphaGrowth) 0xefdbabb1a36ec9f774c790e7aa6dfbe80e00ce5036480... 2.0 \n", + "Rocket Pool DAO 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732b... 1.0 \n", + "Silo Labs 0xa48154743492c6d723c6cda1860eaef05090d652320cc... 1.0 \n", + "Superform 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1d... 1.0 \n", + "Sushiswap 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b2346... 1.0 \n", + "SynFutures 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec204... 2.0 \n", + "TLX 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95fe... 1.0 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_protocols.pivot_table(\n", + " index=['display_name', 'atlas_id'],\n", + " columns='artifact_source', \n", + " values='num_artifacts'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "3cea3a29-7db1-4e17-a2a9-720402066d60", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
atlas_idexternal_display_nameossd_project_name
00x6371518c95cfa543514e01a77d470c695fac36691cff...Avantisavantis-labs
10x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...Balancerbeethoven-x
20x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...Balancergyrostable
30x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...Balancergranary
40x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...Balancerovernight
50x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...Balancersafe-global
60x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...Balancerpickle-finance
70x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...Balancerbalancer
80x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...Balanceraura
90x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4...Balancerconnext
100x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefa...Exa Appexactly
110x512f97f1de28ad530f752d53bf4f56ed16d34a3121f0...Extra Financeextra-finance
120x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387...Gyroscopeionicprotocol
130x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387...Gyroscopegyrostable
140xbcb5c437d5347be21add3972512679054416805274f8...Ionic Protocolionicprotocol
150x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b059...Ironclad Financegranary
160x447b6819a0fa334f2429f86c022cf75ef3cad7e6e960...Let's Get HAIhai-on-op
170x447b6819a0fa334f2429f86c022cf75ef3cad7e6e960...Let's Get HAIacross
180x447b6819a0fa334f2429f86c022cf75ef3cad7e6e960...Let's Get HAIuniswap
190xeb377d41abbae2f67ac73ca422839208377f5823d189...Maverick Protocolmaverickprotocol
200x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee...Metronomevelodrome
210x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee...Metronomemetronome-autonomoussoftware
220x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee...Metronomesummer-fi
230xf900c29f3adf3153dbfbd974303e590850c0d2ced196...Overnight Financebalancer
240xf900c29f3adf3153dbfbd974303e590850c0d2ced196...Overnight Financesafe-global
250xf900c29f3adf3153dbfbd974303e590850c0d2ced196...Overnight Financecurve
260xf900c29f3adf3153dbfbd974303e590850c0d2ced196...Overnight Financebeethoven-x
270xf900c29f3adf3153dbfbd974303e590850c0d2ced196...Overnight Financeovernight
280x3e2458fd10201c3e66960a93e2a94e95861450bd29d0...Polynomial Tradeaelin
290x3e2458fd10201c3e66960a93e2a94e95861450bd29d0...Polynomial Tradevalioxyz
300x3e2458fd10201c3e66960a93e2a94e95861450bd29d0...Polynomial Tradetravenesia
310x3e2458fd10201c3e66960a93e2a94e95861450bd29d0...Polynomial Tradesocket
320x3e2458fd10201c3e66960a93e2a94e95861450bd29d0...Polynomial Tradede-bank
330x3e2458fd10201c3e66960a93e2a94e95861450bd29d0...Polynomial Tradetide-protocol-fiveelementslabs
340x3e2458fd10201c3e66960a93e2a94e95861450bd29d0...Polynomial Tradepolynomial-protocol
350x3e2458fd10201c3e66960a93e2a94e95861450bd29d0...Polynomial Tradetimeswap-labs
360x797dbac78f23a0c01378b0803063fe70618e7744ca51...QiDao - Mai.Financeqidao-mai-finance
370x797dbac78f23a0c01378b0803063fe70618e7744ca51...QiDao - Mai.Financeaerodrome-finance
380x797dbac78f23a0c01378b0803063fe70618e7744ca51...QiDao - Mai.Financeapi3-dao
390x797dbac78f23a0c01378b0803063fe70618e7744ca51...QiDao - Mai.Financesafe-global
400x797dbac78f23a0c01378b0803063fe70618e7744ca51...QiDao - Mai.Financecurve
410xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732...Rocket Pool DAOrocket-pool
420xa48154743492c6d723c6cda1860eaef05090d652320c...Silo Labssilo-finance
430x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...Superformsuperform-xyz
440x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...Superformharvestfi
450x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...Superformaloe-ii
460x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...Superformarcadia-finance
470x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...Superformsafe-global
480x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Sushiswapgloom-labs
490x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Sushiswapelonsdev-blob-farm
500x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Sushiswapsushi
510x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Sushiswapgammaswap
520x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Sushiswap2fai
530x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Sushiswapkingsimpa69-homes
540x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Sushiswapfren-pet
550x9a4e760dad634200c76c5a0f1bb269d40d252d89ec20...SynFuturessynfutures
560x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95f...TLXtlx-protocol
570x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95f...TLXvelodrome
\n", + "
" + ], + "text/plain": [ + " atlas_id external_display_name \\\n", + "0 0x6371518c95cfa543514e01a77d470c695fac36691cff... Avantis \n", + "1 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... Balancer \n", + "2 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... Balancer \n", + "3 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... Balancer \n", + "4 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... Balancer \n", + "5 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... Balancer \n", + "6 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... Balancer \n", + "7 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... Balancer \n", + "8 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... Balancer \n", + "9 0x1c33980ce1d1290b5300719114dbe2cade0b820cb2b4... Balancer \n", + "10 0x02065e72fe4eebfa1ebca19238e6147c8571c2b7fefa... Exa App \n", + "11 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f0... Extra Finance \n", + "12 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387... Gyroscope \n", + "13 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387... Gyroscope \n", + "14 0xbcb5c437d5347be21add3972512679054416805274f8... Ionic Protocol \n", + "15 0x01d8c3bc48ed5f94c260dcc8698eb61f48b06f70b059... Ironclad Finance \n", + "16 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e960... Let's Get HAI \n", + "17 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e960... Let's Get HAI \n", + "18 0x447b6819a0fa334f2429f86c022cf75ef3cad7e6e960... Let's Get HAI \n", + "19 0xeb377d41abbae2f67ac73ca422839208377f5823d189... Maverick Protocol \n", + "20 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee... Metronome \n", + "21 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee... Metronome \n", + "22 0x6c4b5386ddf396c088d3a96a65fb8a928a2a9edeb6ee... Metronome \n", + "23 0xf900c29f3adf3153dbfbd974303e590850c0d2ced196... Overnight Finance \n", + "24 0xf900c29f3adf3153dbfbd974303e590850c0d2ced196... Overnight Finance \n", + "25 0xf900c29f3adf3153dbfbd974303e590850c0d2ced196... Overnight Finance \n", + "26 0xf900c29f3adf3153dbfbd974303e590850c0d2ced196... Overnight Finance \n", + "27 0xf900c29f3adf3153dbfbd974303e590850c0d2ced196... Overnight Finance \n", + "28 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0... Polynomial Trade \n", + "29 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0... Polynomial Trade \n", + "30 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0... Polynomial Trade \n", + "31 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0... Polynomial Trade \n", + "32 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0... Polynomial Trade \n", + "33 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0... Polynomial Trade \n", + "34 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0... Polynomial Trade \n", + "35 0x3e2458fd10201c3e66960a93e2a94e95861450bd29d0... Polynomial Trade \n", + "36 0x797dbac78f23a0c01378b0803063fe70618e7744ca51... QiDao - Mai.Finance \n", + "37 0x797dbac78f23a0c01378b0803063fe70618e7744ca51... QiDao - Mai.Finance \n", + "38 0x797dbac78f23a0c01378b0803063fe70618e7744ca51... QiDao - Mai.Finance \n", + "39 0x797dbac78f23a0c01378b0803063fe70618e7744ca51... QiDao - Mai.Finance \n", + "40 0x797dbac78f23a0c01378b0803063fe70618e7744ca51... QiDao - Mai.Finance \n", + "41 0xbb24fd7ecd2293cffb64ce02468fec30b3a7c25dc732... Rocket Pool DAO \n", + "42 0xa48154743492c6d723c6cda1860eaef05090d652320c... Silo Labs \n", + "43 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... Superform \n", + "44 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... Superform \n", + "45 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... Superform \n", + "46 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... Superform \n", + "47 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... Superform \n", + "48 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Sushiswap \n", + "49 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Sushiswap \n", + "50 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Sushiswap \n", + "51 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Sushiswap \n", + "52 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Sushiswap \n", + "53 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Sushiswap \n", + "54 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Sushiswap \n", + "55 0x9a4e760dad634200c76c5a0f1bb269d40d252d89ec20... SynFutures \n", + "56 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95f... TLX \n", + "57 0x6bd6aba90e1e5cb41236bc52a96f5ce65686568ff95f... TLX \n", + "\n", + " ossd_project_name \n", + "0 avantis-labs \n", + "1 beethoven-x \n", + "2 gyrostable \n", + "3 granary \n", + "4 overnight \n", + "5 safe-global \n", + "6 pickle-finance \n", + "7 balancer \n", + "8 aura \n", + "9 connext \n", + "10 exactly \n", + "11 extra-finance \n", + "12 ionicprotocol \n", + "13 gyrostable \n", + "14 ionicprotocol \n", + "15 granary \n", + "16 hai-on-op \n", + "17 across \n", + "18 uniswap \n", + "19 maverickprotocol \n", + "20 velodrome \n", + "21 metronome-autonomoussoftware \n", + "22 summer-fi \n", + "23 balancer \n", + "24 safe-global \n", + "25 curve \n", + "26 beethoven-x \n", + "27 overnight \n", + "28 aelin \n", + "29 valioxyz \n", + "30 travenesia \n", + "31 socket \n", + "32 de-bank \n", + "33 tide-protocol-fiveelementslabs \n", + "34 polynomial-protocol \n", + "35 timeswap-labs \n", + "36 qidao-mai-finance \n", + "37 aerodrome-finance \n", + "38 api3-dao \n", + "39 safe-global \n", + "40 curve \n", + "41 rocket-pool \n", + "42 silo-finance \n", + "43 superform-xyz \n", + "44 harvestfi \n", + "45 aloe-ii \n", + "46 arcadia-finance \n", + "47 safe-global \n", + "48 gloom-labs \n", + "49 elonsdev-blob-farm \n", + "50 sushi \n", + "51 gammaswap \n", + "52 2fai \n", + "53 kingsimpa69-homes \n", + "54 fren-pet \n", + "55 synfutures \n", + "56 tlx-protocol \n", + "57 velodrome " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_oso_mappings = client.to_pandas(f\"\"\"\n", + "SELECT DISTINCT\n", + " external_project_name AS atlas_id,\n", + " external_display_name,\n", + " ossd_project_name\n", + " --ARRAY_AGG(DISTINCT ossd_project_name) AS oso_slugs\n", + "FROM int_projects_to_projects\n", + "WHERE external_project_name IN ({stringify(ATLAS_IDS)})\n", + "ORDER BY 2\n", + "--GROUP BY 1,2\n", + "\"\"\")\n", + "df_oso_mappings" + ] + }, + { + "cell_type": "markdown", + "id": "01c2a8a5-865a-464f-a6cc-758679aef63b", + "metadata": {}, + "source": [ + "## Initial query to get the TVL data we are interested in" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f9ebc3aa-0e93-4519-b77e-63935563c2d2", + "metadata": {}, + "outputs": [], + "source": [ + "# important! each metric takes the form CHAIN_defillama_tvl_daily, CHAIN_defillama_tvl_monthly, etc.\n", + "METRIC_KEYWORD = '_defillama_tvl_daily'\n", + "\n", + "# whatever you like\n", + "START_DATE = '2025-01-01'\n", + "END_DATE = '2025-03-31'" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "27d47877-b02a-428b-815c-b2e392550cc9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sample_datedisplay_namemetric_nameamountatlas_id
52712025-03-31SushiswapBASE_defillama_tvl_daily13662581.23240x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...
52722025-03-31SuperformMATIC_defillama_tvl_daily633414.215010x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...
52732025-03-31SushiswapLINEA_defillama_tvl_daily162114.018110x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...
52742025-03-31SushiswapKAVA_defillama_tvl_daily161.854870x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...
52752025-03-31SushiswapZETACHAIN_defillama_tvl_daily3402.044630x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...
\n", + "
" + ], + "text/plain": [ + " sample_date display_name metric_name amount \\\n", + "5271 2025-03-31 Sushiswap BASE_defillama_tvl_daily 13662581.2324 \n", + "5272 2025-03-31 Superform MATIC_defillama_tvl_daily 633414.21501 \n", + "5273 2025-03-31 Sushiswap LINEA_defillama_tvl_daily 162114.01811 \n", + "5274 2025-03-31 Sushiswap KAVA_defillama_tvl_daily 161.85487 \n", + "5275 2025-03-31 Sushiswap ZETACHAIN_defillama_tvl_daily 3402.04463 \n", + "\n", + " atlas_id \n", + "5271 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... \n", + "5272 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... \n", + "5273 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... \n", + "5274 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... \n", + "5275 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# This is where the magic happens!\n", + "\n", + "df_tvl = client.to_pandas(f\"\"\"\n", + "\n", + "SELECT\n", + " tm.sample_date,\n", + " p.display_name,\n", + " m.metric_name,\n", + " tm.amount,\n", + " p.project_name AS atlas_id \n", + "FROM timeseries_metrics_by_project_v0 AS tm\n", + "JOIN metrics_v0 AS m ON m.metric_id = tm.metric_id\n", + "JOIN projects_v1 AS p ON tm.project_id = p.project_id\n", + "WHERE\n", + " p.project_name IN ({stringify(ATLAS_IDS)})\n", + " AND m.metric_name LIKE '%{METRIC_KEYWORD}'\n", + " AND tm.sample_date BETWEEN DATE '{START_DATE}' AND DATE '{END_DATE}'\n", + "ORDER BY 1\n", + "\n", + "\"\"\")\n", + "\n", + "df_tvl.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "cc0826da-a69a-4d10-baef-4425b86631ba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
atlas_iddisplay_name
00x512f97f1de28ad530f752d53bf4f56ed16d34a3121f0...Extra Finance
10x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Sushiswap
40x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...Superform
160x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387...Gyroscope
\n", + "
" + ], + "text/plain": [ + " atlas_id display_name\n", + "0 0x512f97f1de28ad530f752d53bf4f56ed16d34a3121f0... Extra Finance\n", + "1 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Sushiswap\n", + "4 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... Superform\n", + "16 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387... Gyroscope" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Confirm we got data back for the projects we care about\n", + "\n", + "df_tvl[['atlas_id', 'display_name']].drop_duplicates()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "0c460cb7-700a-4259-85a7-05d37c1d6397", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sample_datedisplay_namemetric_nameamountatlas_idcohort
17782025-03-31SushiswapSONIC_defillama_tvl_daily30719.94340x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Comparison
17792025-03-31SuperformBASE_defillama_tvl_daily18294234.993510x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...Target
17802025-03-31GyroscopeMATIC_defillama_tvl_daily1594501.387570x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387...Comparison
17812025-03-31SushiswapBASE_defillama_tvl_daily13662581.23240x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234...Target
17822025-03-31SuperformMATIC_defillama_tvl_daily633414.215010x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1...Comparison
\n", + "
" + ], + "text/plain": [ + " sample_date display_name metric_name amount \\\n", + "1778 2025-03-31 Sushiswap SONIC_defillama_tvl_daily 30719.9434 \n", + "1779 2025-03-31 Superform BASE_defillama_tvl_daily 18294234.99351 \n", + "1780 2025-03-31 Gyroscope MATIC_defillama_tvl_daily 1594501.38757 \n", + "1781 2025-03-31 Sushiswap BASE_defillama_tvl_daily 13662581.2324 \n", + "1782 2025-03-31 Superform MATIC_defillama_tvl_daily 633414.21501 \n", + "\n", + " atlas_id cohort \n", + "1778 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Comparison \n", + "1779 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... Target \n", + "1780 0x3526b9c6fdc34076d7d2c31893b94e760f4d5a010387... Comparison \n", + "1781 0x41b2ae8a2ead458ff7c85549a9a11380353e1ae4b234... Target \n", + "1782 0x82edc3ac2a03da21c5a6033159ba8e97aab2f61dc5d1... Comparison " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Filter on the chains we care about only\n", + "\n", + "TARGET_CHAINS = ['BASE', 'OPTIMISM', 'MODE', 'INK', 'BOB', 'LISK', 'POLYNOMIAL', 'SONEIUM', 'SWELL', 'UNICHAIN', 'WORLDCHAIN']\n", + "\n", + "COMPARE_CHAINS = ['MATIC', 'POLYGON_ZKEVM', 'ARBITRUM_ONE', 'SONIC', 'MAINNET']\n", + "TARGET_NAME = 'Target'\n", + "COMPARE_NAME = 'Comparison'\n", + "\n", + "def map_chain(metric_name):\n", + " chain = metric_name.replace(METRIC_KEYWORD, '')\n", + " if chain in TARGET_CHAINS:\n", + " return TARGET_NAME\n", + " elif chain in COMPARE_CHAINS:\n", + " return COMPARE_NAME\n", + " else:\n", + " return None\n", + "\n", + "df_tvl['cohort'] = df_tvl['metric_name'].apply(map_chain)\n", + "df_tvl = df_tvl.dropna().reset_index(drop=True)\n", + "df_tvl.tail()" + ] + }, + { + "cell_type": "markdown", + "id": "09fb1a64-4914-4855-8056-64fd92c9f0a0", + "metadata": {}, + "source": [ + "## Data vizzz" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "bbb55502-ff57-4225-b0d2-bea4fe1c261f", + "metadata": {}, + "outputs": [], + "source": [ + "def tvl_chart(project):\n", + " df_project = (\n", + " df_tvl\n", + " .query(\"display_name == @project\")\n", + " .pivot_table(\n", + " index='sample_date',\n", + " columns='cohort',\n", + " values='amount',\n", + " aggfunc='sum',\n", + " fill_value=0\n", + " )\n", + " .sort_index()\n", + " .reset_index()\n", + " )\n", + " if COMPARE_NAME not in df_project.columns:\n", + " df_project[COMPARE_NAME] = 1\n", + " base_values = df_project[[TARGET_NAME, COMPARE_NAME]].iloc[0]\n", + " df_project['target_norm'] = df_project[TARGET_NAME] / base_values[TARGET_NAME] * 100\n", + " df_project['compare_norm'] = df_project[COMPARE_NAME] / base_values[COMPARE_NAME] * 100\n", + "\n", + " max_val = max(df_project['target_norm'].max(), df_project['compare_norm'].max())\n", + " y_axis_max = (int(max_val // 50) + 1) * 50\n", + " \n", + " max_idx = df_project[TARGET_NAME].idxmax()\n", + " max_row = df_project.loc[max_idx]\n", + " max_date = max_row['sample_date']\n", + " max_target_val_norm = max_row['target_norm']\n", + " max_target_raw = max_row[TARGET_NAME]\n", + " max_compare_raw = max_row[COMPARE_NAME]\n", + " max_target_pct = max_target_raw / (max_target_raw + max_compare_raw) * 100\n", + "\n", + " annotation_text = f\"Max: ${max_target_raw:,.0f} ({max_target_pct:.1f}% of total)\"\n", + "\n", + " fig = go.Figure()\n", + " \n", + " fig.add_trace(go.Scatter(\n", + " x=df_project['sample_date'],\n", + " y=df_project['target_norm'],\n", + " name=TARGET_NAME,\n", + " mode='lines',\n", + " line=dict(width=2),\n", + " ))\n", + "\n", + " fig.add_trace(go.Scatter(\n", + " x=df_project['sample_date'],\n", + " y=df_project['compare_norm'],\n", + " name=COMPARE_NAME,\n", + " mode='lines',\n", + " line=dict(width=2),\n", + " ))\n", + "\n", + " fig.add_annotation(\n", + " x=max_date,\n", + " y=max_target_val_norm,\n", + " text=annotation_text,\n", + " showarrow=True,\n", + " arrowhead=2,\n", + " ax=40,\n", + " ay=-40,\n", + " bgcolor='rgba(0,0,0,0.6)',\n", + " font=dict(color='white'),\n", + " bordercolor='black',\n", + " borderwidth=1\n", + " )\n", + "\n", + " fig.update_layout(\n", + " title=dict(\n", + " text=f\"{project}, normalized to {START_DATE}\",\n", + " x=0.01,\n", + " xanchor='left',\n", + " font=dict(size=20)\n", + " ),\n", + " font=dict(\n", + " family=\"Helvetica Neue, sans-serif\",\n", + " size=14\n", + " ),\n", + " xaxis=dict(\n", + " showgrid=True,\n", + " gridcolor='lightgray',\n", + " gridwidth=0.5\n", + " ),\n", + " yaxis=dict(\n", + " title=\"TVL (Normalized)\",\n", + " range=[0, y_axis_max],\n", + " showgrid=True,\n", + " gridcolor='lightgray',\n", + " gridwidth=0.5\n", + " ),\n", + " plot_bgcolor='white',\n", + " paper_bgcolor='white',\n", + " legend=dict(\n", + " x=1.0,\n", + " y=1.0,\n", + " bgcolor='rgba(255,255,255,0)',\n", + " borderwidth=0\n", + " ),\n", + " margin=dict(t=50, b=40, l=60, r=40)\n", + " )\n", + "\n", + " fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "0501fc1f-1f87-4284-a120-4c5abe4fb9fb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "line": { + "width": 2 + }, + "mode": "lines", + "name": "Target", + "type": "scatter", + "x": [ + "2025-01-01", + "2025-01-02", + "2025-01-03", + "2025-01-04", + "2025-01-05", + "2025-01-06", + "2025-01-07", + "2025-01-08", + "2025-01-09", + "2025-01-10", + "2025-01-11", + "2025-01-12", + "2025-01-13", + "2025-01-14", + "2025-01-15", + "2025-01-16", + "2025-01-17", + "2025-01-18", + "2025-01-19", + "2025-01-20", + "2025-01-21", + "2025-01-22", + "2025-01-23", + "2025-01-24", + "2025-01-25", + "2025-01-26", + "2025-01-27", + "2025-01-28", + "2025-01-29", + "2025-01-30", + "2025-01-31", + "2025-02-01", + "2025-02-02", + "2025-02-03", + "2025-02-04", + "2025-02-05", + "2025-02-06", + "2025-02-07", + "2025-02-08", + "2025-02-09", + "2025-02-10", + "2025-02-11", + "2025-02-12", + "2025-02-13", + "2025-02-14", + "2025-02-15", + "2025-02-16", + "2025-02-17", + "2025-02-18", + "2025-02-19", + "2025-02-20", + "2025-02-21", + "2025-02-22", + "2025-02-23", + "2025-02-24", + "2025-02-25", + "2025-02-26", + "2025-02-27", + "2025-02-28", + "2025-03-01", + "2025-03-02", + "2025-03-03", + "2025-03-04", + "2025-03-05", + "2025-03-06", + "2025-03-07", + "2025-03-08", + "2025-03-09", + "2025-03-10", + "2025-03-11", + "2025-03-12", + "2025-03-13", + "2025-03-14", + "2025-03-15", + "2025-03-16", + "2025-03-17", + "2025-03-18", + "2025-03-19", + "2025-03-20", + "2025-03-21", + "2025-03-22", + "2025-03-23", + "2025-03-24", + "2025-03-25", + "2025-03-26", + "2025-03-27", + "2025-03-28", + "2025-03-29", + "2025-03-30", + "2025-03-31" + ], + "y": { + "bdata": "AAAAAAAAWUAcGMojCZFZQL4Re0jzglpAlCn8HVITW0CPCQUagyZbQIb6KQoth1pAwSbu5iRcWkArRIVcvfNYQJHqKCR+I1hAY8jGxac0V0B9C0Ld0mlXQCp+KhGvQ1dA5CjY9DF2VkCsbn7HeY1VQJDSoHf2+VVACS0gBbplV0B+IpzgRtZWQF5PQAUnHVdAlIigbkSHVUA6FzXN0q5UQJ3+C1qE0lRApyW1JjlQVEC5Lc9MTntTQFJhQobc9VNAYRK5MaYvVEDceS7nWKdTQNledIknFFNAt/9NRi5qUkCHsgraqU9SQJOAI0s9h1JAXHm7AIuDUkBoXSb/NRZTQB8O6rhDvFFAYGT3bNaHT0BY7naLdx1PQGTGq0rzG05AtIgAF4H1TUBIrd6AFIhNQJVt+Cf23ExASVWPk7vFTEDK5nE0bbFMQABarwkfoExAmzNdp9s8TEChU5sYExRNQN/btSy1ME1Atk/OffBGTkAw38i40xlOQPc+iaZ1S05APCksw4evTkCcsmbsfwRNQAYkVQf3PU1As5zETFanTUCIzRj0JNdMQCQemSSaBk5AhUO7BtdTTkB3I/gSINpLQJW0gfH/u0pAb25mFzh8SUAr0yfKMEJJQJcTXmolMklAJkFG7jMqSUBxcTTCWB1LQCoxbaagp0hA5SfMB6wkSEALtqsjvwtJQO6CSXallEhAV8dv/kXXR0A0csUpZxZIQHZp5vlphUVA/Ch4wnG9REDFUzBZlxRFQM2MnF6UZEVAvaZdkISmRUAD3ruNMRRGQEpGc3e95EVAh+D8h4H4RUCJIKcFpXRGQHwecgSSVUZABVzmMTTiRkAjAp4spmVGQKrwIXRlXEZA/4XYnA0sRkCYE4N3TJRGQNFEhRpuNkdAGWiddIsfR0A/pTqrAbxGQMnELtA3xUZAsg7CCQYWRkDxFzXcpmdFQEUD7xnqUkVA", + "dtype": "f8" + } + }, + { + "line": { + "width": 2 + }, + "mode": "lines", + "name": "Comparison", + "type": "scatter", + "x": [ + "2025-01-01", + "2025-01-02", + "2025-01-03", + "2025-01-04", + "2025-01-05", + "2025-01-06", + "2025-01-07", + "2025-01-08", + "2025-01-09", + "2025-01-10", + "2025-01-11", + "2025-01-12", + "2025-01-13", + "2025-01-14", + "2025-01-15", + "2025-01-16", + "2025-01-17", + "2025-01-18", + "2025-01-19", + "2025-01-20", + "2025-01-21", + "2025-01-22", + "2025-01-23", + "2025-01-24", + "2025-01-25", + "2025-01-26", + "2025-01-27", + "2025-01-28", + "2025-01-29", + "2025-01-30", + "2025-01-31", + "2025-02-01", + "2025-02-02", + "2025-02-03", + "2025-02-04", + "2025-02-05", + "2025-02-06", + "2025-02-07", + "2025-02-08", + "2025-02-09", + "2025-02-10", + "2025-02-11", + "2025-02-12", + "2025-02-13", + "2025-02-14", + "2025-02-15", + "2025-02-16", + "2025-02-17", + "2025-02-18", + "2025-02-19", + "2025-02-20", + "2025-02-21", + "2025-02-22", + "2025-02-23", + "2025-02-24", + "2025-02-25", + "2025-02-26", + "2025-02-27", + "2025-02-28", + "2025-03-01", + "2025-03-02", + "2025-03-03", + "2025-03-04", + "2025-03-05", + "2025-03-06", + "2025-03-07", + "2025-03-08", + "2025-03-09", + "2025-03-10", + "2025-03-11", + "2025-03-12", + "2025-03-13", + "2025-03-14", + "2025-03-15", + "2025-03-16", + "2025-03-17", + "2025-03-18", + "2025-03-19", + "2025-03-20", + "2025-03-21", + "2025-03-22", + "2025-03-23", + "2025-03-24", + "2025-03-25", + "2025-03-26", + "2025-03-27", + "2025-03-28", + "2025-03-29", + "2025-03-30", + "2025-03-31" + ], + "y": { + "bdata": "AAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAAAAAAAAFlA", + "dtype": "f8" + } + } + ], + "layout": { + "annotations": [ + { + "arrowhead": 2, + "ax": 40, + "ay": -40, + "bgcolor": "rgba(0,0,0,0.6)", + "bordercolor": "black", + "borderwidth": 1, + "font": { + "color": "white" + }, + "showarrow": true, + "text": "Max: $170,943,290 (100.0% of total)", + "x": "2025-01-05", + "y": 108.6017518090432 + } + ], + "font": { + "family": "Helvetica Neue, sans-serif", + "size": 14 + }, + "legend": { + "bgcolor": "rgba(255,255,255,0)", + "borderwidth": 0, + "x": 1, + "y": 1 + }, + "margin": { + "b": 40, + "l": 60, + "r": 40, + "t": 50 + }, + "paper_bgcolor": "white", + "plot_bgcolor": "white", + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "font": { + "size": 20 + }, + "text": "Extra Finance, normalized to 2025-01-01", + "x": 0.01, + "xanchor": "left" + }, + "xaxis": { + "gridcolor": "lightgray", + "gridwidth": 0.5, + "showgrid": true + }, + "yaxis": { + "gridcolor": "lightgray", + "gridwidth": 0.5, + "range": [ + 0, + 150 + ], + "showgrid": true, + "title": { + "text": "TVL (Normalized)" + } + } + } + }, + "text/html": [ + "
\n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "line": { + "width": 2 + }, + "mode": "lines", + "name": "Target", + "type": "scatter", + "x": [ + "2025-01-01", + "2025-01-02", + "2025-01-03", + "2025-01-04", + "2025-01-05", + "2025-01-06", + "2025-01-07", + "2025-01-08", + "2025-01-09", + "2025-01-10", + "2025-01-11", + "2025-01-12", + "2025-01-13", + "2025-01-14", + "2025-01-15", + "2025-01-16", + "2025-01-17", + "2025-01-18", + "2025-01-19", + "2025-01-20", + "2025-01-21", + "2025-01-22", + "2025-01-23", + "2025-01-24", + "2025-01-25", + "2025-01-26", + "2025-01-27", + "2025-01-28", + "2025-01-29", + "2025-01-30", + "2025-01-31", + "2025-02-01", + "2025-02-02", + "2025-02-03", + "2025-02-04", + "2025-02-05", + "2025-02-06", + "2025-02-07", + "2025-02-08", + "2025-02-09", + "2025-02-10", + "2025-02-11", + "2025-02-12", + "2025-02-13", + "2025-02-14", + "2025-02-15", + "2025-02-16", + "2025-02-17", + "2025-02-18", + "2025-02-19", + "2025-02-20", + "2025-02-21", + "2025-02-22", + "2025-02-23", + "2025-02-24", + "2025-02-25", + "2025-02-26", + "2025-02-27", + "2025-02-28", + "2025-03-01", + "2025-03-02", + "2025-03-03", + "2025-03-04", + "2025-03-05", + "2025-03-06", + "2025-03-07", + "2025-03-08", + "2025-03-09", + "2025-03-10", + "2025-03-11", + "2025-03-12", + "2025-03-13", + "2025-03-14", + "2025-03-15", + "2025-03-16", + "2025-03-17", + "2025-03-18", + "2025-03-19", + "2025-03-20", + "2025-03-21", + "2025-03-22", + "2025-03-23", + "2025-03-24", + "2025-03-25", + "2025-03-26", + "2025-03-27", + "2025-03-28", + "2025-03-29", + "2025-03-30", + "2025-03-31" + ], + "y": { + "bdata": "AAAAAAAAWUCIhgcBcvZYQG2h8qgQxllAXkr2j617XUDT6f6cxlBfQJIpeItpE11AG2dO+bFOXECio5nshtRZQG6GovbvK1lAhmsQ3K84WUANH4intJ9ZQB2VKgL3RFlAIiTc34P7WECTx6qZSWlYQJBCq/StWVlAuhk7TXGvXEC+j39uKONaQJ2IomzWVFpAMoFueKxCWkCu+5k5CnNaQFPdEGnV6FlAln6vokrPWUBOD05PP5JZQBQ6soMgFlpAjhSALzenWkAM4hWFJAFeQJXU57U1B2BA/egSsxCWXkBr2s7E9opbQDqR5E/JulxAey6Pveh/X0CKMeGed9RcQIP141HoOlpABXWEzZvKV0B7k/QRK8RYQLaZCRG6ElZAmByje/pUVkDFvLompjJVQFOSSLlCWlRAW7nB2b6pVEALd6UHXl9UQL1YpoERSFVAVaMrNd3xVEAyDe++kjFUQE9xmk/mMVRAE6SUO9ubU0BqfNGMeEZTQIthPy1StVNAMcbLHzNnU0DGUh92a0FTQCk5wO/Oa1NA6e+MsZZCVEDeSXa/7OVTQIYvqTB6t1RAlnOpwqcFVUCXwm9DQFtQQINhLbNGCVBAB4FNmyZvTUAAbHW76thKQIhHfN+UlElAS5Vp+MyCSUDjb7YRxdVPQORsXSLeMktA9ZWrmoIgSkCOd+5oZn1KQCUPNdMGIkpARBItcsxcSkDTVHX0UWhKQC/L+l7/DEhAqK+yzVE6RUDmfubfovxGQHq5OloWM0ZA16Lflfa/R0C+GIu49IlIQAYMbrqGv1FAXXfSPhXWUEDTN4gsu09QQLxzWOa2D1FALHvSyeesUkC20Zn54/hNQI9QWQSuAlFAmJE1M+0lUUDvoy6C+X5QQDAGP9viLlFA6M65sh4tUUC/26Qux5JQQCCl9L8FTlBA4nLi56jRTkDnXl4eXiNNQGNRhme/Jk1A", + "dtype": "f8" + } + }, + { + "line": { + "width": 2 + }, + "mode": "lines", + "name": "Comparison", + "type": "scatter", + "x": [ + "2025-01-01", + "2025-01-02", + "2025-01-03", + "2025-01-04", + "2025-01-05", + "2025-01-06", + "2025-01-07", + "2025-01-08", + "2025-01-09", + "2025-01-10", + "2025-01-11", + "2025-01-12", + "2025-01-13", + "2025-01-14", + "2025-01-15", + "2025-01-16", + "2025-01-17", + "2025-01-18", + "2025-01-19", + "2025-01-20", + "2025-01-21", + "2025-01-22", + "2025-01-23", + "2025-01-24", + "2025-01-25", + "2025-01-26", + "2025-01-27", + "2025-01-28", + "2025-01-29", + "2025-01-30", + "2025-01-31", + "2025-02-01", + "2025-02-02", + "2025-02-03", + "2025-02-04", + "2025-02-05", + "2025-02-06", + "2025-02-07", + "2025-02-08", + "2025-02-09", + "2025-02-10", + "2025-02-11", + "2025-02-12", + "2025-02-13", + "2025-02-14", + "2025-02-15", + "2025-02-16", + "2025-02-17", + "2025-02-18", + "2025-02-19", + "2025-02-20", + "2025-02-21", + "2025-02-22", + "2025-02-23", + "2025-02-24", + "2025-02-25", + "2025-02-26", + "2025-02-27", + "2025-02-28", + "2025-03-01", + "2025-03-02", + "2025-03-03", + "2025-03-04", + "2025-03-05", + "2025-03-06", + "2025-03-07", + "2025-03-08", + "2025-03-09", + "2025-03-10", + "2025-03-11", + "2025-03-12", + "2025-03-13", + "2025-03-14", + "2025-03-15", + "2025-03-16", + "2025-03-17", + "2025-03-18", + "2025-03-19", + "2025-03-20", + "2025-03-21", + "2025-03-22", + "2025-03-23", + "2025-03-24", + "2025-03-25", + "2025-03-26", + "2025-03-27", + "2025-03-28", + "2025-03-29", + "2025-03-30", + "2025-03-31" + ], + "y": { + "bdata": "AAAAAAAAWUCUef6hHT1ZQKUX2ac3xVlApnVBBy6uWkCm7gu8pUhbQB89m5grLltAyTLEtMhRW0A8wI8s4PdYQB0U4ABucVhASSgXWpO9V0AneO+G8CZYQG0/cEzGU1hA/oPTDGv6V0AFMlBazDlXQASlNOgvRFhABbRRZQR8WUCWhxnE+MhYQBrs52Zq1lhADlufEOpzWEBu7quFgQNYQBqO+GNo3FdAQ47TQRRYWEC6LkxaePRXQBDdAugpR1hAgKIY9F8fWEDx9Pv00ClYQNcpQl9a61dAqBQSTj4oV0DNA+dzH7BWQPvsn3GUHVdA5T04QhK1V0BvFEYzxrZXQEoOFTtJ4FZAnp1bW33vVECgWv3Odk5VQG00qqCRRFRAsg5kcUBvVEBLwHF1ZORTQBfC4ZDGjlNAJTPM+NCbU0BXYfW5crhTQOOZldfN5FNAO9A/PncvU0BBXMwomAhUQFFEiwGcblNAIw29ACiQU0CfwYAFFKVTQFZfKkrNXFNAmMJfJep+U0DKG4UIUjlTQJ5Veq+akVNAbAx3llW3U0Dy++fcyjNTQPKYStaOlFNAPXZVMA/9U0AbE6JkNj1SQEVy6i9yf1FAK2dLLmifUEAsOh6BoIlQQDExTYoDXVBAlMSIDlR0UECWwoyQVK5RQOP4ocwW8U9ASAt1rScrT0AY9VMIaiZQQBUtcd8qPE9AkrlyLkbXTkAM5JYNPndPQPVLn0v3HE1AURqQ1kgRS0DCm6az4gNMQD7zAuOiH0xAOlacFwPOS0A37otJM0FMQGjGhAp/lkxA25Bwh344TEDEeaaeBQFMQAGlKLQ7bEtA5b4nCP+0S0AY3ERZ/vpLQP+i6MXKwEtAoycNPvjcS0CgGpKb6UdMQP4JdkoCS01A0y2Np0UnTUCxDcL5LLZNQN8VnYkytE1A7yv2HpFYTEAxGKneTLFLQIMvU1riQ0tA", + "dtype": "f8" + } + } + ], + "layout": { + "annotations": [ + { + "arrowhead": 2, + "ax": 40, + "ay": -40, + "bgcolor": "rgba(0,0,0,0.6)", + "bordercolor": "black", + "borderwidth": 1, + "font": { + "color": "white" + }, + "showarrow": true, + "text": "Max: $30,970,125 (14.2% of total)", + "x": "2025-01-27", + "y": 128.2253064659059 + } + ], + "font": { + "family": "Helvetica Neue, sans-serif", + "size": 14 + }, + "legend": { + "bgcolor": "rgba(255,255,255,0)", + "borderwidth": 0, + "x": 1, + "y": 1 + }, + "margin": { + "b": 40, + "l": 60, + "r": 40, + "t": 50 + }, + "paper_bgcolor": "white", + "plot_bgcolor": "white", + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "font": { + "size": 20 + }, + "text": "Sushiswap, normalized to 2025-01-01", + "x": 0.01, + "xanchor": "left" + }, + "xaxis": { + "gridcolor": "lightgray", + "gridwidth": 0.5, + "showgrid": true + }, + "yaxis": { + "gridcolor": "lightgray", + "gridwidth": 0.5, + "range": [ + 0, + 150 + ], + "showgrid": true, + "title": { + "text": "TVL (Normalized)" + } + } + } + }, + "text/html": [ + "
\n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "line": { + "width": 2 + }, + "mode": "lines", + "name": "Target", + "type": "scatter", + "x": [ + "2025-01-01", + "2025-01-02", + "2025-01-03", + "2025-01-04", + "2025-01-05", + "2025-01-06", + "2025-01-07", + "2025-01-08", + "2025-01-09", + "2025-01-10", + "2025-01-11", + "2025-01-12", + "2025-01-13", + "2025-01-14", + "2025-01-15", + "2025-01-16", + "2025-01-17", + "2025-01-18", + "2025-01-19", + "2025-01-20", + "2025-01-21", + "2025-01-22", + "2025-01-23", + "2025-01-24", + "2025-01-25", + "2025-01-26", + "2025-01-27", + "2025-01-28", + "2025-01-29", + "2025-01-30", + "2025-01-31", + "2025-02-01", + "2025-02-02", + "2025-02-03", + "2025-02-04", + "2025-02-05", + "2025-02-06", + "2025-02-07", + "2025-02-08", + "2025-02-09", + "2025-02-10", + "2025-02-11", + "2025-02-12", + "2025-02-13", + "2025-02-14", + "2025-02-15", + "2025-02-16", + "2025-02-17", + "2025-02-18", + "2025-02-19", + "2025-02-20", + "2025-02-21", + "2025-02-22", + "2025-02-23", + "2025-02-24", + "2025-02-25", + "2025-02-26", + "2025-02-27", + "2025-02-28", + "2025-03-01", + "2025-03-02", + "2025-03-03", + "2025-03-04", + "2025-03-05", + "2025-03-06", + "2025-03-07", + "2025-03-08", + "2025-03-09", + "2025-03-10", + "2025-03-11", + "2025-03-12", + "2025-03-13", + "2025-03-14", + "2025-03-15", + "2025-03-16", + "2025-03-17", + "2025-03-18", + "2025-03-19", + "2025-03-20", + "2025-03-21", + "2025-03-22", + "2025-03-23", + "2025-03-24", + "2025-03-25", + "2025-03-26", + "2025-03-27", + "2025-03-28", + "2025-03-29", + "2025-03-30", + "2025-03-31" + ], + "y": { + "bdata": "AAAAAAAAWUA8ppI1FehYQNB7IdF3rVlA5dNrFgfIWkD/DGO4JhZbQMsot1YgBltAlhP8LwXHWkBvnTok6QpZQCZ1QLi8N1lA7zgTz9oSWUDG3h6SLxNaQF2t2fbW3llA4OX0K38xWEBONSzt5RxXQPxhykYPvldAEy79+NVXWUBNn9GiR6tYQCixfniFr3RAbkED7CrOckDE0gdYSqlyQGPc7lUQDXNAmU8S03YGdkC+V+ocRFN2QJInIlIin3ZAfaqN+ZA+d0CtVp6qahN4QLScs+ZtLndAenEXqxZ7d0DR5xB15Nt2QBd1fp6D+HZA7wucr99Gd0DHaHKa07Z4QNVBZbCUGXhA506UjACMdkCgK7WS68t2QCTEYZ0bJHVAFaGVwfOTdUCaEFGbZGV0QMMh37EX/XJAR6QgKpCXckDQFN76UKJyQOa6dXy4THJA3X1ozQLucUDVUa01u/lwQOR10PWoyHBAx3d/WWMbcUB9o7dnnNRwQADIgdIyl3BAL3uAvTvwcEBicluHG29xQA9QeRTFHXNAgiTQHrrrckDlpMN1Ck1yQDZVvMbHTXNAw8Rw6Kixc0D61WyM8tVxQLkl+zIcLHFA93dezwBKcEDy6N9WUExwQKo7sT0bfm5AX547C8LlbED09CLLIZtuQIZQOfPSYWhA8379TniMaEBrTp6UIf1nQGDY/mgt6mdAs7KpuOwGaECaUw25zaloQNzln8u6XWdAxKj0SoNmZUDKCKIWh6VlQP889GvcKmlAGbttZLvsZ0CCnkCcUQ1pQGyknja+OmlAVgthTkPIaEB7Y7z8nrpoQIU6JketOWlAANmcdNoWakDoIfW/cC1pQMcBtmrOnGhAPyXvTMMFaUAUvkEa2lFhQLMxYVro92FAHqMyc7J9YUA4q7fqq6RhQMNP7cHKbWFASWGQOALRYEA6t5OJJllgQHbbtQyYImBA", + "dtype": "f8" + } + }, + { + "line": { + "width": 2 + }, + "mode": "lines", + "name": "Comparison", + "type": "scatter", + "x": [ + "2025-01-01", + "2025-01-02", + "2025-01-03", + "2025-01-04", + "2025-01-05", + "2025-01-06", + "2025-01-07", + "2025-01-08", + "2025-01-09", + "2025-01-10", + "2025-01-11", + "2025-01-12", + "2025-01-13", + "2025-01-14", + "2025-01-15", + "2025-01-16", + "2025-01-17", + "2025-01-18", + "2025-01-19", + "2025-01-20", + "2025-01-21", + "2025-01-22", + "2025-01-23", + "2025-01-24", + "2025-01-25", + "2025-01-26", + "2025-01-27", + "2025-01-28", + "2025-01-29", + "2025-01-30", + "2025-01-31", + "2025-02-01", + "2025-02-02", + "2025-02-03", + "2025-02-04", + "2025-02-05", + "2025-02-06", + "2025-02-07", + "2025-02-08", + "2025-02-09", + "2025-02-10", + "2025-02-11", + "2025-02-12", + "2025-02-13", + "2025-02-14", + "2025-02-15", + "2025-02-16", + "2025-02-17", + "2025-02-18", + "2025-02-19", + "2025-02-20", + "2025-02-21", + "2025-02-22", + "2025-02-23", + "2025-02-24", + "2025-02-25", + "2025-02-26", + "2025-02-27", + "2025-02-28", + "2025-03-01", + "2025-03-02", + "2025-03-03", + "2025-03-04", + "2025-03-05", + "2025-03-06", + "2025-03-07", + "2025-03-08", + "2025-03-09", + "2025-03-10", + "2025-03-11", + "2025-03-12", + "2025-03-13", + "2025-03-14", + "2025-03-15", + "2025-03-16", + "2025-03-17", + "2025-03-18", + "2025-03-19", + "2025-03-20", + "2025-03-21", + "2025-03-22", + "2025-03-23", + "2025-03-24", + "2025-03-25", + "2025-03-26", + "2025-03-27", + "2025-03-28", + "2025-03-29", + "2025-03-30", + "2025-03-31" + ], + "y": { + "bdata": "AAAAAAAAWUB6umQtQh1ZQK43D4vEaFlAnY+fSgqJWUDW2PDbphBZQG0N13WbAVlAY06+xwY9WUDU275GRg5ZQE28YM3WFFlA3gBvbT0YWUBZx1qMkkdZQPrJaEyAXllA/VXEZPxiWUDCSVJ6sgxaQJoOQ7mgcVpAtPhweu3OWkB5LCTkU+FaQHcmYJFxy1pA25kP8GaNWkDXnLlpw2ZaQN026oJkT1pAVoiiJjbJWkA2rJjAQjFbQMooquT3VltA29D68Py/W0D9XNyGyL1bQBTq9DRiGlxAOk2yiycvXEBYuWrLdBxcQKsFE91n9ltAtk1U0BXlW0BEW9jeHOxbQKPacgzTH1xAQ1/QLjDxW0BxR6oZ7TdbQMAnbKYUYFtAOvcT73hzW0CzbVHhvxlbQJYtrxFS2FpAjryVDhLgWkAsArcdtKxaQBwTN/roCltAWc6qdf6rWkCVUY/+9LtaQLYukyUpZlpAnrBsFld3WkCDVQpVfnlaQDomUuYNe1pAeNk9COgtWUAmzbAWkRhZQEYd024wN1lAQLkzRqDvWEDa5YGL3uJYQMBS+7scEVlA5iJgfScQWUAy+FNM/LxYQAQuChG+slhA+/iI+GrgV0A76km04dNXQBwq/KD6P1dAij2Kg97XV0CskFva+QBYQCJSIHucqldAm4jXFXnBV0Bqi3PWU1tXQF2A9oVlXldAuv00Ne5fV0DYDXi8AGRXQCVJrITJOVdAM5AlWofZVkBykfHy3f5WQOkCIugKYFZAA7VSSaUVVkCCSAGkbplUQFf8nhrpm1RAbJ5zle92VEAXh+bjL2pUQEMaAoYGklRACkKL1JCnVEC8tgUS1lBUQMMkrBBEuVNAHrq/3AOQU0AeJ4N4QCxTQF4iGa0bg1FACPcBF7ZtUUBLNzB8pEZRQNAqbOCUH1FAjoh6bkn4UEBsDu8ICeVQQG47pHwmxlBA", + "dtype": "f8" + } + } + ], + "layout": { + "annotations": [ + { + "arrowhead": 2, + "ax": 40, + "ay": -40, + "bgcolor": "rgba(0,0,0,0.6)", + "bordercolor": "black", + "borderwidth": 1, + "font": { + "color": "white" + }, + "showarrow": true, + "text": "Max: $6,210,582 (16.4% of total)", + "x": "2025-02-01", + "y": 395.42666096392753 + } + ], + "font": { + "family": "Helvetica Neue, sans-serif", + "size": 14 + }, + "legend": { + "bgcolor": "rgba(255,255,255,0)", + "borderwidth": 0, + "x": 1, + "y": 1 + }, + "margin": { + "b": 40, + "l": 60, + "r": 40, + "t": 50 + }, + "paper_bgcolor": "white", + "plot_bgcolor": "white", + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "font": { + "size": 20 + }, + "text": "Gyroscope, normalized to 2025-01-01", + "x": 0.01, + "xanchor": "left" + }, + "xaxis": { + "gridcolor": "lightgray", + "gridwidth": 0.5, + "showgrid": true + }, + "yaxis": { + "gridcolor": "lightgray", + "gridwidth": 0.5, + "range": [ + 0, + 400 + ], + "showgrid": true, + "title": { + "text": "TVL (Normalized)" + } + } + } + }, + "text/html": [ + "
\n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "line": { + "width": 2 + }, + "mode": "lines", + "name": "Target", + "type": "scatter", + "x": [ + "2025-01-01", + "2025-01-02", + "2025-01-03", + "2025-01-04", + "2025-01-05", + "2025-01-06", + "2025-01-07", + "2025-01-08", + "2025-01-09", + "2025-01-10", + "2025-01-11", + "2025-01-12", + "2025-01-13", + "2025-01-14", + "2025-01-15", + "2025-01-16", + "2025-01-17", + "2025-01-18", + "2025-01-19", + "2025-01-20", + "2025-01-21", + "2025-01-22", + "2025-01-23", + "2025-01-24", + "2025-01-25", + "2025-01-26", + "2025-01-27", + "2025-01-28", + "2025-01-29", + "2025-01-30", + "2025-01-31", + "2025-02-01", + "2025-02-02", + "2025-02-03", + "2025-02-04", + "2025-02-05", + "2025-02-06", + "2025-02-07", + "2025-02-08", + "2025-02-09", + "2025-02-10", + "2025-02-11", + "2025-02-12", + "2025-02-13", + "2025-02-14", + "2025-02-15", + "2025-02-16", + "2025-02-17", + "2025-02-18", + "2025-02-19", + "2025-02-20", + "2025-02-21", + "2025-02-22", + "2025-02-23", + "2025-02-24", + "2025-02-25", + "2025-02-26", + "2025-02-27", + "2025-02-28", + "2025-03-01", + "2025-03-02", + "2025-03-03", + "2025-03-04", + "2025-03-05", + "2025-03-06", + "2025-03-07", + "2025-03-08", + "2025-03-09", + "2025-03-10", + "2025-03-11", + "2025-03-12", + "2025-03-13", + "2025-03-14", + "2025-03-15", + "2025-03-16", + "2025-03-17", + "2025-03-18", + "2025-03-19", + "2025-03-20", + "2025-03-21", + "2025-03-22", + "2025-03-23", + "2025-03-24", + "2025-03-25", + "2025-03-26", + "2025-03-27", + "2025-03-28", + "2025-03-29", + "2025-03-30", + "2025-03-31" + ], + "y": { + "bdata": "AAAAAAAAWUBeWHgFHklZQDqzXs/UAFpAXuxvk9sdW0D8DRT2gSBbQNJr/BGdUVtAtgZ8bmtNW0AQNyIzAtNZQN1DwMvqQ1lA6KuBU1ahWEChUUd+9nlYQE86/ivg2VhADnzFRCORWEALOhNE9RBYQKgv7yCE1lpAG+SnaURZXEChlGPKwAJcQMbjviSnjV1Ay5//46dzXEDUJNCfVs5bQIQ/uK0r5lpA4gWpOq75WkD4ouNOwA1aQOaTnqCzrVpAG7NXUEcDXECP6fYTtSJbQPZyex8PylpA9Kw67IQmWkAHcRCqojRaQB6Pr0NDP1pA0hjzoCGTWkBgbMsW6GlaQMXG4QRF2llAsJBoVgCRWEDz7wx8725YQAjpSLtlMldA5KSqKrkqWEAVN1QLCBJYQATEmA0v/VdAg3ka/VxcWEBJQTVhQHxYQO3bIlVxxFhA0Cv6FbahWEA9/uW8veNYQEtcy4uOWlhAL/JHqNCDWEAMOKVpl35YQF2wH/YUAlhA0rJPcNdSWEArbdS0d9xXQL3Q2NAGtVhACNyamV7fWEAw3Nkyg6dYQOtp9x02HVlAqhYTDBGAWUDyaH300BRYQLH/bSBTzFdA8wukuOjfVkDwhYLLQe1WQCDRpR/h9lZAgeErusXeVkCSTV+0n9NYQMXEoVQvNFdAyMnuiiCAV0A477Or9b5XQBeUnE2lTVdAtkX+XXh2V0BnpcMOaLhXQOWNffSe2lZAdkkCqF1kVkCTM5Y2cNJVQKfxWSxLQFZAo5yw3AIQVkA3K3N3O19WQJ4VZMTVEVZAVr+H6pToVUDga4dMytJVQAF78ozeG1ZAXr/OUoSMVkALBQWm52tWQC50B2MkWVZAZNhGPcy3VkA2h8Fj2NpWQAjYTg42IldAoGlkmu3IVkC31b2Iv49WQNxmdjDvrFZAFq1l8/LkVUD8qfdWA6dVQGJIIRuYzlVA", + "dtype": "f8" + } + }, + { + "line": { + "width": 2 + }, + "mode": "lines", + "name": "Comparison", + "type": "scatter", + "x": [ + "2025-01-01", + "2025-01-02", + "2025-01-03", + "2025-01-04", + "2025-01-05", + "2025-01-06", + "2025-01-07", + "2025-01-08", + "2025-01-09", + "2025-01-10", + "2025-01-11", + "2025-01-12", + "2025-01-13", + "2025-01-14", + "2025-01-15", + "2025-01-16", + "2025-01-17", + "2025-01-18", + "2025-01-19", + "2025-01-20", + "2025-01-21", + "2025-01-22", + "2025-01-23", + "2025-01-24", + "2025-01-25", + "2025-01-26", + "2025-01-27", + "2025-01-28", + "2025-01-29", + "2025-01-30", + "2025-01-31", + "2025-02-01", + "2025-02-02", + "2025-02-03", + "2025-02-04", + "2025-02-05", + "2025-02-06", + "2025-02-07", + "2025-02-08", + "2025-02-09", + "2025-02-10", + "2025-02-11", + "2025-02-12", + "2025-02-13", + "2025-02-14", + "2025-02-15", + "2025-02-16", + "2025-02-17", + "2025-02-18", + "2025-02-19", + "2025-02-20", + "2025-02-21", + "2025-02-22", + "2025-02-23", + "2025-02-24", + "2025-02-25", + "2025-02-26", + "2025-02-27", + "2025-02-28", + "2025-03-01", + "2025-03-02", + "2025-03-03", + "2025-03-04", + "2025-03-05", + "2025-03-06", + "2025-03-07", + "2025-03-08", + "2025-03-09", + "2025-03-10", + "2025-03-11", + "2025-03-12", + "2025-03-13", + "2025-03-14", + "2025-03-15", + "2025-03-16", + "2025-03-17", + "2025-03-18", + "2025-03-19", + "2025-03-20", + "2025-03-21", + "2025-03-22", + "2025-03-23", + "2025-03-24", + "2025-03-25", + "2025-03-26", + "2025-03-27", + "2025-03-28", + "2025-03-29", + "2025-03-30", + "2025-03-31" + ], + "y": { + "bdata": "AAAAAAAAWUAP9IeDtW5aQPkvbn8g/1pAy/vsTi+UW0Bbxy3FzNhcQHs0kRnJAF1AITyuM3U5XkBByTnTTJxeQFILujgZdF5ATsp0gTqbXkDas5JJhbFeQEiX3W2rYF1AGIxW4PGlX0AUO04Ztj9fQFG7CpDZY19A7HAUV2pLYEA/txWcOjhgQMuO+23bIWBAI3YZmDJYYEBSh6tpgqpfQDJbmvdnol1AF+T6N6hpXUBHjnuxDfhcQPXHQEJg911Aglb0klFsX0ChECIqE8xfQBIWYh32uWFA7pYxeVlkYEC7Fr3/mVFgQDRCICtTTmBA0SURfsUFYECrZg3PlQVhQOCNmFWgkmBAzG/UYv+LX0AxFcFXLgldQKKCzpp5RV1AgxPEAf9EXUD3qyO0VhVdQGIjwjf/IF5AuiFvtw0HYEBpWrkagS1gQPbhrTwNUWBA01vNbmZGYECPHJuU8oZhQL/RtpYSCWJA77YqdHqFZEAd8Aehu4xjQCFePjfae2RAbt+KtobeZkD7mjxjoipoQJvDK3Gb6mhAbBnxADYKaEAVmVdwml1oQPHTEDRxaGhAcllG+SO0aUCdmmyUvXxpQEj8byhMe2pAsABrmkJpakDImchB4pBsQODeEf/sVGxA4l8URzd9bEBO9jqL8SNsQC5vW/VzFGxA+pK+jpo0bUAcsuZFLtZsQAsPXGxLfWxAEXAGRE2LbUDWPK45+NxtQGLHWLLKqG1A2toBk4QlbUDvXoxyyfRtQGJKC2wgBm9ATL/w6+dLb0DipJYFu19vQHNQok+0rm9A04548PKkb0BHNwfWyMFvQLuA6j9P6m9ApiA82b5UcUD9adezMyNxQAvuxg/QZXFAu5NUQTp4cUB0xptlNCVyQIzuPNid2HJAsuZkN/Qzc0ADbJgC2zdzQJTGAD9JunRA+IrLMzQPdUBBrtMqF5t1QC+AqSIgfnVA", + "dtype": "f8" + } + } + ], + "layout": { + "annotations": [ + { + "arrowhead": 2, + "ax": 40, + "ay": -40, + "bgcolor": "rgba(0,0,0,0.6)", + "bordercolor": "black", + "borderwidth": 1, + "font": { + "color": "white" + }, + "showarrow": true, + "text": "Max: $26,621,334 (32.5% of total)", + "x": "2025-01-18", + "y": 118.21332663194252 + } + ], + "font": { + "family": "Helvetica Neue, sans-serif", + "size": 14 + }, + "legend": { + "bgcolor": "rgba(255,255,255,0)", + "borderwidth": 0, + "x": 1, + "y": 1 + }, + "margin": { + "b": 40, + "l": 60, + "r": 40, + "t": 50 + }, + "paper_bgcolor": "white", + "plot_bgcolor": "white", + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "font": { + "size": 20 + }, + "text": "Superform, normalized to 2025-01-01", + "x": 0.01, + "xanchor": "left" + }, + "xaxis": { + "gridcolor": "lightgray", + "gridwidth": 0.5, + "showgrid": true + }, + "yaxis": { + "gridcolor": "lightgray", + "gridwidth": 0.5, + "range": [ + 0, + 350 + ], + "showgrid": true, + "title": { + "text": "TVL (Normalized)" + } + } + } + }, + "text/html": [ + "
\n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for p in df_tvl['display_name'].unique():\n", + " tvl_chart(p) " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}