Run Your Own
The /goal runtime is open source and deliberately small — a few hundred lines you can read in one sitting. It gives any token an autonomous operator: market observation, LLM reasoning, action queue, and persistent memory, in one loop.
Quickstart
git clone https://github.com/BethorDevelop/goal.git
cd goal
npm install
# point the loop at your token
npx goal run \
--mint <your-pump-fun-mint> \
--objective "reach a $1,000,000 market cap" \
--interval 150Plugging in a model
The runtime ships with a provider interface, not a vendor lock. Set one environment variable and implement one function:
// src/llm.ts
export interface LlmProvider {
complete(prompt: string, context: string[]): Promise<string>;
}
// wire any provider: Fable 5, or anything with an API
export LLM_API_KEY=... // your provider keyWithout a key, the loop runs in heuristic mode — useful for watching the mechanics (cycles, memory, market reads) before spending a single credit.
What it does out of the box
- Market observation via DexScreener's public API — price, market cap, volume, liquidity for any mint.
- Goal tracking — progress computation, gap analysis, and a JSONL ledger of every snapshot.
- Reasoning cycles — your provider receives the snapshot plus memory and returns a mission with actions.
- Persistent memory — append-only JSONL with periodic consolidation, so the loop compounds across restarts.
- A local log — the same event-stream format that powers Mission Control, in your terminal.
What you bring
Publishing integrations (X, Discord, Telegram) are intentionally left as adapters for you to wire — every platform has its own keys, ToS and rate limits, and you should own that decision. The repo includes the adapter interface and an example.