# [REDACTED_PHONE]

## Mitch (outperformed / mmorgan01)
- Full name: Mitch Morgan (mmorgan01@Mac username)
- Discord: outperformed (ID [REDACTED_PHONE])
- Set up his own OpenClaw instance ("Nova") on Hetzner CPX21 ([REDACTED_PHONE]) in Ashburn VA
- Discord bot name: OpenClaw (he wants to call it Nova, mention pattern configured)
- Running Opus 4-6, Anthropic Tier 1→2 (deposited $50 API credits)
- SSH shortcut: `ssh nova` configured on his Mac
- Server: root@[REDACTED_PHONE], Ubuntu 24.04, OpenClaw [REDACTED_PHONE]
- Tools enabled: full exec, read, write, edit, browser, web_search, web_fetch, etc.
- GitHub: mitchm11 — has access to Merit-Systems repos, needs PAT configured on Nova server
- Had rate limit issues on Opus (Tier 1), resolved by depositing $50

## Content Work with Mitch
- Created tweet ideas file in agentic-cash-content repo (filtered to Mitch's top picks)
- Created posted/log.md content tracker with "Ready to Post" and "Posted" sections
- Created Seedance 2.0 video prompts:
  1. OpenClaw coin slot / API door video (scripts/openclaw-coin-slot-v1.md) — DONE
  2. Fat Merit office sitcom "$4.20" video (scripts/fat-office-budget-v1.md) — DONE
  3. RAAD padel lead gen video — DONE (Sam should post)
- Seedance tips learned:
  - Face detection filter triggered by multiple photorealistic face refs — workaround: combine into one group shot
  - "did not pass review" = output flagged, not input — avoid specific dollar amounts and text generation
  - Max prompt: 1800 chars, max clip: 15 seconds, chain clips via last-frame-to-first-frame
  - Content filter avoidance: avoid "drenched in sweat", "veins popping", "unhinged rage", "EXPLODES"
- Busker tipping script v2 in progress — updated to reference OpenClaw + AgentCash (renamed from x402scan-mcp)
- Discussed x402 tip claim page with bank account redemption option (Bridge.xyz for USDC→bank offramp)
- AgentCash = new name for x402scan-mcp

## Nova Setup Progress (late night session)
- Manual setup wizard nearly complete: local gateway, Anthropic provider, Opus 4-6, loopback, token auth, Tailscale off, Discord configured (open - all channels)
- Still needs: finish wizard, invite bot to Mitch's Discord server (OAuth2 URL), set up personality files (SOUL.md), start gateway, test
- Mitch's Discord server is private — only his close immediate team has access
- Mitch sent an image in #craig-mitch channel (34a3a420...) — not yet analyzed

## Repo Updates
- agentic-cash-content/tweets/agent-quick-tweets.md — Mitch's filtered top picks
- agentic-cash-content/posted/log.md — content tracking (ready to post + posted)
- agentic-cash-content/scripts/openclaw-coin-slot-v1.md — coin slot video script
- agentic-cash-content/scripts/fat-office-budget-v1.md — fat office video script (all 4 clips)

## Ryan Work Session (manhog + agentcash CORS)

### manual-hog (manhog) Dashboard PRs
- **PR #19** (merged): Sessions chart → stacked bar by `x_client_id`. Wallet addresses (0x...) collapsed to "agentcash", null/empty to "other". PR also added `client_id` to sessions API query.
- **PR #20** (merged): Tool Calls chart → stacked bar by `x_client_id` (was line chart). Same client bucketing. Initially tried stacked area — Ryan said it looked terrible, switched to bars.
- **PR #21** (merged): Renamed labels — 0x wallets → "misconfigured", null/empty/undefined → "unknown".
- Shared deterministic color assignment: `lib/chart-colors.ts` sorts client IDs alphabetically so both charts use same colors. Parent page builds one `sharedChartConfig` via `useMemo` and passes to both components.
- **Bug fix**: Had `useMemo` after early returns (loading/error) — React error #310 "rendered more hooks than previous render". Moved before early returns.
- Partner/user detail pages keep simple (non-stacked) charts — backwards compatible.

### agentcash X-Client-ID Bug
- **PR #74** (merged): `packages/external/mcp/src/server/tools/fetch.ts` line 118: `flags.provider ?? account.address` — when `--provider` flag not set, wallet address used as X-Client-ID. Fixed to `flags.provider ?? \`agentcash@\${MCP_VERSION}\``. Same fix in `cli/commands/fetch.ts`. Added changeset.

### agentcash CORS / Send Endpoint Saga
- **Root cause**: agentcash.dev deposit calls x402scan.com/api/send. Multiple CORS issues:
  1. `www.x402scan.com` vs `x402scan.com` — Vercel redirects non-www → www with 307, redirect has no CORS headers
  2. x402scan's x402 proxy (proxy.ts, formerly middleware.ts renamed in Next 16 migration) returns 402 payment-required without CORS headers
  3. Coinbase embedded wallet SDK only allowlists `agentcash.dev`, not Vercel preview domains
- **PR #648 on x402scan**: Added CORS headers to all proxy response paths (402, 400, settlement, pass-through)
- **PR #75** (merged): Moved `/api/send` into agentcash itself. First attempt used middleware (edge runtime can't run @x402/core/server → 500). Then used `@coinbase/x402` facilitator but still had issues.
- **PR #76** (open): Clean version — `x402HTTPResourceServer` in route handler with `@coinbase/x402` facilitator. Same pattern as x402scan's proxy.ts. No middleware.
- **Key insight**: Router (`@agentcash/router`) can't handle send route because `payTo` is dynamic (recipient address from query params, not service's `payeeAddress`). Opened **router PR #62** to add `payTo` option to `.paid()`.
- Ryan wants the router pattern (like the-stables/stableenrich) but it doesn't support dynamic payTo yet.

### Git Email Fix
- **PR #24** (CraigClaw): Changed git email from `[REDACTED_EMAIL]` to `[REDACTED_PHONE]+craigbidenbot[bot]@users.noreply.github.com`. Old email wasn't tied to GitHub account → Vercel skipped deploys. Updated `deploy/setup.sh` and global git config.
- Force-pushed open PRs with new author to fix.

### Ryan Feedback
- "Too verbose" — respond in 1 message not several consecutive. Be more concise.
- When PRs get merged, need to make new PRs off latest master (don't push to merged branches).
- Token expiry: GH_TOKEN expired mid-session, had to refresh and reset remote URLs.