diff options
Diffstat (limited to 'docs/session-notes')
| -rw-r--r-- | docs/session-notes/2026-06-17_readonly-wallet-lookup.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/docs/session-notes/2026-06-17_readonly-wallet-lookup.md b/docs/session-notes/2026-06-17_readonly-wallet-lookup.md new file mode 100644 index 0000000..c387954 --- /dev/null +++ b/docs/session-notes/2026-06-17_readonly-wallet-lookup.md @@ -0,0 +1,45 @@ +# Read-Only Wallet Lookup — Session Notes + +**Date:** 2026-06-17 +**Goal:** Add read-only Hyperliquid wallet lookup for `0xA12b193832d401A1B5f738170631fD6547aF3C3F` — no private key needed. + +## What was done + +### 1. Backend endpoint (`/home/darkbot/ai/vaultmind-ai/backend/main.py`) +- Added `GET /wallet/{address}` — uses `hl_client.info` (no key required) +- Returns: `account_value`, `margin_used`, `withdrawable`, `positions[]` (coin, size, entry_px, pnl, market) +- Hardcoded `mainnet1` for the read-only endpoint (was hitting testnet) +- Cache: `Cache-Control: public, max-age=5` + +### 2. Nginx proxy +- Added `location /wallet/` → `http://127.0.0.1:8000/wallet/` +- **Bug:** The nginx config was corrupted — `/vmai/` block missing closing `}`, `/vmai-api/` nested inside it, 7 duplicate `/wallet/` blocks from repeated patch attempts. Rewrote the entire file cleanly. +- **Important:** `/etc/nginx/sites-enabled/webx11.duckdns.org` is a **regular file** (not a symlink to sites-available). Both files must be kept in sync. + +### 3. AI tool (`module-aiassist.js` + `core-bundle.js`) +- Added `wallet_lookup` tool: schema + handler + system prompt +- Usage: `ai show wallet 0xA12b...3C3F` +- Tool calls `GET /wallet/{address}` via `web_fetch` + +### 4. Stale `.pyc` fix +- `find /home/darkbot/ai/vaultmind-ai/ -name '*.pyc' -delete` after adding new route +- Without this, the running process doesn't see the new endpoint + +## Files changed +- `backend/main.py` — new `/wallet/{address}` route +- `module-aiassist.js` — `wallet_lookup` tool def + handler + system prompt +- `core-bundle.js` — same changes in bundled copy +- `/etc/nginx/sites-enabled/webx11.duckdns.org` — added `/wallet/` proxy +- `/etc/nginx/sites-available/webx11.duckdns.org` — synced + +## Verification +```bash +curl -s https://webx11.duckdns.org/wallet/0xA12b193832d401A1B5f738170631fD6547aF3C3F +``` +Returns: $11.67 equity, 4 positions (BTC, NEAR, FIL, TAO) + +## Key lessons +- Nginx sites-enabled is a regular file, not a symlink — edit both +- Stale `.pyc` hides new routes — always clear after adding endpoints +- Read-only Hyperliquid queries use `Info` class, no key needed +- The stored key (`0x0e80...055c`) controls a different wallet (`0x6cB4...1Aa2`, empty) — not the user's trading wallet |