{"id":39908079,"url":"https://github.com/jorgejch/dex-arbitrage","last_synced_at":"2026-01-18T16:02:30.445Z","repository":{"id":262295210,"uuid":"886806629","full_name":"jorgejch/dex-arbitrage","owner":"jorgejch","description":"Another Flash-loan Arbitrage Bot","archived":false,"fork":false,"pushed_at":"2025-08-19T18:42:21.000Z","size":520,"stargazers_count":12,"open_issues_count":3,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-19T20:42:44.853Z","etag":null,"topics":["aave","arbitrage","blockchain","flash-loan","smart-contracts","uniswap-v3"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jorgejch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["jorgejch"]}},"created_at":"2024-11-11T16:31:58.000Z","updated_at":"2025-07-28T14:32:45.000Z","dependencies_parsed_at":"2024-11-11T17:37:06.827Z","dependency_job_id":"a73065e9-9b5a-470d-9982-6397af1377b8","html_url":"https://github.com/jorgejch/dex-arbitrage","commit_stats":null,"previous_names":["jorgejch/dex-arbitrage"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/jorgejch/dex-arbitrage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgejch%2Fdex-arbitrage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgejch%2Fdex-arbitrage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgejch%2Fdex-arbitrage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgejch%2Fdex-arbitrage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jorgejch","download_url":"https://codeload.github.com/jorgejch/dex-arbitrage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorgejch%2Fdex-arbitrage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28541068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T14:59:57.589Z","status":"ssl_error","status_checked_at":"2026-01-18T14:59:46.540Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aave","arbitrage","blockchain","flash-loan","smart-contracts","uniswap-v3"],"created_at":"2026-01-18T16:02:30.294Z","updated_at":"2026-01-18T16:02:30.430Z","avatar_url":"https://github.com/jorgejch.png","language":"TypeScript","funding_links":["https://github.com/sponsors/jorgejch"],"categories":[],"sub_categories":[],"readme":"# Another Flash-loan Arbitrage Bot (AFLAB)\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=jorgejch_dex-arbitrage\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=jorgejch_dex-arbitrage)\n[![codecov](https://codecov.io/gh/jorgejch/dex-arbitrage/graph/badge.svg?token=lA5UzK4rHI)](https://codecov.io/gh/jorgejch/dex-arbitrage)\n\n## What?\n\nAnother Flash-loan arbitrage bot that:\n\n- is low cost, works on Polygon;\n- uses AAVE for flash-loans;\n- performs swaps on Uniswap v3 (the DEX);\n- makes use of established patterns when they exist;\n- prefers open-source tools but does not shy away from freemium services.\n\n## Introduction\n\nDecentralized exchanges (DEXs) often exhibit price discrepancies due to the impact of large trades. This system aims to\ntake advantage of these discrepancies through flash loans, which allow borrowing large amounts of cryptocurrency without\ncollateral, provided the loan is repaid within the same transaction.\n\nKey features of this system include:\n\n- **Price Arbitrage**: Capitalize on price misalignment's between exchanges. Large trades can create imbalances in\n  liquidity pools, distorting prices and causing slippage.\n- **Smart Contract Relay**: Utilize a Solidity smart contract to act as a relay between the controller and the\n  exchanges, ensuring efficient and secure transactions.\n- **Modular and Extensible Design**: Built with a modular architecture, allowing for easy integration of additional\n  features and support for other exchanges.\n\n## Tech Stack\n\n- [Node.js](https://nodejs.org) - JavaScript runtime.\n- [TypeScript](https://www.typescriptlang.org) - Typed superset of JavaScript.\n- [Hardhat](https://hardhat.org) - Ethereum development environment.\n- [Alchemy](https://www.alchemy.com) - Ethereum node provider.\n- [Solidity](https://soliditylang.org) - A programming language for writing smart contracts.\n- [Uniswap v3](https://app.uniswap.org/) - Decentralized exchange on Binance Smart Chain.\n\n## Outline\n\n[Strategy](STRATEGY.md)\n\n## Resources\n\n- [Uniswap V3 Polygon Deployed Contracts](https://docs.uniswap.org/contracts/v3/reference/deployments/polygon-deployments)\n- [AAVE Resources and Addresses](https://aave.com/docs/resources/addresses)\n- [AAVE Error Codes](https://github.com/aave/aave-v3-core/blob/master/contracts/protocol/libraries/helpers/Errors.sol)\n\n## Getting Started\n\n### Prerequisites\n\nEnsure you have the following installed:\n\n- [Node.js](https://nodejs.org)\n- [npm](https://www.npmjs.com/)\n\nAdditionally, you will need:\n\n- An Ethereum wallet with sufficient funds to cover gas fees. You can create a new wallet using the script in the\n  `scripts` folder.\n- An account on [Alchemy](https://www.alchemy.com/) with a new project created to obtain the API key.\n- Deployed smart contracts on the Polygon network. The [Remix IDE](https://remix.ethereum.org/) is a good tool to\n  perform the deployment.\n\n### Installation\n\n1. Clone the repository:\n\n    ```sh\n    git clone https://github.com/jorgejch/dex-arbitrage.git\n    cd dex-arbitrage\n    ```\n\n2. Install dependencies:\n\n    ```sh\n    npm install\n    ```\n\n3. Set up environment variables: Create a `.env` file in the root directory and add your configuration as in the\n   `.env.example` file.\n\n### Usage\n\n1. Compile the TypeScript files:\n\n    ```sh\n    npm run build\n    ```\n\n2. Run the deployment script:\n\n    ```sh\n    npm run start\n    ```\n\n## Disclaimer\n\nThis repository is for educational and informational purposes only. It is not investment advice or a recommendation to\nbuy or sell any financial instrument. The information provided here should not be used as the basis for any investment\ndecision. Always conduct your own research and consult with a qualified financial advisor before making any investment\ndecisions. The authors and contributors are not responsible for any financial losses or damages incurred as a result of\nusing this software. The contents are subject to change without notice.\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorgejch%2Fdex-arbitrage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjorgejch%2Fdex-arbitrage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorgejch%2Fdex-arbitrage/lists"}