DeFi Dashboard
Skill #62 | Category: DeFi | Inspired by: Zapper, DeBank, Zerion
A comprehensive DeFi portfolio dashboard that aggregates all your positions across chains and protocols in one unified view.
Features
Portfolio Aggregation
- Multi-chain support: Ethereum, Polygon, Arbitrum, Optimism, BSC, Avalanche, Base, zkSync
- Auto-discovery: Scans wallets for all positions automatically
- Real-time updates: WebSocket feeds for live price/position changes
Position Tracking
| Position Type |
Tracked Data |
| Tokens |
Balance, USD value, 24h change |
| LP Positions |
Pool tokens, underlying assets, fees earned |
| Staking |
Staked amount, rewards accrued, APY |
| Lending |
Supplied, borrowed, health factor |
| Yield Farming |
Deposited, rewards, ROI |
| NFTs |
Collection, floor price, rarity |
| Vesting |
Unlocked, claimable, schedule |
Protocol Support
- DEXs: Uniswap, SushiSwap, Curve, Balancer, PancakeSwap
- Lending: Aave, Compound, MakerDAO, Venus
- Yield: Yearn, Convex, Beefy, Harvest
- Staking: Lido, Rocket Pool, Frax
- Derivatives: GMX, dYdX, Perpetual Protocol
Analytics
- Net worth tracking over time
- P&L by position/protocol/chain
- Impermanent loss calculator
- Gas spent tracker
- Portfolio allocation charts
- Historical performance
Activity Feed (Zapper-style)
- Real-time on-chain activity
- Swaps, transfers, approvals, contract interactions
- Human-readable transaction descriptions
- Filter by type, protocol, value
Alerts
- Price alerts for any token
- Health factor warnings for lending
- IL threshold alerts for LPs
- Whale activity notifications
- New airdrop eligibility
Configuration
# kit.yaml
skills:
- defi-dashboard
defi-dashboard:
wallets:
- address: "0x..."
label: "Main Wallet"
chains: [ethereum, polygon, arbitrum]
- address: "0x..."
label: "DeFi Wallet"
chains: all
updateInterval: 60 # seconds
alerts:
healthFactor:
enabled: true
threshold: 1.5
impermanentLoss:
enabled: true
threshold: 5 # percent
largeTransfer:
enabled: true
minValue: 10000 # USD
display:
currency: USD
showNFTs: true
showDust: false # hide <$1 positions
groupBy: protocol # protocol | chain | type
Usage
CLI Commands
# View full dashboard
kit defi status
# Specific wallet
kit defi status --wallet 0x...
# Single chain
kit defi status --chain ethereum
# Activity feed
kit defi activity --limit 50
# Export for taxes
kit defi export --year 2025 --format csv
# Check health factors
kit defi health
# Find claimable rewards
kit defi claimable
API Endpoints
GET /api/defi/portfolio/:wallet
GET /api/defi/positions/:wallet/:chain
GET /api/defi/activity/:wallet?limit=50
GET /api/defi/health/:wallet
GET /api/defi/claimable/:wallet
GET /api/defi/history/:wallet?days=30
POST /api/defi/alerts
GET /api/defi/gas-tracker
Programmatic Access
import { DeFiDashboard } from 'kit-trading/skills/defi-dashboard';
const dashboard = new DeFiDashboard({
wallets: ['0x...', '0x...'],
chains: ['ethereum', 'polygon', 'arbitrum']
});
// Get full portfolio
const portfolio = await dashboard.getPortfolio();
console.log(`Net Worth: $${portfolio.netWorth}`);
// Check positions
for (const pos of portfolio.positions) {
console.log(`${pos.protocol}: ${pos.type} - $${pos.valueUsd}`);
}
// Watch for changes
dashboard.on('positionChange', (change) => {
console.log(`${change.type}: ${change.delta}`);
});
// Get activity feed
const activity = await dashboard.getActivity({ limit: 20 });
Dashboard UI
Access at http://localhost:3000/defi when K.I.T. dashboard is running.
Views
- Overview: Net worth, allocation pie chart, top positions
- Positions: Detailed list by protocol/chain/type
- Activity: Real-time feed with filters
- Analytics: Charts, P&L, performance metrics
- Alerts: Manage price/health alerts
Comparison
| Feature |
Zapper |
DeBank |
Zerion |
K.I.T. |
| Multi-chain |
11 |
50+ |
10 |
8+ |
| Activity feed |
✅ |
✅ |
✅ |
✅ |
| Alerts |
Limited |
❌ |
✅ |
✅ Full |
| AI insights |
❌ |
❌ |
❌ |
✅ |
| Tax export |
❌ |
❌ |
❌ |
✅ |
| Self-hosted |
❌ |
❌ |
❌ |
✅ |
| API access |
Paid |
Limited |
Paid |
✅ Free |
| Privacy |
Tracked |
Tracked |
Tracked |
✅ Local |
Data Sources
- On-chain data: Alchemy, Infura, public RPCs
- Token prices: CoinGecko, CoinMarketCap, DEX prices
- Protocol data: Direct contract reads, The Graph
- NFT data: OpenSea, Reservoir
Privacy
All data is fetched directly from blockchain. No third-party tracking. Your wallet addresses stay on your machine.
1---2name: defi-dashboard3description: DeFi Dashboard4---5# DeFi Dashboard67**Skill #62** | **Category:** DeFi | **Inspired by:** Zapper, DeBank, Zerion89A comprehensive DeFi portfolio dashboard that aggregates all your positions across chains and protocols in one unified view.1011## Features1213### Portfolio Aggregation14- **Multi-chain support**: Ethereum, Polygon, Arbitrum, Optimism, BSC, Avalanche, Base, zkSync15- **Auto-discovery**: Scans wallets for all positions automatically16- **Real-time updates**: WebSocket feeds for live price/position changes1718### Position Tracking19| Position Type | Tracked Data |20|---------------|--------------|21| Tokens | Balance, USD value, 24h change |22| LP Positions | Pool tokens, underlying assets, fees earned |23| Staking | Staked amount, rewards accrued, APY |24| Lending | Supplied, borrowed, health factor |25| Yield Farming | Deposited, rewards, ROI |26| NFTs | Collection, floor price, rarity |27| Vesting | Unlocked, claimable, schedule |2829### Protocol Support30- **DEXs**: Uniswap, SushiSwap, Curve, Balancer, PancakeSwap31- **Lending**: Aave, Compound, MakerDAO, Venus32- **Yield**: Yearn, Convex, Beefy, Harvest33- **Staking**: Lido, Rocket Pool, Frax34- **Derivatives**: GMX, dYdX, Perpetual Protocol3536### Analytics37- Net worth tracking over time38- P&L by position/protocol/chain39- Impermanent loss calculator40- Gas spent tracker41- Portfolio allocation charts42- Historical performance4344### Activity Feed (Zapper-style)45- Real-time on-chain activity46- Swaps, transfers, approvals, contract interactions47- Human-readable transaction descriptions48- Filter by type, protocol, value4950### Alerts51- Price alerts for any token52- Health factor warnings for lending53- IL threshold alerts for LPs54- Whale activity notifications55- New airdrop eligibility5657## Configuration5859```yaml60# kit.yaml61skills:62 - defi-dashboard6364defi-dashboard:65 wallets:66 - address: "0x..."67 label: "Main Wallet"68 chains: [ethereum, polygon, arbitrum]69 - address: "0x..."70 label: "DeFi Wallet"71 chains: all72 73 updateInterval: 60 # seconds74 75 alerts:76 healthFactor:77 enabled: true78 threshold: 1.579 impermanentLoss:80 enabled: true81 threshold: 5 # percent82 largeTransfer:83 enabled: true84 minValue: 10000 # USD85 86 display:87 currency: USD88 showNFTs: true89 showDust: false # hide <$1 positions90 groupBy: protocol # protocol | chain | type91```9293## Usage9495### CLI Commands9697```bash98# View full dashboard99kit defi status100101# Specific wallet102kit defi status --wallet 0x...103104# Single chain105kit defi status --chain ethereum106107# Activity feed108kit defi activity --limit 50109110# Export for taxes111kit defi export --year 2025 --format csv112113# Check health factors114kit defi health115116# Find claimable rewards117kit defi claimable118```119120### API Endpoints121122```123GET /api/defi/portfolio/:wallet124GET /api/defi/positions/:wallet/:chain125GET /api/defi/activity/:wallet?limit=50126GET /api/defi/health/:wallet127GET /api/defi/claimable/:wallet128GET /api/defi/history/:wallet?days=30129POST /api/defi/alerts130GET /api/defi/gas-tracker131```132133### Programmatic Access134135```typescript136import { DeFiDashboard } from 'kit-trading/skills/defi-dashboard';137138const dashboard = new DeFiDashboard({139 wallets: ['0x...', '0x...'],140 chains: ['ethereum', 'polygon', 'arbitrum']141});142143// Get full portfolio144const portfolio = await dashboard.getPortfolio();145console.log(`Net Worth: $${portfolio.netWorth}`);146147// Check positions148for (const pos of portfolio.positions) {149 console.log(`${pos.protocol}: ${pos.type} - $${pos.valueUsd}`);150}151152// Watch for changes153dashboard.on('positionChange', (change) => {154 console.log(`${change.type}: ${change.delta}`);155});156157// Get activity feed158const activity = await dashboard.getActivity({ limit: 20 });159```160161## Dashboard UI162163Access at `http://localhost:3000/defi` when K.I.T. dashboard is running.164165### Views166- **Overview**: Net worth, allocation pie chart, top positions167- **Positions**: Detailed list by protocol/chain/type168- **Activity**: Real-time feed with filters169- **Analytics**: Charts, P&L, performance metrics170- **Alerts**: Manage price/health alerts171172## Comparison173174| Feature | Zapper | DeBank | Zerion | K.I.T. |175|---------|--------|--------|--------|--------|176| Multi-chain | 11 | 50+ | 10 | 8+ |177| Activity feed | ✅ | ✅ | ✅ | ✅ |178| Alerts | Limited | ❌ | ✅ | ✅ Full |179| AI insights | ❌ | ❌ | ❌ | ✅ |180| Tax export | ❌ | ❌ | ❌ | ✅ |181| Self-hosted | ❌ | ❌ | ❌ | ✅ |182| API access | Paid | Limited | Paid | ✅ Free |183| Privacy | Tracked | Tracked | Tracked | ✅ Local |184185## Data Sources186187- On-chain data: Alchemy, Infura, public RPCs188- Token prices: CoinGecko, CoinMarketCap, DEX prices189- Protocol data: Direct contract reads, The Graph190- NFT data: OpenSea, Reservoir191192## Privacy193194All data is fetched directly from blockchain. No third-party tracking. Your wallet addresses stay on your machine.