Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: 0xsamgreen
  • License: mit
  • Language: JavaScript
  • Default Branch: main
  • Size: 1.17 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

xDomain

Cross-Domain Arbitrage Historical Visualization. Originally built during ETHGlobal Paris, 2023.

Introduction

The Odos Cross-Domain Arbitrage Tracker (CAT) measures real-time cross-domain arbitrage opportunities between Uniswap V2 and its many clones on Ethereum and multiple L2s. The live version of the monitoring site is built and maintained by Odos and is hosted at https://odos.xyz/arbitrage. This repo is for analysis and visualization of historical CAT data. It was built for ETHGlobal Paris 2023 hackathon.  

Backend setup

  1. Setup the Python environment

      cd backend pip install -r requirements.txt

  2. Download the files in this directory and place them in backend/assets.

  3. Start the server uvicorn main:app --reload

Frontend setup

cd frontend npm install npm run dev

Terminology

  • Domain - Technically, transactions can occur anywhere (centralized exchange, decentralized exchange, order book, cash). Practically, Ethereum and various L2s.
  • Opportunity - A cyclic arbitrage opportunity.
  • Opportunity cluster - Two or more opportunities that occur close together in space and value.

Related Media

The following documents and presentations used Odos CAT data: * https://vitalik.ca/general/2021/12/06/endgame.html * https://arxiv.org/abs/2112.01472 * https://www.youtube.com/watch?v=2iseYQwd2dA

Warning

We have tried to make sure the data being analyzed here is accurate. However, it is highly probable that the numbers are not exact. This is caused by "hanging" RPC nodes. We will be correcting discrepancies in the future.

Owner

  • Name: Sam Green
  • Login: 0xsamgreen
  • Kind: user
  • Location: San Francisco Bay Area
  • Company: Semiotic Labs

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Sam
    given-names: Green
    orcid: https://orcid.org/0000-0001-5353-619X
  - family-names: Guillaume
    given-names: Poullain
title: "xDomain: Cross-Domain Arbitrage Historical Visualization"
version: 1.0.0
date-released: 2023-07-23

GitHub Events

Total
Last Year

Dependencies

backend/Dockerfile docker
  • python 3.10 build
frontend/package.json npm
  • @emotion/react ^11.10.4
  • @emotion/styled ^11.10.4
  • @fullcalendar/core ^5.11.3
  • @fullcalendar/daygrid ^5.11.3
  • @fullcalendar/interaction ^5.11.3
  • @fullcalendar/list ^5.11.3
  • @fullcalendar/react ^5.11.2
  • @fullcalendar/timegrid ^5.11.3
  • @mui/icons-material ^5.10.3
  • @mui/material ^5.10.5
  • @mui/x-data-grid ^5.17.2
  • @mui/x-date-pickers ^6.10.1
  • @nivo/bar ^0.80.0
  • @nivo/core ^0.79.0
  • @nivo/geo ^0.80.0
  • @nivo/line ^0.79.1
  • @nivo/pie ^0.80.0
  • @reduxjs/toolkit ^1.8.5
  • @testing-library/jest-dom ^5.16.5
  • @testing-library/react ^13.3.0
  • @testing-library/user-event ^13.5.0
  • @walletconnect/modal-auth-react ^2.6.0
  • chart.js ^3.9.1
  • dayjs ^1.11.9
  • formik ^2.2.9
  • react ^18.2.0
  • react-chartjs-2 ^4.3.1
  • react-dom ^18.2.0
  • react-pro-sidebar ^0.7.1
  • react-redux ^8.0.2
  • react-router-dom ^6.3.0
  • react-scripts 5.0.1
  • web-vitals ^2.1.4
  • yup ^0.32.11
backend/requirements.txt pypi
  • Pygments ==2.15.1
  • annotated-types ==0.5.0
  • anyio ==3.7.1
  • appnope ==0.1.3
  • asttokens ==2.2.1
  • backcall ==0.2.0
  • backports.functools-lru-cache ==1.6.5
  • certifi ==2023.7.22
  • charset-normalizer ==3.2.0
  • click ==8.1.6
  • comm ==0.1.3
  • debugpy ==1.6.7
  • decorator ==5.1.1
  • executing ==1.2.0
  • fastapi ==0.100.0
  • h11 ==0.14.0
  • idna ==3.4
  • importlib-metadata ==6.8.0
  • ipykernel ==6.24.0
  • ipython ==8.14.0
  • jedi ==0.18.2
  • jupyter_client ==8.3.0
  • jupyter_core ==5.3.1
  • matplotlib-inline ==0.1.6
  • nest-asyncio ==1.5.6
  • numpy ==1.25.1
  • packaging ==23.1
  • pandas ==2.0.3
  • parso ==0.8.3
  • pexpect ==4.8.0
  • pickleshare ==0.7.5
  • pip ==23.2.1
  • platformdirs ==3.9.1
  • prompt-toolkit ==3.0.39
  • psutil ==5.9.5
  • ptyprocess ==0.7.0
  • pure-eval ==0.2.2
  • pydantic ==2.0.3
  • pydantic_core ==2.3.0
  • python-dateutil ==2.8.2
  • pytz ==2023.3
  • pyzmq ==25.1.0
  • requests ==2.31.0
  • setuptools ==67.8.0
  • six ==1.16.0
  • sniffio ==1.3.0
  • stack-data ==0.6.2
  • starlette ==0.27.0
  • tornado ==6.3.2
  • traitlets ==5.9.0
  • typing_extensions ==4.7.1
  • tzdata ==2023.3
  • urllib3 ==2.0.4
  • uvicorn ==0.23.1
  • wcwidth ==0.2.6
  • wheel ==0.38.4
  • zipp ==3.16.2