Skip to content

Repository files navigation

Dugout

One window for your Hyperliquid perps and your Polymarket predictions, with one net worth number.

Platform License Tauri

Safe by design

Dugout is read-only, by construction.

  • No keys. You paste public addresses. There is no private key, no seed phrase, and no signing prompt anywhere in the app.
  • No backend. Every request goes from your machine straight to the public Hyperliquid and Polymarket APIs. There is no Dugout server.
  • No telemetry. No analytics, no crash reporting, nothing phoning home.
  • Auditable in minutes. Every outbound network call lives in exactly two files: src/lib/hl.ts and src/lib/polymarket.ts. Read them and you have read the app's entire network surface.

See SECURITY.md for the full picture.

The problem

If you trade perps on Hyperliquid (or through Bullpen) and hold positions on Polymarket, your money lives in two tabs that know nothing about each other. Neither shows you the number you actually care about: what is everything worth right now, and does anything need your attention?

Dugout puts both venues in one desktop window. One total, per-venue breakdowns, and a plain-English "needs attention" row for the things that should not wait: winnings sitting unredeemed, perps drifting toward liquidation, markets about to resolve.

Features (v0.1)

  • One net worth number: Hyperliquid perps account value + spot balances + Polymarket position value, refreshed live.
  • Dashboard: per-venue summary cards and a needs-attention row that only appears when something is actually true (redeemable winnings, a perp within 15% of liquidation, a market resolving within 48 hours).
  • Perps tab: full positions table with entry, mark, liquidation price, distance to liquidation, leverage, and unrealized PnL. Sortable columns.
  • Predictions tab: positions sorted by resolution date, with a humanized countdown and a "Ready to redeem" group floated to the top. Click a row to open the market on polymarket.com.
  • Profiles: track multiple people or accounts, each with a Hyperliquid address, a Polymarket address, or both. Switch from the header.
  • Tray icon: left-click to show or hide the window.

Everything is stored locally (localStorage in the app's webview). Nothing leaves your machine except the API reads.

Install

v0.1 is build-from-source. Installers arrive with a later tag via GitHub Releases.

Prerequisites: Node 20+, Rust stable, and the Tauri 2 system dependencies for your OS.

git clone https://github.com/ramenxbt/dugout
cd dugout
npm install
npm run tauri:build

The bundle lands in src-tauri/target/release/bundle/. For development:

npm run tauri:dev

Architecture

src/
  lib/
    hl.ts            Hyperliquid info API client (all HL network calls)
    polymarket.ts    Polymarket data API client (all PM network calls)
    aggregate.ts     merges multi-wallet HL snapshots, values spot in USD
    derive.ts        shared derived values (liq distance, day PnL, redeemables)
    profiles.ts      profile storage and validation (localStorage)
    format.ts        number, currency, and countdown formatting
  hooks/
    useAggregateSnapshot.ts   polls Hyperliquid every 5s
    usePolymarket.ts          polls Polymarket every 15s
  components/        dashboard, perps, predictions, profiles, onboarding
src-tauri/           minimal Rust shell: one window plus a tray icon

The webview calls both public APIs directly. The Rust side does no networking at all.

Roadmap

  • v0.2: alerts and a menu-bar ticker mode
  • v0.3: trade analytics
  • v0.4: smart-money feed
  • v0.5: digests and exports

License

MIT

About

Desktop tracker for Bullpen and Hyperliquid: perps, spot, and prediction positions in one window

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages