ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

Revenue Dashboard

Real-time revenue and portfolio dashboard — track crypto, freelance income, and services in one place.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/sa9saq/revenue-dashboard
Or

Revenue Dashboard

Track crypto holdings, freelance income, and service revenue from a single dashboard.

Requirements

  • Node.js 18+
  • No external API keys required (uses CoinGecko free tier for crypto prices)

Quick Start

cd {skill_dir}
npm install
npm run build
npm start -- --port 3020    # Production
# or
npm run dev                 # Development with hot reload

Open http://localhost:3020 in your browser.

API Endpoints

MethodEndpointDescription
GET/api/portfolioCurrent portfolio summary
GET/api/revenue?from=YYYY-MM-DD&to=YYYY-MM-DDRevenue by date range
POST/api/transactionsAdd a crypto transaction
GET/api/holdingsCurrent crypto holdings
POST/api/incomeRecord freelance/service income

Dashboard Sections

  1. Portfolio Overview — Total value, 24h change, allocation pie chart
  2. Revenue Timeline — Income over time (line/bar chart)
  3. Holdings Table — Individual asset performance
  4. Income Sources — Breakdown by source (crypto, freelance, services)

Configuration

VariableDefaultDescription
PORT3020Server port
DB_PATH./data/revenue.dbSQLite database path
COINGECKO_APIFree tier URLCoinGecko API base URL

Edge Cases & Troubleshooting

  • Port in use: Change port via PORT=3021 npm start or kill the existing process.
  • DB locked: SQLite doesn't support concurrent writes well. Ensure only one instance runs.
  • CoinGecko rate limit: Free tier ~30 req/min. Dashboard caches prices for 60s.
  • Missing data: API returns empty arrays (not errors) for date ranges with no entries.
  • First run: Database and tables are created automatically on first start.

Security

  • Dashboard binds to localhost by default. Use a reverse proxy (nginx) for public access.
  • No authentication built in — add basic auth or put behind a VPN for production use.
  • Never expose the SQLite file publicly.

Tech Stack

Next.js 14, shadcn/ui, Recharts, SQLite (better-sqlite3)

Metadata

Author@sa9saq
Stars1133
Views0
Updated2026-02-18
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-sa9saq-revenue-dashboard": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.