Skip to content

Find the best crypto liquidity pools in the DeHunt mobile app

License

Notifications You must be signed in to change notification settings

delsummit/DeHunt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeHunt

DeFi Yield Hunting App for iOS

DeHunt is useful for Crypto Pool hunters/farmers. Built with SwiftUI and using latest iOS-dev technologies. That is the reason why minimal iOS deployment version is 26.0. DeHunt Networking is based on DefiLlama API, so I want to express my gratitude for providing a lot of useful data for free.

iOS Swift


Screenshots

Dashboard Strategies Yields

Features

Dashboard

  • Market Overview - Total DeFi TVL, top protocols, top chains with 24h changes
  • Interactive TVL Chart - 14-day historical data with touch selection and haptic feedback
  • Real-time Data - Fetched from DeFi Llama API

Strategies

  • Yield Pool Search - Find pools across 20 popular chains
  • Investment Amount Input - Calculate your profits easily, based on Pool APY and your investment amount
  • Advanced Filters:
    • Minimum APY slider
    • Minimum TVL (optional)
    • Multi-chain selection (Ethereum, Arbitrum, Base, Solana, etc.)

Search Results

  • Sortable Results - By APY or TVL (ascending/descending)
  • Pool Details - Project, chain, symbol, APY, TVL
  • Direct Links - Open pool on DeFi Llama

Tech Stack

Category Technology
UI Framework SwiftUI
Architecture MVVM + @Observable
Networking URLSession + async/await
Charts Swift Charts
Haptics CoreHaptics
Effects GlassEffect (iOS 26)
API DeFi Llama
Unit Tests XCTest
Reactivity Combine (Search)

Key Implementation Details

Modern Concurrency

// Parallel data loading with TaskGroup
func loadDashboardData() async {
    await withTaskGroup(of: Void.self) { group in
         group.addTask {
                await self.loadMetrics()
            }
            
            group.addTask {
                await self.loadHistoricalTVL()
            }
    }
}

Protocol-Oriented Networking

protocol DeFiAPIClientProtocol {
    func fetchProtocols() async throws -> [ProtocolsTVL]
    func fetchHistoricalTVL() async throws -> [HistoricalTVL]
    func fetchYieldPools() async throws -> [YieldPool]
}

Dependency Injection

final class DashboardViewModel {
    private let apiClient: DeFiAPIClientProtocol
    
    init(apiClient: DeFiAPIClientProtocol = DeFiAPIClient()) {
        self.apiClient = apiClient
    }
}

Skeleton Loading States

if viewModel.isLoadingMetrics {
    MarketOverviewCardSkeleton()
} else {
    MarketOverviewCard(metric: metric)
}

Installation

Requirements

  • Xcode 26.0+
  • iOS 26.0+
  • Swift 6.0+
git clone https://github.com/delsummit/DeHunt.git
cd DeHunt
open DeHunt.xcodeproj

API

DeHunt uses the free DeFi Llama API:

Endpoint Contains
/protocols List of all DeFi protocols with their TVL
/v2/historicalChainTvl Historical TVL data
yields.llama.fi/pools Yield pool data (TVL, APY, pool hash etc)

TODO

  • Implement Favourite pools and store them in SwiftData
  • Cache unrepeatable icons/data to optimise loading and networking
  • Create Firebase account and implement user database
  • more to come...

License

MIT License - see LICENSE for details.


Author

delsummit Rostyslav Mukoida


Powered by
DeFi Llama

About

Find the best crypto liquidity pools in the DeHunt mobile app

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages