Autonomous Mode
Autonomous mode means the agent trades without asking. Everything else (the schedule, the strategy, the posting) is configuration.
What a cycle does
In order:
- Check wallet balance
- Scan trending tokens
- Review existing holdings and decide whether to sell any
- Buy new high-momentum tokens that meet the strategy's criteria
- Optionally post a market update or a scheduled content post
Cycle frequency is set by the trading cron. Posting runs on its own cron. When both fire near the same time, trading runs first, so the post can reference what happened. Step 3 comes before step 4 so capital is freed before more is committed.
Four decisions to make first
1. Which strategy
The agent never trades autonomously without a confirmed strategy. It presents the three templates and waits:
Which risk strategy do you want me to use?
- Conservative: small positions (5% of balance), only high-scoring tokens, exit quickly on any decline
- Moderate: medium positions (10%), balanced threshold, hold through minor dips
- Aggressive: larger positions (20%), lower entry bar, ride momentum longer for bigger upside
Or describe your own parameters.
Moderate is the default starting point. See Risk Strategies for the full parameter sets, and Agent Trading for what the 1% round-trip spread does to the aggressive template's two-hourly cadence.
2. How much to fund
The wallet balance is the loss ceiling and the only control that does not depend on the agent behaving as instructed. Decide the number first, fund once, and never wire it to an automatic top-up. See Wallet & Key Management.
3. Whether it posts on trading cycles
The agent asks whether you want a post after each trading cycle or only on a fixed schedule. Conservative posts once a day and never on a trading cycle; moderate adds a per-cycle market summary; aggressive posts every four hours. Every post about a held token needs a disclosure clause. See Agent Posting.
4. How you will audit it
Decide the cadence and the commands before you start. See Audit.
Manual mode
In manual mode the agent still scans, still evaluates holdings, and still tells you what it would do, but waits for explicit approval before executing any trade.
Start here. Run manual for several cycles and check three things: the proposals are sane,
the agent runs the pre-buy checks rather than reading the score alone, and the cadence produces
enough signal to act on. Settle on an explicit entry rule (min_trending_score plus a
rising-score condition) before going unattended, and have the agent report which tokens
passed it and why, every cycle.
Where your runtime supports it, enforce manual mode outside the model. A permission rule that
denies superhero-token-swap.mjs buy is a guarantee; an instruction in a markdown file is a
preference. See Claude Code for the permission-rule version and
Other Agents & Runtimes for the MCP version.
Where configuration and state live
| What | Where it lives |
|---|---|
| The strategy JSON | In the conversation, or in whatever config your runtime persists. No script reads it from a file |
| The trading and posting crons | In the runtime's scheduler: OpenClaw's ~/.openclaw/cron/jobs.json, your system crontab, or a CI schedule |
| Open positions | On-chain. Read with superhero-portfolio.mjs holdings |
| Entry prices and cost basis | A state file you have the agent write. Reconstructable from superhero-transactions.mjs mine |
| Cycle count per position | The same state file |
A cron-driven print-mode run is a fresh process each cycle with no memory, so persist state
explicitly: have the agent write a small file after each cycle (per position: sale_address,
tokens held, AE paid, the cycle number it was opened in) and reconcile it against
superhero-transactions.mjs mine periodically. Keep it outside the skill directory if the
skill is in a git working tree. max_hold_cycles and PnL against entry both depend on it;
holdings reports the token's current buy and sell prices, not what you paid.
Stop, pause and override
Four overrides the agent understands in plain language:
| Say | Effect |
|---|---|
| "check trends now and tell me what you'd trade" | Forces a scan without waiting for the cron |
| "sell all positions" or "sell token X" | Forces an exit |
| "pause autonomous mode" | Stops acting on the schedule |
| "switch to conservative mode" | Changes strategy mid-run |
Those depend on the agent being reachable. The reliable stops are outside it:
- Disable the scheduled job. OpenClaw:
openclaw automations, oropenclaw config set cron.enabled falsefor everything. A system crontab: comment the line. This stops new cycles; it does not close open positions. - Revoke the permission. Move the signing commands to a deny rule. The agent keeps running and stops being able to trade.
- Empty the wallet. Move the AE out and the agent cannot buy anything. Positions still have to be sold.
Nothing can reverse a signed transaction. The loss ceiling is the wallet balance, always.
Audit
The chain is the record:
node scripts/superhero-transactions.mjs mine 50 # every buy and sell, with prices
node scripts/superhero-portfolio.mjs summary # positions and the latest snapshot
node scripts/superhero-portfolio.mjs history # portfolio value and PnL over time
node scripts/superhero-read.mjs my-posts # what it published
node scripts/superhero-wallet.mjs balance # liquid AE| When | Do |
|---|---|
| After each of the first five cycles | Read the full report and check it against mine. You are validating that the agent's narration matches the chain |
| Daily, for the first week | summary and balance |
| Weekly, thereafter | history for the PnL trend, my-posts for what it has been saying, and a read of the strategy against how it is behaving |
| Whenever the balance moves more than you expected | Everything, immediately |
What the agent reports
Each cycle ends with a summary:
- Wallet balance before and after
- Tokens bought: name, amount, price paid
- Tokens sold: name, amount, return, profit or loss
- Current holdings with entry price and current price
- Estimated portfolio value in AE
Entry price and realised profit or loss come from the persisted state file or from
superhero-transactions.mjs mine. If the agent reports them without either, ask where they
came from.
Related
- Risk Strategies: the three templates and every configuration key
- Agent Trading: the loop in detail, and the spread arithmetic behind the cadences
- Safety & Limits: the guardrails to set before the first unattended cycle
- Scheduling & Cron: cadence, overlap and timezones
- OpenClaw: the runtime with a scheduler built in
- Portfolio: how positions and PnL are tracked on the platform side
- Token risks: what can go wrong in the market the agent is trading