{"id":27642580,"url":"https://github.com/decentri-fi/defi-hub","last_synced_at":"2025-04-23T23:56:49.786Z","repository":{"id":37836976,"uuid":"426174152","full_name":"decentri-fi/defi-hub","owner":"decentri-fi","description":"Open Source Decentralized Finance API - https://decentri.fi","archived":false,"fork":false,"pushed_at":"2025-04-22T08:50:48.000Z","size":41624,"stargazers_count":14,"open_issues_count":60,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-23T23:56:44.341Z","etag":null,"topics":["avalanche","binance-api","blockchain","cryptocurrency","defi","ethereum","polygon"],"latest_commit_sha":null,"homepage":"https://docs.decentri.fi","language":"Kotlin","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/decentri-fi.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2021-11-09T09:53:16.000Z","updated_at":"2025-04-22T08:50:53.000Z","dependencies_parsed_at":"2025-04-22T09:40:26.804Z","dependency_job_id":"cb60056f-84bc-47cd-8001-2ae4fa52f6a0","html_url":"https://github.com/decentri-fi/defi-hub","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentri-fi%2Fdefi-hub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentri-fi%2Fdefi-hub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentri-fi%2Fdefi-hub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentri-fi%2Fdefi-hub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/decentri-fi","download_url":"https://codeload.github.com/decentri-fi/defi-hub/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535050,"owners_count":21446506,"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":["avalanche","binance-api","blockchain","cryptocurrency","defi","ethereum","polygon"],"created_at":"2025-04-23T23:56:48.585Z","updated_at":"2025-04-23T23:56:49.770Z","avatar_url":"https://github.com/decentri-fi.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Decentrifi DeFi Hub\n\nA comprehensive API for indexing and querying DeFi-related data across multiple blockchain networks.\n\n## Overview\n\nDecentrifi DeFi Hub is a modular, multi-chain API that enables developers and applications to access standardized DeFi data including:\n\n- Token balances and prices\n- Market information (lending, farming, pooling)\n- Protocol statistics\n- Claimable rewards\n- On-chain events\n- NFT data\n- ENS resolution\n\nThe project supports multiple EVM-compatible blockchains and provides a unified interface for accessing DeFi data across these chains.\n\n## Supported Networks\n\n- Ethereum\n- Polygon\n- Polygon zkEVM\n- Arbitrum\n- Optimism\n- Base\n\n## Project Structure\n\nThe project is organized into several modules:\n\n- **defitrack-common**: Common utilities and shared functionality\n- **decentrifi-client**: Client libraries for consuming the API\n    - Balance client\n    - ERC20 client\n    - Price client\n    - Protocol client\n    - Event domain\n- **decentrifi-markets**: Market definitions and providers\n- **defitrack-blockchains**: Blockchain-specific implementations\n    - Ethereum\n    - Polygon\n    - Polygon zkEVM\n    - Arbitrum\n    - Optimism\n    - Base\n- **defitrack-protocol-contracts**: Contract integrations for various DeFi protocols\n- **defitrack-rest**: REST API endpoints\n    - Balance API\n    - ERC20 API\n    - Events API\n    - Claimables API\n    - Protocol Service API\n    - Price API\n    - ENS API\n    - NFT API\n    - Statistics API\n    - EVM API\n\n## Core Features\n\n### Price Tracking\nGet token prices across multiple networks with automatic fallbacks and cross-network alternatives for stable coins.\n\n```\nGET /{token-address}?network={network}\n```\n\n### Balance Tracking\nQuery token balances, native balances, and full portfolio data for any address.\n\n```\nGET /{user}/token-balances\nGET /{user}/native-balance\nGET /{user}/{token}?network={network}\n```\n\n### Market Data\nAccess standardized market data for:\n- Lending markets\n- Farming (staking) markets\n- Pooling markets (liquidity)\n- Borrowing markets\n\n```\nGET /markets?protocol={protocol}\u0026network={network}\n```\n\n### Position Tracking\nTrack user positions across different DeFi protocols.\n\n```\nGET /positions/{protocol}/{user}?network={network}\n```\n\n### Claimable Rewards\nDiscover claimable rewards and airdrops for any address.\n\n```\nGET /claimables/{user}\n```\n\n### Events\nDecode and analyze on-chain events.\n\n```\nGET /events/decode\n```\n\n### Statistics\nGet aggregate statistics about DeFi protocols.\n\n```\nGET /statistics/{protocol}/lending\nGET /statistics/{protocol}/farming\nGET /statistics/{protocol}/pooling\n```\n\n## Technology Stack\n\n- **Language**: Kotlin\n- **Framework**: Spring Boot 3.2.4\n- **Build Tool**: Maven\n- **Blockchain Integration**: Web3j 4.10.3\n- **Async Programming**: Kotlin Coroutines\n- **HTTP Client**: Ktor Client\n- **Caching**: Cache4k\n- **Documentation**: Swagger/OpenAPI\n- **Containerization**: Docker\n- **CI/CD**: Jenkins\n\n## Getting Started\n\n### Prerequisites\n- JDK 21\n- Maven 3.x\n- Docker (for containerized deployment)\n\n### Building the Project\n```bash\nmvn clean package\n```\n\n### Running the Application\n```bash\njava -jar defitrack-rest/defitrack-api-gw/target/defitrack-api-gw-0.0.1-SNAPSHOT.jar\n```\n\n### Docker Deployment\n```bash\ndocker build -t defitrack -f ci/Dockerfile .\ndocker run -p 8080:8080 defitrack\n```\n\n## API Documentation\n\nAPI documentation is available via Swagger UI when the application is running:\n\n```\nhttp://localhost:8080/swagger-ui.html\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\nPlease read our [Code of Conduct](CODE_OF_CONDUCT.md) before contributing to the project.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecentri-fi%2Fdefi-hub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdecentri-fi%2Fdefi-hub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecentri-fi%2Fdefi-hub/lists"}