---
name: fomo-trader
description: >-
  Buy, sell, and post thesis on a fomo.family account for Solana and Robinhood
  (EVM) tokens. Use when the user trades or posts thesis on FOMO. Run bundled
  fomo.mjs via execute_cli — never Bankr swap tools.
---

# fomo-trader

Headless FOMO: **buy**, **sell**, **thesis** on **Solana** + **Robinhood EVM**.

## Install (Bankr) — critical

Do **not** install from `https://gist.github.com/...` (that is a **1MB HTML page** and fails the 100KB skill limit).

Use the **raw SKILL** URL, then stage `fomo.mjs` beside it:

1. Install skill from:  
   `https://gist.githubusercontent.com/anondevv69/36af622a9bedd7142dbb5e46ea30694e/raw/SKILL.md`
2. In skill workdir, ensure CLI exists (write/stage from):  
   `https://gist.githubusercontent.com/anondevv69/37229a5933a1de117407995887a1f583/raw/fomo.mjs`  
   → save as `fomo.mjs`
3. Full docs + CLI package (same `fomo.mjs`):  
   `https://gist.githubusercontent.com/anondevv69/37229a5933a1de117407995887a1f583/raw/SKILL.md`  
   Never use `https://gist.github.com/...` HTML pages for install (≈1MB → fails 100KB limit).

`SKILL.md` alone ≈ 10KB. `fomo.mjs` ≈ 75KB (companion script, not the skill markdown).

## Run

```text
use_skill → workdir has fomo.mjs → execute_cli
FOMO="node fomo.mjs"
```

Every call:

```yaml
includeEnvVars: true
packages: [ethers@6.13.5, tweetnacl@1.0.3, "@solana/web3.js@1.98.4", undici@8.10.0, cycletls@2.0.5]
```

### Env

`FOMO_REFRESH_TOKEN` · `FOMO_PROXY_URL` · `FOMO_SOLANA_PRIVATE_KEY` · `FOMO_EVM_PRIVATE_KEY` · `RH_BUNDLER_PRIVATE_KEY`

### Wallets (only these)

- Solana: `AuT4BHSPnBmUHjaTxgUPD9aq9fXhyJG3kEVTC4RW2VnW`
- EVM: `0x48bBD51a3Eb41400A1EAB7B4eEA402cDcDbacd16`  
Never Bankr `0x374d…`. Never send ETH to `0x48bb…` (auto-wraps to WETH).

### Hard rules

- Only `$FOMO …` for FOMO money — never `smart_cross_chain_swap` / Bankr swap.
- Writes only on explicit user imperative in the **current** message.
- Never print secrets.

## Session

```bash
$FOMO auth && $FOMO balances && $FOMO gas-status
```

## Buy

| Chain | Command |
| --- | --- |
| Solana | `$FOMO swap buy <MINT> 1399811149 <USD>` |
| Robinhood (thesis) | `$FOMO swap buy 0xTOKEN 4663 <USD>` — Solana USDC via FOMO relay → **Bought** + tradeId |
| Robinhood (bag only) | `FOMO_DEX_AA=1 $FOMO dex-swap buy 0xTOKEN <USD>` — local DEX → **Received**, usually no thesis |

`FOMO_RH_BUY=auto` (default): try FOMO relay, else dex. `fomo` = relay only. `dex` = local only.

## Sell

| Chain | Command |
| --- | --- |
| Solana | `$FOMO swap sell <MINT> 1399811149 <RAW>` (raw digits, not `all`) |
| Robinhood | `FOMO_DEX_AA=1 $FOMO dex-swap sell 0xTOKEN all` |

## Thesis

```bash
$FOMO thesis <addr> <networkId> <text>     # needs FOMO trade UUID
$FOMO thesis-feed <addr> [networkId]      # read
$FOMO post-thesis <uuid> <text>           # if you have tradeId
$FOMO my-trades
```

networkId: Solana `1399811149`, Robinhood `4663`.

Solana fills and **FOMO-relay RH buys** (`swap buy … 4663`) usually get a tradeId. Local `dex-swap buy` often **don’t** — report error, don’t invent UUID.

```bash
# RH buy + thesis (indexed)
$FOMO swap buy 0xTOKEN 4663 5
$FOMO thesis 0xTOKEN 4663 meow

# Solana buy + thesis
$FOMO swap buy <MINT> 1399811149 5
$FOMO thesis <MINT> 1399811149 meow
```

## Other EVM (Base/BSC/Monad)

Quote OK; same-chain sign not wired. Say so unless FOMO returns `relaySwapId`.

## Failures

| Error | Fix |
| --- | --- |
| Skill >100KB / 1MB | You used gist **HTML** URL — use **raw/SKILL.md** |
| Module not found fomo.mjs | Stage companion raw `fomo.mjs` |
| Insufficient USDG + have WETH | Retry `dex-swap buy` |
| EntryPoint low | `$FOMO deposit-gas` → fund EntryPoint |
| Thesis UUID | Expected on many RH DEX fills |

## Done

Report: chain, wallet, command, `"ok": true` + path/tx, thesis id or exact failure, balances after.
