{"id":29049472,"url":"https://github.com/falleng0d/poe2-arbitrage-calculator","last_synced_at":"2025-06-26T19:37:42.716Z","repository":{"id":299613757,"uuid":"1003597534","full_name":"falleng0d/poe2-arbitrage-calculator","owner":"falleng0d","description":"Arbitrage calculator for Path of Exile 2 ","archived":false,"fork":false,"pushed_at":"2025-06-17T11:49:14.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-17T12:40:32.239Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/falleng0d.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2025-06-17T11:40:40.000Z","updated_at":"2025-06-17T11:49:18.000Z","dependencies_parsed_at":"2025-06-17T12:52:23.302Z","dependency_job_id":null,"html_url":"https://github.com/falleng0d/poe2-arbitrage-calculator","commit_stats":null,"previous_names":["falleng0d/poe2-arbitrage-calculator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/falleng0d/poe2-arbitrage-calculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/falleng0d%2Fpoe2-arbitrage-calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/falleng0d%2Fpoe2-arbitrage-calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/falleng0d%2Fpoe2-arbitrage-calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/falleng0d%2Fpoe2-arbitrage-calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/falleng0d","download_url":"https://codeload.github.com/falleng0d/poe2-arbitrage-calculator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/falleng0d%2Fpoe2-arbitrage-calculator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262133496,"owners_count":23264225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-06-26T19:37:41.941Z","updated_at":"2025-06-26T19:37:42.706Z","avatar_url":"https://github.com/falleng0d.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Path of Exile 2 Arbitrage Calculator\n\nA web-based arbitrage calculator designed for Path of Exile 2 currency trading. This tool helps players identify profitable trading opportunities by analyzing currency conversion rates and finding optimal trading paths.\n\n## 📁 Folder Structure\n\n```\narbitrage-calc/\n├── public/                     # Static assets\n├── src/\n│   ├── components/            # React components\n│   │   ├── app/              # Application-specific components\n│   │   │   ├── IconDisplay.tsx\n│   │   │   ├── IconPicker.tsx\n│   │   │   └── iconConstants.ts\n│   │   ├── ui/               # Reusable UI components (shadcn/ui)\n│   │   ├── ArbitrageDashboard.tsx\n│   │   ├── CurrencyManagement.tsx\n│   │   ├── Navigation.tsx\n│   │   └── RateConfiguration.tsx\n│   ├── hooks/                # Custom React hooks\n│   ├── lib/                  # Utility libraries\n│   ├── types/                # TypeScript type definitions\n│   ├── utils/                # Utility functions and helpers\n│   │   ├── arbitrage.ts      # Core arbitrage calculation logic\n│   │   └── storage.ts        # Local storage management\n│   ├── App.tsx               # Main application component\n│   ├── main.tsx              # Application entry point\n│   └── index.css             # Global styles\n├── components.json           # shadcn/ui configuration\n├── package.json              # Dependencies and scripts\n├── tailwind.config.js        # Tailwind CSS configuration\n├── tsconfig.json             # TypeScript configuration\n└── vite.config.ts            # Vite build configuration\n```\n\n## 🛠️ Main Dependencies and Technologies\n\n### Core Technologies\n- **React** - Frontend library for building user interfaces\n- **TypeScript** - Type-safe JavaScript superset\n- **Vite** - Fast build tool and development server\n- **React Router DOM** - Client-side routing\n\n### UI Framework \u0026 Styling\n- **Tailwind CSS** - Utility-first CSS framework\n- **Radix UI** - Low-level UI primitives for React\n- **shadcn/ui** - Pre-built component library based on Radix UI\n- **Lucide React** - Icon library\n\n### Form Management \u0026 Validation\n- **React Hook Form** - Form handling with minimal re-renders\n- **Zod** - Schema validation library\n- **Hookform Resolvers** - Form validation integration\n\n### Development Tools\n- **ESLint** - Code linting and style enforcement\n- **Vitest** - Unit testing framework\n\n## ✨ Main Features\n\n### 🏦 Currency Management\n- **Add Custom Currencies**: Create and manage Path of Exile 2 currencies with custom icons and gold cost values\n- **Icon System**: Choose from a variety of predefined icons or use custom icons for currencies\n- **Currency Validation**: Ensure all currencies have valid names and gold cost values\n- **Bulk Operations**: Edit, update, and delete currencies with persistent storage\n\n### ⚖️ Rate Configuration\n- **Interactive Rate Input**: Configure conversion rates between any two currencies\n- **Bidirectional Rates**: Set up both directions of currency conversion (A→B and B→A)\n- **Rate Validation**: Real-time validation of conversion rates with visual feedback\n- **Quantity-Based Input**: Input rates using specific quantity ratios (e.g., 5 Currency A = 3 Currency B)\n- **Rate Statistics**: View total valid rates and possible rate combinations\n\n![rates.png](images/rates.png)\n\n### 📊 Arbitrage Dashboard\n- **Opportunity Detection**: Automatically identify profitable 3-way arbitrage opportunities\n- **Smart Filtering**: Filter opportunities by:\n  - Currency search (find opportunities involving specific currencies)\n  - Risk level (low, medium, high)\n  - Profit thresholds\n  - Confidence scores\n- **Sorting Options**: Sort opportunities by profit, risk, or confidence\n- **Detailed Analysis**: View complete trading paths with:\n  - Step-by-step conversion quantities\n  - Profit calculations\n  - Risk assessments\n  - Gold cost analysis\n  - Confidence scores\n\n![opportunities.png](images/opportunities.png)\n\n### 🎯 Trading Path Optimization\n- **Multi-Step Calculations**: Calculate optimal quantities for complex trading chains\n- **Precision Control**: Adjustable precision settings for quantity calculations\n- **Gold Cost Analysis**: Factor in gold costs for each currency transaction\n- **Risk Assessment**: Evaluate risk scores based on profit margins and rate volatility\n\n### 💾 Data Persistence\n- **Local Storage**: All currencies and rates are automatically saved to browser storage\n- **Data Integrity**: Automatic cleanup of invalid rates when currencies are deleted\n- **Session Recovery**: Restore previous work when returning to the application\n\n### 🎨 User Experience\n- **Modern UI**: Clean, responsive design with dark/light theme support\n- **Real-time Updates**: Instant recalculation of opportunities when rates change\n- **Visual Feedback**: Color-coded risk indicators and profit highlights\n- **Mobile Responsive**: Optimized for desktop and mobile usage\n- **Intuitive Navigation**: Clean navigation between different sections\n\n### 🔧 Advanced Features\n- **Rate Matrix Building**: Efficient internal representation of currency conversion rates\n- **Cycle Detection**: Identifies profitable circular trading paths\n- **Confidence Scoring**: Algorithmic confidence assessment based on market conditions\n- **Performance Optimization**: Memoized calculations for smooth user experience\n\n## 🚀 Getting Started\n\n1. **Install Dependencies**\n   ```bash\n   npm install\n   ```\n\n2. **Start Development Server**\n   ```bash\n   npm run dev\n   ```\n\n3. **Build for Production**\n   ```bash\n   npm run build\n   ```\n\n4. **Run Tests**\n   ```bash\n   npm run test\n   ```\n\n## 📈 How It Works\n\n1. **Setup Currencies**: Add the Path of Exile 2 currencies you want to trade\n2. **Configure Rates**: Input the current market conversion rates between currencies  \n3. **Find Opportunities**: The calculator automatically identifies profitable arbitrage paths\n4. **Execute Trades**: Follow the recommended trading sequence to maximize profits\n\nThe calculator uses advanced algorithms to detect triangular arbitrage opportunities, where you can profit by converting through a chain of currencies and ending up with more of your starting currency than you began with.\n\n## Author\n\nMateus Junior ([juniormateusknd@gmail.com](mailto:juniormateusknd@gmail.com))\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalleng0d%2Fpoe2-arbitrage-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffalleng0d%2Fpoe2-arbitrage-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalleng0d%2Fpoe2-arbitrage-calculator/lists"}