forgex
by @leo-cells-156
Manage wallets, launch tokens, and perform on-chain market making on Solana via a simple CLI without programming, supporting batch trades and workflow automa...
clawhub install fogexπ About This Skill
ForgeX CLI
Launch tokens. Bundle buy. Manage wallets β Just talk to your agent.
On-chain market making, from a single command line to your OpenClaw agent.
No programming required.
βοΈ Supported Platforms
    
       
Overview Β· Quick Start Β· Configure Β· Command Reference Β· Examples
Why ForgeX?
Most on-chain workflows on Solana are painful:
ForgeX packages the full workflow into a clean CLI. One command at a time.
Install
npm install -g forgex-cli
Requires Node.js >= 22.14.0.
Verify installation:
forgex --version
Quick Start (5 minutes)
Step 1 β Initialize config
forgex config init --rpc-url "https://your-rpc-endpoint.com" --network mainnet
Step 2 β Create a wallet group
forgex wallet create-group --name "my-group"
Returns groupId β note it for subsequent commands
Step 3 β Generate wallets
forgex --password "your-password" wallet generate --group 1 --count 10
Step 4 β Fund your wallets
Distribute SOL from a source wallet to the group:
forgex --password "your-password" transfer out \
--from "YourSourceWalletAddress" \
--to-group 1 \
--value 0.1
Step 5 β Launch a token
forgex --password "your-password" token create \
--dex pump \
--name "MyToken" \
--symbol "MYT" \
--image ./logo.png \
--dev-wallet 1 \
--dev-buy 0.5 \
--dry-run # remove --dry-run when ready to go live
Step 6 β Start the volume bot
forgex --password "your-password" tools volume \
--group 1 \
--token "TOKEN_MINT_ADDRESS" \
--mode 1b1s \
--amount 0.01 \
--count 10 \
--rounds 20 \
--interval 10000
> Tip: Always run with --dry-run first to simulate the operation before executing on-chain.
Command Reference
All commands accept --format json|table|minimal (default: json).
Commands involving private keys require --password before the subcommand name:
forgex --password "your-password" [subcommand] [options]
config β Configuration
| Command | Description |
|---|---|
| forgex config init | Initialize config file |
| forgex config set | Set a config value |
| forgex config get [key] | View config values |
# Initialize with RPC endpoint
forgex config init --rpc-url "https://my-rpc.com" --network mainnetSet Codex API key for market data
forgex config set codexApiKey "your-api-key"Set default slippage (BPS)
forgex config set defaultSlippage 300View all config
forgex config get
wallet β Wallet Group Management
Create & manage groups
# Create a local wallet group
forgex wallet create-group --name "market-making-group"Create with optional remark
forgex wallet create-group --name "sniper-group" --remark "launch snipers"List all wallet groups
forgex wallet list-groupsView group details (wallet addresses)
forgex wallet group-info --id 1Delete a group
forgex wallet delete-group --id 1 --force
Generate & import wallets
# Generate new wallets (max 100 per group)
forgex --password "pwd" wallet generate --group 1 --count 10Add an existing wallet by private key
forgex --password "pwd" wallet add --group 1 --private-key "Base58Key..." --note "main wallet"Remove a wallet from group
forgex --password "pwd" wallet remove --group 1 --address "WalletAddress..."Import from CSV (format: privateKey,note)
forgex --password "pwd" wallet import --group 1 --file ./wallets.csv
Backup & restore
# Export group as CSV
forgex --password "pwd" wallet export --group 1 --file ./backup.csvExport all groups as encrypted JSON
forgex --password "pwd" wallet export-group \
--file ./all-groups.json \
--encrypt \
--password "file-encryption-password"Import all groups from JSON backup
forgex --password "pwd" wallet import-group \
--file ./all-groups.json \
--password "file-encryption-password"
Vanity addresses
# Generate address ending in "pump"
forgex wallet grind --suffix pumpGenerate 3 addresses with custom suffix, using 8 threads
forgex wallet grind --suffix pump --count 3 --threads 8
trade β Trading
> All trade commands support --dry-run for simulation.
Buy
# Simulate buy (recommended before first run)
forgex --password "pwd" trade buy \
--group 1 --token "TOKEN_CA" --amount 0.1 --dry-runBatch buy β all wallets in group buy the same amount
forgex --password "pwd" trade buy \
--group 1 --token "TOKEN_CA" --amount 0.1 --slippage 300
Sell
# Sell all tokens
forgex --password "pwd" trade sell \
--group 1 --token "TOKEN_CA" --amount allSell 50%
forgex --password "pwd" trade sell \
--group 1 --token "TOKEN_CA" --amount 50%Sell fixed token quantity
forgex --password "pwd" trade sell \
--group 1 --token "TOKEN_CA" --amount 1000000
Batch (buy + sell in one bundle)
# Execute buy and sell in same Jito Bundle
forgex --password "pwd" trade batch \
--group 1 --token "TOKEN_CA" \
--type buyWithSell --mode 1b1s --amount 0.01
Modes: 1b1s (1 buy + 1 sell), 1b2s, 1b3s, 2b1s, 3b1s
Sniper
# Snipe with different amounts per wallet (amounts count must match wallet count)
forgex --password "pwd" trade sniper \
--group 1 --token "TOKEN_CA" \
--amounts "0.5,0.3,0.2" --slippage 500
tools β Market Making
> All tools support --dry-run. Use --rounds to limit execution.
Turnover (wallet cycling)
Cycles tokens between two wallet groups via Jito Bundle β zero price impact.
# Simulate
forgex --password "pwd" tools turnover \
--from-group 1 --to-group 2 --token "TOKEN_CA" --dry-runRun 5 turnover cycles
forgex --password "pwd" tools turnover \
--from-group 1 --to-group 2 --token "TOKEN_CA" \
--daemon --rounds 5 --interval 2000Turnover 50% of holdings
forgex --password "pwd" tools turnover \
--from-group 1 --to-group 2 --token "TOKEN_CA" \
--amount 50%
Volume bot
Generates on-chain trading volume with zero net loss (buy + sell in same transaction).
# Simulate
forgex --password "pwd" tools volume \
--group 1 --token "TOKEN_CA" --dry-runRun 20 rounds, every 10 seconds, using 10 wallets
forgex --password "pwd" tools volume \
--group 1 --token "TOKEN_CA" \
--mode 1b1s --amount 0.01 --count 10 \
--daemon --rounds 20 --interval 10000
Options: --group , --token , --mode 1b1s|1b2s|1b3s|2b1s|3b1s, --amount , --count (limit wallets, default: all), --interval (delay between wallets), --rounds , --daemon, --dry-run
Price robot
Automatically moves price toward a target by buying (up) or selling (down).
# Simulate price push
forgex --password "pwd" tools robot-price \
--group 1 --token "TOKEN_CA" \
--direction up --target-price 0.001 --dry-runPush price up, max spend 5 SOL
forgex --password "pwd" tools robot-price \
--group 1 --token "TOKEN_CA" \
--direction up --target-price 0.001 \
--amount 0.05 --max-cost 5 --interval 3000
Options: --direction up|down, --target-price , --amount , --max-cost , --interval
transfer β Fund Management
> All transfer commands support --dry-run.
Collect (many β one)
# Collect all SOL from group into one wallet
forgex --password "pwd" transfer in \
--to "MainWalletAddress" --from-group 1 --amount allCollect from only the first 5 wallets
forgex --password "pwd" transfer in \
--to "MainWalletAddress" --from-group 1 --amount all --count 5Keep 0.01 SOL in each wallet, collect the rest
forgex --password "pwd" transfer in \
--to "MainWalletAddress" --from-group 1 \
--amount reserve --value 0.01Collect tokens instead of SOL
forgex --password "pwd" transfer in \
--to "MainWalletAddress" --from-group 1 \
--token "TOKEN_CA" --amount all
Distribute (one β many)
> --from address must belong to a wallet group (private key required for signing).
# Send 0.1 SOL to each wallet in group
forgex --password "pwd" transfer out \
--from "SourceAddress" --to-group 1 --value 0.1Distribute to only the first 10 wallets
forgex --password "pwd" transfer out \
--from "SourceAddress" --to-group 1 --value 0.1 --count 10Random distribution between 0.05 and 0.15 SOL
forgex --password "pwd" transfer out \
--from "SourceAddress" --to-group 1 \
--amount random --value 0.05 --max 0.15
Many-to-many (wallet[i] β wallet[i])
# Transfer all from group 1 wallets to matching group 2 wallets
forgex --password "pwd" transfer many-to-many \
--from-group 1 --to-group 2 --amount allFixed amount per pair
forgex --password "pwd" transfer many-to-many \
--from-group 1 --to-group 2 --amount fixed --value 0.1
token β Token Operations
> Supports --dry-run for simulation.
Create & launch token
# Simulate token creation
forgex --password "pwd" token create \
--dex pump \
--name "MyToken" --symbol "MTK" \
--image ./logo.png \
--description "My token" \
--dry-runLaunch with dev buy + snipers in same block (T0 bundle)
forgex --password "pwd" token create \
--dex pump \
--name "MyToken" --symbol "MTK" \
--image ./logo.png \
--twitter "https://twitter.com/mytoken" \
--website "https://mytoken.io" \
--dev-wallet 1 --dev-buy 2.0 \
--snipers 2 --sniper-amounts "0.5,0.3,0.2" \
--bundle-time T0
Platforms: pump (Pump.fun), launchlab
Bundle time: T0 (dev buy + snipers same block), T1_T5 (snipers 1-5 blocks after dev)
Query token
# Token info (price, name, dex)
forgex token info --ca "TOKEN_CA"Liquidity pool info
forgex token pool --ca "TOKEN_CA"
query β Data Queries
# SOL balance
forgex query balance --address "WalletAddress"Token balance
forgex query balance --address "WalletAddress" --token "TOKEN_CA"Token price
forgex query price --token "TOKEN_CA"Candlestick data (intervals: 1m, 5m, 15m, 1h, 4h, 1d)
forgex query kline --token "TOKEN_CA" --interval 5m --count 50Transaction history for a group
forgex query transactions --group 1 --token "TOKEN_CA"Holdings and PnL across a group
forgex query monitor --group 1 --token "TOKEN_CA"
Slippage Reference
| BPS | Percentage | Recommended for |
|---|---|---|
| 100 | 1% | Turnover trades |
| 300 | 3% | Normal buy/sell |
| 500 | 5% | Sniping / fast entries |
| 1000 | 10% | High volatility tokens |
| 2000 | 20% | Extreme conditions |
Demo
Workflow Examples
Token Launch in 3 commands
# 1. Create wallets
forgex --password "pwd" wallet generate --group 1 --count 52. Fund them
forgex --password "pwd" transfer out --from "MainWallet" --to-group 1 --value 0.53. Launch token with dev buy + snipers
forgex --password "pwd" token create \
--dex pump --name "MyToken" --symbol "MTK" \
--image ./logo.png \
--dev-wallet 1 --dev-buy 1.0 \
--snipers 1 --sniper-amounts "0.3,0.2,0.1,0.1,0.1" \
--bundle-time T0
Run the volume bot
forgex --password "pwd" tools volume \
--group 1 --token "TOKEN_CA" \
--mode 1b1s --amount 0.01 --count 10 \
--rounds 30 --interval 10000
Collect funds back to main wallet
forgex --password "pwd" trade sell --group 1 --token "TOKEN_CA" --amount all
forgex --password "pwd" transfer in --to "MainWallet" --from-group 1 --amount all