Claude Code Handoff — EdgeClaw VPS

Last updated: 2026-04-01 For: New Claude Code instances connecting to the Oracle VPS


Quick Start

# SSH into the VPS
ssh -i ~/.ssh/oracle_key.pem ubuntu@64.181.198.130

# Start Claude Code
cd /home/ubuntu/edgeclaw
claude

Everything you need (CLAUDE.md, memory, MCP config, settings) is already on the server. Just SSH in and run claude.


Server Access

Field Value
Host 64.181.198.130
User ubuntu
Auth SSH key (~/.ssh/oracle_key.pem on your PC)
OS Ubuntu 22.04 ARM/aarch64
Specs 4 OCPUs, 23GB RAM, 194GB disk
No sudo Password was never set (SSH key only)

What Lives Here

EdgeClaw (/home/ubuntu/edgeclaw/)

The main project. TypeScript + Hono server running on port 8080. Caddy reverse proxy on 443 (domain: edge-assist.duckdns.org).

Key commands:

What EdgeClaw Does

Databases

All SQLite, stored in /home/ubuntu/edgeclaw/data/db/:


Other Services on This Server

Telegram Bot Bridges (all systemd user services)

Bot Service Purpose
@Claude2107Bot claude-bridge Boss talks to Claude Code via Telegram
@EdgeTechSupportBot claude-techsupport Claude tech support channel
@GGAnalystBot gemini-bridge Gemini analyst
@GGTechSupportBot gemini-techsupport Gemini tech support
@ClaudeAnalystBot claude-analyst Claude analyst

All run as systemctl --user services. Do NOT interfere with them.

Discord Bots

5 Discord bots (edge, techsupport, analyst for both Claude and Gemini). Same systemctl --user pattern.

EcoCell (/home/ubuntu/ecocell/)

Phone resale business platform on port 3100. Has its own MCP server at /home/ubuntu/ecocell-mcp/.

VidStrip (/home/ubuntu/vidstrip/)

Video metadata stripping app on port 3000.


Boss Communication Rules

  1. Boss is NOT a developer. Explain everything in plain language. No jargon.
  2. NO CODING WITHOUT PERMISSION. Discuss approach first, code only when told.
  3. Short answers. He reads on iPhone (Termius) — can't scroll well.
  4. He uses Telegram to talk to EdgeClaw, and Termius/Telegram bridges to talk to you.

Current Work (as of 2026-04-01)

Player Prop Edge Scanner — Just Fixed

Edge Scanner Display Pages

Council System

Pending Items


Key Files Reference

File Purpose
CLAUDE.md Auto-loaded by Claude Code — all project context
DESK-MASTER-SHEET.md All 19 desks, their status, models, schedules
src/pipeline/data-status.ts Dashboard + all data viewer pages (~5400 lines)
src/pipeline/data/scrapers/prop-edge-scanner.ts Player prop edge scanner
src/pipeline/data/scrapers/player-name-match.ts FanDuel↔Kalshi player matching
src/pipeline/sports/edge-scanner.ts Game totals/spreads edge scanner
src/core/agent.ts Main EdgeClaw AI agent
src/core/council.ts Council system
src/config.ts All env config
docs/council-spec.md Council process spec
docs/edge-scanner-display-spec.md Edge page display spec

API Keys (all in .env on the server)

Service Key Location
xAI/Grok .envXAI_API_KEY
The Odds API .envODDS_API_KEY
Kalshi .envKALSHI_API_KEY_ID + RSA key
Groq (free Whisper) .envGROQ_API_KEY
Gemini Cloudflare proxy (Oracle geo-blocks Google)
Claude/Anthropic Subscription (not API)

Memory System

Claude Code memory: /home/ubuntu/.claude/projects/-home-ubuntu/memory/

EdgeClaw memory: data/db/memory-tiered.db (separate system, don't touch)


Shared Folder (/home/ubuntu/shared/)

Drop zone between EdgeClaw and Claude Code:


Startup Checklist

Every new session, immediately:

  1. ls /home/ubuntu/shared/proposals/ — check for pending proposals
  2. Read CLAUDE.md if context is needed
  3. Check memory files if the boss references prior work
Source: ~/edgeclaw/docs/claude-code-handoff.md