A tiny macOS menu bar app for fast, keyboard-first access to DefiLlama Search.
Click the menu bar icon (or press ⌘⇧L) to open a compact popover, type a query, and press Enter to open the official project link in your default browser.
Important
This is an independent open-source client. It is not developed, maintained, or endorsed by DefiLlama.
If you found this project useful, then please consider giving it a ⭐ on GitHub and sharing it with your friends via social media. It helps to promote the project and attract more contributors.
- Lives in the macOS menu bar with no Dock icon
- Opens a native popover anchored near the tray icon
- Searches the public DefiLlama Search directory
- Navigates results with
↑/↓ - Opens the selected result in the default browser
- Remembers recent queries locally (up to 8)
- Pins search results and queries as favorites (up to 20), persisted in
localStorage - Shows Favorites above Recent searches when the field is empty
- Clears search history or favorites from the tray menu
- Starts at login on first launch of a packaged build (toggle from the tray menu)
- Opens an About window from the tray menu
- Tauri 2 for the native macOS shell
- React + TypeScript + Vite for the UI
- Tailwind CSS + selected shadcn/ui primitives (
Command,Separator) - Isolated search client in
src/lib/search - Vitest for unit tests
- macOS 10.15+
- pnpm 10
- Node.js 20+
- Rust 1.77.2+ (
rustup) - Xcode Command Line Tools
pnpm install
source "$HOME/.cargo/env"
pnpm tauri:devRust must be on your PATH. If cargo is missing in an already-open terminal, run source "$HOME/.cargo/env" or open a new tab.
pnpm dev starts the Vite UI only. Use pnpm tauri:dev for the real menu bar app.
| Script | Description |
|---|---|
tauri:dev |
Run the native menu bar app |
tauri:build |
Build the .app and .dmg |
dev |
Vite UI only (no tray or popover) |
build |
Type-check and build the frontend |
test |
Run Vitest |
typecheck |
tsc --noEmit |
lint |
ESLint |
format |
Prettier |
icons |
Regenerate app and tray icons from the SVG/PNG |
clean |
Remove dist, node_modules, Rust target, … |
check:fix |
Format, lint, type-check, and test |
pnpm tauri:buildThe .app and .dmg land in src-tauri/target/release/bundle/.
Keep package.json, src-tauri/tauri.conf.json, and src-tauri/Cargo.toml on the same version, then push a tag:
git tag v0.1.0
git push origin v0.1.0GitHub Actions builds a universal macOS DMG (Apple Silicon + Intel) and attaches it to the GitHub Release. The build is unsigned, so Gatekeeper will block the first launch. Click Done (not Move to Trash), then:
- Open System Settings → Privacy & Security
- Scroll to the message that DefiLlama Search was blocked
- Click Open Anyway, then confirm
| Shortcut | Action |
|---|---|
⌘⇧L |
Toggle the search popover |
↑ / ↓ |
Move the selected row |
Enter |
Open the selected result, or restore a pinned query |
Escape |
Clear the search field (popover stays open) |
| Click outside the popover | Hide the popover |
⌘W / Escape |
Close the About window |
The accelerator is defined once in src-tauri/src/window.rs (TOGGLE_SHORTCUT). During tauri dev, macOS may ask for Accessibility permission so the terminal can register ⌘⇧L.
Pin buttons on result and recent rows do not trigger the row action. Left-click the tray icon to toggle the popover.
Right-click the tray icon:
| Item | Action |
|---|---|
Open Search |
Show the popover (⌘⇧L) |
Clear Favorites |
Remove pinned items from localStorage |
Clear Search History |
Remove recent queries from localStorage |
Start at Login |
Toggle launch at login (checked when on) |
About DefiLlama Search |
Open the About window |
Quit |
Exit the app (⌘Q) |
This project is licensed under the MIT License - see the LICENSE file for details.


