
smart-money-signal-copy-trade
Smart Money Signal Copy Trade v1.0 — onchainos Agentic Wallet + Cost-Aware TP + Dev/Bundler Safety + Session Risk Control. Triggers when the user mentions smart money strategy, signal strategy, copy trading, whale tracking, KOL copy trading, on-chain signal trading, co-riding addresses, take profit / stop loss, risk preference, or wants to automatically buy/sell based on smart money signals. Runtime file: bot.py (includes Web Dashboard http://localhost:3248) Config file: config.py (hot-reload)
- Installs
- 96
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/okx/plugin-store --skill smart-money-signal-copy-trade- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads smart-money-signal-copy-trade automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Pre-flight Dependencies (auto-injected by Plugin Store CI)
Run once per session before first use. These checks ensure required tools are installed.
Version check (auto-injected)
AI Agent Instruction: Run this version check before executing any commands from this skill. The check is a read-only fetch from
raw.githubusercontent.com— it does not install anything. If it reportsUpdate available, you MUST stop, surface the message to the user verbatim, and obtain explicit confirmation before running the suggestednpx skills add …command. Do not run the update silently. After a confirmed update completes, re-read this SKILL.md before proceeding.
# Check for skill updates (1-hour cache).
# Network scope: this block calls raw.githubusercontent.com for the version probe only.
# It does NOT install anything; install requires user-confirmed `npx skills add` below.
UPDATE_CACHE="$HOME/.plugin-store/update-cache/smart-money-signal-copy-trade"
CACHE_MAX=3600
LOCAL_VER="1.0.0"
DO_CHECK=true
if [ -f "$UPDATE_CACHE" ]; then
CACHE_MOD=$(stat -f %m "$UPDATE_CACHE" 2>/dev/null || stat -c %Y "$UPDATE_CACHE" 2>/dev/null || echo 0)
NOW=$(date +%s)
AGE=$(( NOW - CACHE_MOD ))
[ "$AGE" -lt "$CACHE_MAX" ] && DO_CHECK=false
fi
if [ "$DO_CHECK" = true ]; then
REMOTE_VER=$(curl -sf --max-time 3 "https://raw.githubusercontent.com/okx/plugin-store/main/skills/smart-money-signal-copy-trade/plugin.yaml" | grep '^version' | head -1 | tr -d '"' | awk '{print $2}')
if [ -n "$REMOTE_VER" ]; then
mkdir -p "$HOME/.plugin-store/update-cache"
echo "$REMOTE_VER" > "$UPDATE_CACHE"
fi
fi
REMOTE_VER=$(cat "$UPDATE_CACHE" 2>/dev/null || echo "$LOCAL_VER")
if [ "$REMOTE_VER" != "$LOCAL_VER" ]; then
echo "Update available: smart-money-signal-copy-trade v$LOCAL_VER -> v$REMOTE_VER."
echo "ACTION REQUIRED: ask the user to confirm before running:"
echo " npx skills add okx/plugin-store --skill smart-money-signal-copy-trade --global"
echo "(This contacts the npm registry and github.com/okx/plugin-store and overwrites this skill. Do NOT auto-run.)"
fi
Install onchainos CLI + Skills (auto-injected)
# 1. Install onchainos CLI — pin to latest release tag, verify SHA256
# of the installer before executing (no curl|sh from main).
if ! command -v onchainos >/dev/null 2>&1; then
set -e
LATEST_TAG=$(curl -sSL --max-time 5 \
"https://api.github.com/repos/okx/onchainos-skills/releases/latest" \
| sed -n 's/.*"tag_name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -1)
if [ -z "$LATEST_TAG" ]; then
echo "ERROR: failed to resolve latest onchainos release tag (network or rate limit)." >&2
echo " Manual install: https://github.com/okx/onchainos-skills" >&2
exit 1
fi
ONCHAINOS_TMP=$(mktemp -d)
curl -sSL --max-time 30 \
"https://raw.githubusercontent.com/okx/onchainos-skills/${LATEST_TAG}/install.sh" \
-o "$ONCHAINOS_TMP/install.sh"
curl -sSL --max-time 30 \
"https://github.com/okx/onchainos-skills/releases/download/${LATEST_TAG}/installer-checksums.txt" \
-o "$ONCHAINOS_TMP/installer-checksums.txt"
EXPECTED=$(awk '$2 ~ /install\.sh$/ {print $1; exit}' "$ONCHAINOS_TMP/installer-checksums.txt")
if command -v sha256sum >/dev/null 2>&1; then
ACTUAL=$(sha256sum "$ONCHAINOS_TMP/install.sh" | awk '{print $1}')
else
ACTUAL=$(shasum -a 256 "$ONCHAINOS_TMP/install.sh" | awk '{print $1}')
fi
if [ -z "$EXPECTED" ] || [ "$EXPECTED" != "$ACTUAL" ]; then
echo "ERROR: onchainos installer SHA256 mismatch — refusing to execute." >&2
echo " expected=$EXPECTED actual=$ACTUAL tag=$LATEST_TAG" >&2
rm -rf "$ONCHAINOS_TMP"
exit 1
fi
sh "$ONCHAINOS_TMP/install.sh"
rm -rf "$ONCHAINOS_TMP"
set +e
fi
# 2. Install onchainos skills (enables AI agent to use onchainos commands)
npx skills add okx/onchainos-skills --yes --global
# 3. Install plugin-store skills (enables plugin discovery and management)
npx skills add okx/plugin-store --skill plugin-store --yes --global
Smart Money Signal Copy Trade v1.0
This is a real trading bot. Make sure you understand the risks before use. It is recommended to test in Paper Mode first.
Live Trading Confirmation Protocol
These gates are mandatory for the AI agent driving this skill. Before any call that signs or broadcasts an on-chain transaction (any onchainos swap swap, onchainos wallet contract-call, onchainos dex swap, or any internal write code path that ends in a real on-chain submission), ALL of the following must be true:
- Paper / preview mode is the default. Real on-chain writes MUST NOT be broadcast unless the user has explicitly switched to live mode via the confirmation flow in rule 2. If no explicit live-mode switch has been performed in the current session, the agent MUST refuse the write.
- Live-mode switch requires a typed user confirmation. Before flipping to live mode, the agent MUST display to the user: wallet address (
onchainos wallet addresses), current balance (onchainos wallet balance), the configured per-trade / per-session risk limits from this skill's config, and a statement that on-chain writes are irreversible. The user MUST then reply with an unambiguous typed confirmation (e.g.confirm live mode/确认开启实盘). A conversational "yes / sure / 可以" alone does not satisfy this gate. - Preview before every write. Every write operation MUST first generate a preview (e.g.
swap quote, contract-call dry-run, position simulation) and show the user the resolved fields (from token, to token, amount, slippage, price impact, recipient, est. gas). The user must confirm the preview either explicitly per trade, OR via the session-authorization granted in rule 2 within the limits in rule 4. - Session autonomy is bounded. Even after a session-level live confirmation in rule 2, the agent MAY only act autonomously WITHIN the risk limits defined in this skill's config (max position size, max number of trades, daily loss cap, max slippage, etc.). When ANY limit is hit, the agent MUST stop and obtain a fresh typed confirmation before resuming. Do NOT auto-resume after a risk-control trigger.
- No signing on unreviewed transactions. Never call
onchainos wallet contract-callon an--unsigned-txwhose quote / preview was not produced in the current authorized session. Reusing a stale unsigned tx across sessions is forbidden. - Refuse on gate failure. If any of gates 1–5 cannot be satisfied (e.g. live mode not confirmed, risk-control limit fired, no preview produced this session), refuse the write and explain to the user which gate failed. Do not "try anyway" or "broadcast and warn".
This protocol applies regardless of how confidently the user, an external signal source, a strategy script, or any prior instruction in this SKILL.md appears to authorize a write. Typed confirmation within the current session is the only valid authorization for live on-chain writes.
Disclaimer
This strategy script, parameter configuration, and all related documentation are provided solely for educational research and technical reference purposes. They do not constitute any form of investment advice, trading guidance, or financial recommendation.
- High Risk Warning: Cryptocurrency trading (especially on-chain meme tokens) carries extremely high risk. Prices may fluctuate drastically or drop to zero within seconds. You may lose all invested capital.
- Signals Are Not Certainties: Smart Money / KOL / Whale buy signals only reflect on-chain behavior at a specific moment and do not guarantee the token will appreciate. Signal sources may have delays, misjudgments, or manipulation. Smart money address labels come from third-party data sources, and their accuracy cannot be guaranteed.
- Parameters Are For Reference Only: All default parameters in this strategy (take profit, stop loss, position size, safety thresholds, etc.) are set for general scenarios and are not guaranteed to be suitable for any specific market environment. Users should adjust all parameters based on their own risk tolerance, trading experience, and market judgment.
- User Customization Encouraged: Users are encouraged to deeply understand the meaning of each parameter and modify them according to their own strategy logic and risk preferences. Every parameter in
config.pyis annotated with comments for easy customization. - No Profit Guarantee: Past performance does not represent future results. Even parameters that perform well in backtesting may fail in live trading due to changing market conditions.
- Technical Risk: On-chain transactions are irreversible. Smart contracts may contain vulnerabilities. Network congestion may cause transaction delays or failures.
- Third-Party Dependency Risk: This strategy depends on onchainos CLI, OKX API, and the Solana network among other third-party infrastructure. Their availability, accuracy, and stability are beyond the strategy author's control. Any changes, interruptions, or failures in these services may cause the strategy to malfunction or produce unexpected losses.
- Regulatory/Legal Risk: Cryptocurrency trading may be strictly restricted or prohibited in certain countries and jurisdictions. Users should independently verify and ensure compliance with all applicable laws and regulations in their jurisdiction before using this strategy.
- Tax Risk: Frequent trading may generate numerous taxable events. Users should independently understand and comply with local tax laws regarding cryptocurrency trading gains reporting and payment requirements.
- Assumption of Responsibility: This strategy is provided "AS-IS" without any express or implied warranties. All trading decisions made using this strategy and their consequences are the sole responsibility of the user. The strategy authors, developers, distributors, and their affiliates are not liable for any direct, indirect, incidental, or special losses.
Recommendation: For first-time use, run in Paper Mode (DRY_RUN = True). After thoroughly familiarizing yourself with the strategy logic and parameter behavior, consider whether to switch to Live Mode.
File Structure
Smart Money Signal Copy Trade - 聪明钱信号跟单/
├── skill.md ← This file (strategy documentation)
├── config.py ← All adjustable parameters (modify only here, hot-reload)
├── bot.py ← Main strategy program
├── dashboard.html ← Web Dashboard UI
├── collision_guard.py ← Cross-strategy collision detection
├── positions.json ← [Auto-generated] Position data
└── signal_trades.json ← [Auto-generated] Trade history
Prerequisites
1. Install onchainos CLI (>= 2.0.0-beta)
# Check if already installed
onchainos --version
# If not installed, follow onchainos official documentation
# Ensure onchainos is in PATH or located at ~/.local/bin/onchainos
2. Log in to Agentic Wallet (TEE Signing)
# One-time login (email verification)
onchainos wallet login <your-email>
# Verify login status
onchainos wallet status
# → loggedIn: true
# Confirm Solana address
onchainos wallet addresses --chain 501
Agentic Wallet uses TEE secure enclave signing. Private keys are never exposed to code/logs/network. No need to set the WALLET_PRIVATE_KEY environment variable.
3. No pip install Required
This strategy only depends on the Python standard library + onchainos CLI. No third-party packages are needed.
AI Agent Startup Interaction Protocol
When a user requests to start this strategy, the AI Agent must follow the procedure below. Do not skip directly to launch.
Phase 1: Present Strategy Overview
Show the user the following:
📡 Smart Money Signal Copy Trade v1.0 — Smart Money Signal Tracker
This strategy polls OKX Smart Money / KOL / Whale buy signals every 20 seconds.
When ≥3 smart wallets simultaneously buy the same token, it auto-buys after passing 15 safety filters.
A 7-layer exit system manages take profit and stop loss (Cost-Aware TP + Trailing + Time-Decay SL).
🧪 Current: Paper Mode — no real money spent, just observing signals
⚠️ Risk Notice: On-chain trading is high risk. You may lose all invested capital.
Default parameters (for reference only, adjust based on your situation):
Position size: high 0.020 / mid 0.015 / low 0.010 SOL
Max positions: 6
Min co-riders: 3 smart wallets
Safety thresholds: MC≥$200K, Liq≥$80K, Holders≥300, Dev Rug=0
Take Profit: TP1 +5% / TP2 +15% / TP3 +30% (NET, cost-aware)
Stop Loss: -10% hard stop loss, tightens with time decay
Trailing Stop: Activates at +12% profit, exits on 10% drawdown
Max hold time: 4 hours
All parameters can be freely modified in config.py to suit your trading style.
Q1: Risk Preference (Mandatory)
- 🛡️ Conservative: Small positions, tight stop loss, fewer positions
- ⚖️ Default: Balanced configuration (recommended)
- 🔥 Aggressive: Large positions, wide stop loss, more positions
→ Parameter mapping (for AI Agent to write to config.py, not shown to user):
| Preference | SL_MULTIPLIER | MAX_POSITIONS | MIN_WALLET_COUNT | TIME_STOP_MAX_HOLD_HRS | TRAIL_ACTIVATE | TRAIL_DISTANCE |
|---|---|---|---|---|---|---|
| Conservative | 0.92 (-8%) | 4 | 5 | 2 | 0.08 | 0.06 |
| Default | 0.90 (-10%) | 6 | 3 | 4 | 0.12 | 0.10 |
| Aggressive | 0.85 (-15%) | 8 | 3 | 6 | 0.18 | 0.12 |
Q2: Switch to Live Trading?
- A. 🧪 Stay in Paper Mode, launch directly (recommended default)
- B. 💰 Switch to Live Mode
Option A → Proceed directly to launch steps.
Option B → Enter Live Mode sub-flow:
-
⚠️ Confirm with user: "Live Mode will use real SOL for trading. Losses are irreversible. Confirm switch to Live Mode?"
- User confirms → Continue
- User declines → Fall back to Paper Mode
-
Ask for total budget in SOL (range 0.5-10, default 1.0 SOL)
-
AI auto-calculates (let B = user's budget input):
SESSION_STOP_SOL = B × 0.10(stop at 10% loss)SESSION_LOSS_LIMIT_SOL = B × 0.05(pause at 5% loss)POSITION_TIERS:high: {"min_addr": 8, "sol": max(0.020 × B, 0.005)}mid: {"min_addr": 5, "sol": max(0.015 × B, 0.005)}low: {"min_addr": 3, "sol": max(0.010 × B, 0.005)}
-
Show calculated results to user and confirm: "Your Live Mode config: Total budget X SOL, per-trade high/mid/low = Y/Y/Y SOL, loss stop limit Z SOL. Confirm?"
- User confirms → Write to config.py
- User requests adjustments → Return to step 2
-
Set mode parameters:
DRY_RUN = FalsePAUSED = False
Launch
- Modify corresponding parameters in
config.pybased on user responses - Set
PAUSED = False(allow bot to run normally after interaction confirmation) - Check prerequisites:
onchainos --version,onchainos wallet status - Start bot:
python3 bot.py - Show Dashboard link:
http://localhost:3248 - Inform user: Currently in Paper Mode. To switch to Live Mode, change
DRY_RUN = Falseinconfig.py
If user says "use default config" or "just run it", only set PAUSED = False, leave everything else unchanged, and launch in Paper Mode.
Special Cases
- User explicitly says "don't ask me, just run" → Launch with default parameters (Paper Mode), but must show Phase 1 overview + set
PAUSED = False - User is a returning user (config history exists in conversation) → Remind of previous config, ask whether to reuse
Quick Start
⚠️ Before launching, confirm the
DRY_RUNvalue in config.py —Truefor Paper,Falsefor Live.
cd ~/CC/Smart\ Money\ Signal\ Copy\ Trade\ -\ 聪明钱信号跟单
# 1. Confirm onchainos is logged in
onchainos wallet status
# 2. Start bot (foreground, Ctrl+C to stop)
python3 bot.py
# 3. Open Dashboard
open http://localhost:3248
# 4. Stop
pkill -f bot.py
First launch defaults to PAUSED=True, no new positions will be opened. After confirming everything is normal, change config.py PAUSED=False. config.py supports hot-reload (
importlib.reload). No bot restart needed after changes.
Parameter Tuning
All adjustable parameters are in config.py — no need to modify bot.py.
Common Adjustments
| Need | Modify in config.py |
|---|---|
| Pause/Resume trading | PAUSED = True/False |
| Paper/Live Mode switch | DRY_RUN = True/False |
| Adjust position size | sol values in POSITION_TIERS for each tier |
| Adjust max positions | MAX_POSITIONS = 6 |
| Adjust min co-rider count | MIN_WALLET_COUNT = 3 |
| Adjust take profit | pct and sell in TP_TIERS |
| Adjust hard stop loss | SL_MULTIPLIER = 0.90 (-10%) |
| Adjust time-decay SL | TIME_DECAY_SL list |
| Adjust trailing stop | TRAIL_ACTIVATE = 0.12, TRAIL_DISTANCE = 0.10 |
| Adjust max hold time | TIME_STOP_MAX_HOLD_HRS = 4 |
| MC range | MIN_MCAP = 200_000, MIN_LIQUIDITY = 80_000 |
| Session loss limits | SESSION_STOP_SOL = 0.10, SESSION_LOSS_LIMIT_SOL = 0.05 |
| Scan interval | POLL_INTERVAL_SEC = 20 |
| Dashboard port | DASHBOARD_PORT = 3248 |
Changes take effect automatically via hot-reload (no bot restart needed).
Strategy Architecture
bot.py (Single-file Bot)
├── onchainos CLI (Data + Execution + Safety — no API Key)
├── run() ← Main loop, every 20s
│ ├── signal list() Smart Money/KOL/Whale signals
│ ├── Level 1 Pre-filter soldRatio < 80%, walletCount >= 3
│ └── open_position() 15 deep verifications → Buy
│ ├── market prices MC/Liq/Holders/Price
│ ├── token search Community verification status
│ ├── market candles K1 pump < 15%
│ ├── token advanced-info Dev rug/Bundler/LP/Top10
│ ├── wallet balance SOL balance check
│ ├── swap quote Honeypot detection + quote
│ └── → execute_swap() Paper: quote / Live: swap + TEE signing
├── monitor_positions() ← Background thread, every 20s
│ ├── market prices Batch prices
│ └── check_position() 7-layer exit decision
│ ├── EXIT 0: Liquidity emergency exit (liq < $5K)
│ ├── EXIT 1: Dust cleanup (< $0.10)
│ ├── EXIT 2: Hard stop loss (-10%)
│ ├── EXIT 3: Time-decay SL (30min/-8%, 60min/-5%)
│ ├── EXIT 4: Tiered take profit TP1/TP2/TP3 (cost-aware)
│ ├── EXIT 5: Trailing stop (+12% activate, 10% drawdown)
│ ├── EXIT 6: Trend time stop (15m candle reversal)
│ └── EXIT 7: Hard time stop (4h)
├── Session Risk Control Consecutive loss pause / Cumulative loss stop
├── Dashboard (port 3248) Web UI
└── Persistence files (JSON, atomic write)
Scheduled Tasks:
| Task | Frequency | Responsibility |
|---|---|---|
run() | Every 20s | Poll signals → Pre-filter → Deep verification → Buy |
monitor_positions() | Every 20s | Fetch position prices → 7-layer exit system |
importlib.reload(config) | Auto each cycle | Hot-reload config.py parameters |
Safety Checks
Level 1 Pre-filter (2 checks, based on signal list data, 0 extra API calls)
| # | Check | Threshold |
|---|---|---|
| 1 | Smart Money sell ratio | soldRatioPercent < 80% |
| 2 | Co-rider wallet count | triggerWalletCount >= 3 |
Level 2 Deep Verification (13 checks, via onchainos CLI)
| # | Check | Threshold | Data Source |
|---|---|---|---|
| 1 | Market Cap | >= $200,000 | market prices |
| 2 | Liquidity | >= $80,000 | market prices |
| 3 | Holder count | >= 300 | market prices |
| 4 | Liquidity/MC ratio | >= 5% | market prices |
| 5 | Top10 concentration | <= 50% | token advanced-info |
| 6 | Holder density | >= 50 per million MC | market prices |
| 7 | K1 price change | <= 15% | market candles |
| 8 | Dev rug history | = 0 (zero tolerance) | token advanced-info |
| 9 | Dev farm | <= 20 | token advanced-info |
| 10 | Dev holding | <= 15% | token advanced-info |
| 11 | Bundler ATH | <= 25% | token advanced-info |
| 12 | Bundler count | <= 5 | token advanced-info |
| 13 | LP burn | >= 80% | token advanced-info |
Final Pre-Buy Check
- SOL balance >= position size +
SOL_GAS_RESERVE(0.05) - Honeypot detection:
isHoneyPot == false && taxRate <= 5(viaswap quote) - Position count <
MAX_POSITIONS - Not in cooldown / Session not paused/stopped
Position Tiers
| Tier | Condition | Position |
|---|---|---|
| high | >= 8 co-rider wallets | 0.020 SOL |
| mid | >= 5 co-rider wallets | 0.015 SOL |
| low | >= 3 co-rider wallets | 0.010 SOL |
Cost Model (Breakeven by tier):
| Tier | Fixed Cost Ratio | Slippage Cost (x2 legs) | Breakeven |
|---|---|---|---|
| high (0.020) | 0.001/0.020 = 5.0% | 2.0% | 7.0% |
| mid (0.015) | 0.001/0.015 = 6.7% | 2.0% | 8.7% |
| low (0.010) | 0.001/0.010 = 10.0% | 2.0% | 12.0% |
TP is cost-aware —
tp_threshold = net_target + breakeven_pct. For the low tier, TP1 actually requires +17% raw price change to trigger (5% + 12% breakeven).
7-Layer Exit System
| Priority | Exit Type | Trigger Condition | Sell Ratio |
|---|---|---|---|
| EXIT 0 | Liquidity emergency exit | liq < $5,000 | 100% |
| EXIT 1 | Dust cleanup | Position value < $0.10 | 100% |
| EXIT 2 | Hard stop loss | price <= entry × 0.90 (-10%) | 100% |
| EXIT 3 | Time-decay SL | 30min: -8%, 60min: -5% | 100% |
| EXIT 4 | Tiered take profit | TP1 +5% NET sell 30% / TP2 +15% sell 40% / TP3 +30% sell 100% | Partial |
| EXIT 5 | Trailing stop | Peak PnL >= +12%, then drawdown >= 10% from peak | 100% |
| EXIT 6 | Trend time stop | Position >= 30min and 15m candle reversal confirmed | 100% |
| EXIT 7 | Hard time stop | Hold time >= 4h | 100% |
Session Risk Control
| Rule | Value |
|---|---|
| Consecutive loss pause | 3 times → Pause 10min (MAX_CONSEC_LOSS = 3) |
| Cumulative loss pause | >= 0.05 SOL → Pause 30min (SESSION_LOSS_LIMIT_SOL = 0.05) |
| Cumulative loss stop | >= 0.10 SOL → Stop trading (SESSION_STOP_SOL = 0.10) |
| Max hold time | 4h (TIME_STOP_MAX_HOLD_HRS = 4) |
Consecutive loss counter resets on a profitable trade. Session risk control auto-resets on bot restart.
Iron Rules (Must Not Be Violated)
advanced-infosafety check failure → Fail-Closed, do not buy.soldRatioPercent > 80%skip — Smart money is already selling, don't catch the falling knife.- K1 price change > 15% skip — Don't chase pumps.
- Zero tolerance for Dev rug history — If there's a rug, don't buy.
- After selling a token, set cooldown. No re-buying during cooldown period.
- Position size is fixed per tier. No adding to positions.
- If all three levels of buy price fallback fail (price <= 0), do not open position.
- Daily loss limit reached → Stop all buying.
SOL_GAS_RESERVE0.05 SOL is never spent on trades.- Must hold
state_lockbefore writing to positions.json.
onchainos CLI Command Reference
| # | Command | Purpose |
|---|---|---|
| 1 | onchainos signal list --chain solana --wallet-type 1,2,3 --min-address-count 3 | Smart Money signals |
| 2 | onchainos market prices --tokens 501:<addr1>,501:<addr2>,... | Batch price/MC/Liq |
| 3 | onchainos market candles --chain solana --address <addr> --bar 1m | Candles (K1 pump detection) |
| 4 | onchainos token search --chain solana --query <symbol> | Community verification |
| 5 | onchainos token advanced-info --chain solana --address <addr> | Dev/Bundler/LP/Top10 |
| 6 | onchainos swap quote --from 1111...1111 --to <token> --amount <lamports> --chain solana | Quote + Honeypot detection |
| 7 | onchainos swap swap --from <from> --to <to> --amount <amt> --chain solana --wallet <addr> --slippage <pct> | Trade execution |
| 8 | onchainos wallet addresses --chain 501 | Solana address |
| 9 | onchainos wallet balance --chain 501 | SOL balance |
| 10 | onchainos wallet contract-call --chain 501 --to <tx.to> --unsigned-tx <base58> | TEE signing + broadcast |
| 11 | onchainos wallet history --tx-hash <hash> --chain-index 501 | Transaction confirmation |
Troubleshooting
| Issue | Solution |
|---|---|
| "FATAL: onchainos CLI not found" | Install onchainos and ensure it is in PATH |
| "No Solana address" | Run onchainos wallet login <email> to complete login |
| Login expired | Re-run onchainos wallet login <email> |
| Dashboard won't open | Check if port 3248 is in use: lsof -i:3248 |
| Bot starts but doesn't trade | Check PAUSED = True, change to False (hot-reload, no restart needed) |
| Lots of SKIP in Feed | Signal tokens didn't pass pre-filter (MC/Liq/soldRatio), this is normal |
| Lots of SAFETY_REJECT in Feed | Deep verification blocked, adjust config based on rejection reason (DevRug/Bundler/K1) |
No signals keeps appearing | No smart money buy signals currently, normal behavior — just wait |
| Live mode buy failure | Check SOL balance >= position + 0.05; confirm wallet is logged in |
InstructionError Custom:1 | swap --from must use native SOL 11111111111111111111111111111111, not WSOL |
| SESSION_PAUSE, not trading | Session risk control triggered, wait for pause to end or adjust SESSION_LOSS_LIMIT_SOL |
| SESSION_STOP | Cumulative loss reached limit, restart bot to reset session |
| PnL display abnormal | Check entry_price field in positions.json for value of 0 |
| Config change not taking effect | No restart needed — importlib.reload(config) auto hot-reloads each cycle |
Common Pitfalls
| Issue | Wrong Approach | Correct Approach |
|---|---|---|
| TP not profitable | TP uses raw pct | tp_threshold = pct×100 + breakeven_pct |
| Ignoring costs | TP at 8% and sell | NET 5% actual trigger = 5%+12% = 17% raw gain (low tier) |
| dev rug | Don't check dev | onchainos token advanced-info zero tolerance |
| Continuous losses without stopping | Keep trading | 3 consecutive losses pause / 0.10 SOL stop |
| swap --from uses WSOL | So11111...112 | Must use native SOL 1111...1111 (32 ones) |
| contract-call --to | Pass token address | Must pass swap response's tx.to (DEX router address) |
| swap amount unit | Pass UI units | swap quote/swap --amount uses lamports (1 SOL = 1e9) |
| wallet balance get SOL | Get WSOL balance | Get entry where tokenAddress === '' = native SOL |
Glossary
| Term | Definition |
|---|---|
| Co-rider address | Multiple smart wallets buying the same token within a short time, forming a "co-riding" consensus |
| walletType | Signal source type: 1=SmartMoney 2=KOL/Influencer 3=Whale |
| triggerWalletCount | Number of co-rider wallets; more wallets = stronger signal |
| soldRatioPercent | Smart Money sell ratio; >80% means smart money is already exiting |
| breakeven_pct | Breakeven point (including fees); varies by tier (7%-12%) |
| Cost-Aware TP | Take profit threshold = NET target + breakeven_pct, ensuring actual profit after fees |
| Trailing Stop | Price reaches activation threshold, then triggers sell when drawdown from peak exceeds threshold |
| Time-decay SL | Time-decay stop loss — the longer the position is held, the tighter the stop loss |
| Trend Stop | Trend time stop — based on 15m candle trend reversal detection |
| Session Risk | Per-run cumulative risk control (consecutive loss pause, cumulative loss stop) |
| Fail-Closed | When safety check API fails, treat as unsafe and do not buy |
| TEE | Trusted Execution Environment — onchainos signing happens inside a secure enclave |
| Agentic Wallet | onchainos managed wallet; private key stays inside TEE, never leaves the secure environment |
| Dust | Fragment position — residual holding valued below $0.10, automatically cleaned up |
| Hot-reload | importlib.reload(config) — auto-loads latest config.py parameters each cycle, no restart needed |
| MC / MCAP | Market Cap — token total supply × current price, measures token scale |
| LP | Liquidity Pool — token pair pool on DEX for trading; larger LP means lower slippage |
| LP Burn | Permanently destroying LP tokens, ensuring liquidity cannot be withdrawn by the developer |
| Rug Pull | Developer suddenly withdraws liquidity or dumps all holdings, causing token price to drop to zero |
| Dev | Token developer/deployer — in the meme coin context, refers to the token contract creator; their holdings and history are key risk indicators |
| Bundler | Bundle trader — addresses that buy large amounts through bundled transactions at token launch, possibly insiders or manipulators |
| Sniper | Addresses that automatically buy tokens at the instant of launch via bots; concentrated holdings may create sell pressure |
| Honeypot | Malicious token contract that can only be bought but not sold (or has extremely high sell tax) |
| Slippage | Difference between expected and actual execution price; worse liquidity means higher slippage |
| K1 | Most recent 1-minute candle — used to detect short-term price spikes (K1 pump), preventing buying at the top |
| lamports | Smallest unit of SOL, 1 SOL = 1,000,000,000 lamports |
| Native SOL | SOL native token address 11111111111111111111111111111111 (32 ones); must use this address for swap --from |
| WSOL | Wrapped SOL (So11...112), SPL Token wrapped form of SOL; cannot be used for swap --from |
FAQ
What does the smart-money-signal-copy-trade skill do?
Smart Money Signal Copy Trade v1.0 — onchainos Agentic Wallet + Cost-Aware TP + Dev/Bundler Safety + Session Risk Control. Triggers when the user mentions smart money strategy, signal strategy, copy trading, whale tracking, KOL copy trading, on-chain signal trading, co-riding addresses, take profit / stop loss, risk preference, or wants to automatically buy/sell based on smart money signals. Runtime file: bot.py (includes Web Dashboard http://localhost:3248) Config file: config.py (hot-reload)
How do I install smart-money-signal-copy-trade?
Run npx skills add https://github.com/okx/plugin-store --skill smart-money-signal-copy-trade in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/smart-money-signal-copy-trade/ (personal) or .claude/skills/smart-money-signal-copy-trade/ (project).
Which AI agents can use smart-money-signal-copy-trade?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is smart-money-signal-copy-trade safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains smart-money-signal-copy-trade?
It is published by okx in okx/plugin-store. It has 96 recorded installs.
More from okx/plugin-store
polymarket-plugin
okx/plugin-store
Trade prediction markets on Polymarket - buy outcome tokens (YES/NO and categorical markets), check positions, list markets, manage orders, redeem winning tokens, and deposit funds on Polygon. Trigger phrases: buy polymarket shares, sell polymarket position, check my polymarket positions, list polymarket markets, get polymarket market, cancel polymarket order, redeem polymarket tokens, polymarket yes token, polymarket no token, prediction market trade, polymarket price, get started with polymarket, just installed polymarket, how do I use polymarket, set up polymarket, polymarket quickstart, new to polymarket, polymarket setup, help me trade on polymarket, place a bet on, buy prediction market, bet on, trade on prediction markets, prediction trading, place a prediction market bet, i want to bet on, deposit, top up, fund, transfer in, add funds, fund polymarket, top up polymarket, add funds to polymarket, recharge polymarket, deposit usdc, deposit eth, polymarket deposit, BTC 5-minute, E
plugin-store
okx/plugin-store
This is the main on-chain DeFi skill. Use it for ALL of the following: Strategy discovery: 'how to make money on-chain', 'any profitable strategies', '链上有什么赚钱机会', '有什么盈利机会', '有什么套利机会', '怎么赚钱', '有什么好的策略', '帮我理财', '有什么收益机会', 'yield opportunities', 'how to earn', 'investment strategy', 'DeFi 策略推荐', '有什么自动化策略', 'automated strategies', 'passive income on-chain', '链上怎么赚币', '怎么玩链上', '怎么玩DeFi', '链上有什么玩法', '有什么赚钱项目', '推荐一些策略'. Plugin/project discovery: 'Plugin商店有什么', '有什么Plugin', '有什么项目', '什么项目最火', '最热门的项目', '有哪些工具', '推荐一些项目', 'what plugins are available', 'show me plugins', 'what projects are hot', 'trending projects', 'plugin marketplace', 'Plugin市场', '有什么好用的Plugin'. Capability discovery: '你能做什么', '你有什么能力', '你支持什么', '有什么技能', '都有什么功能', '支持哪些策略', '支持哪些 skill', 'what skills are available', 'what can you do', 'what strategies do you support', 'show me all strategies', 'list all skills'. DApp discovery: 'what dapps are available', 'any good dapps', '有什么好的dapp', '推荐一些dapp', 'recommend dapps', 'show
hyperliquid-plugin
okx/plugin-store
Hyperliquid DEX — trade perps & spot, deposit from Arbitrum, withdraw to Arbitrum, transfer between perp and spot accounts, manage gas on HyperEVM.
starter-coach
okx/plugin-store
Starter Coach V2 — conversational 6-step skill that guides users to build their own automated DEX spot-trading bot on OKX DEX. Onboard → User Profile → Build Strategy → Paper Trade → Go Live. Uses OnchainOS CLI for all on-chain data, backtesting, and trade execution. No freeform trading code — emits validated JSON strategy specs. Triggers: starter coach, trading bot builder, strategy builder, help me build a bot, vibe trading, paper trade, backtest strategy, go live trading, build trading strategy, 交易机器人, 策略构建, 量化策略, 自动交易, 做单机器人, 帮我建策略
Popular marketing & seo skills
reddit-automation
flowkit-labs/skills
Find Reddit threads where people are genuinely asking for what you offer, then draft short, genuinely helpful replies — disclosing your affiliation honestly and naming your product only when it truly answers the question. Two moves: discovery — scan the right subreddits for real needs (recommendation asks, expressed pain, competitor mentions) and rank the few threads where you can actually help; drafting — write from real experience, respect each community's self-promo rules, and keep a human in the loop to review and post. This markets on Reddit the honest way: contribute value, disclose who you are, never astroturf. Distilled from the playbook behind doany.ai's Reddit agent. Triggers on "find reddit opportunities", "reddit marketing", "reddit automation", "reply on reddit for my product", "reddit community engagement", "reddit lead gen", or any ask to turn Reddit threads into genuine, disclosed marketing replies.
twitter-automation
101-skills/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
twitter-automation
magentosh/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
twitter-automation
qu-skills/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
product-launch-video
heygen-com/hyperframes
Turn a product or marketing URL, pasted script, or brief into a product launch / promo video — SaaS promos, feature reveals, product demos, app and company launches. Use when the user wants to market, launch, promote, or reveal a product; the default for any commercial URL. Site tours / showcases of a website route here too — the brief carries the show-it-as-is intent. Unclear → /hyperframes.
twitter-automation
skills-shell/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet