Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Manage Solana wallets, launch tokens, run coordinated buys, volume bots, and wallet operations via gank.dev trading terminal API.
Manage Solana wallets, launch tokens, run coordinated buys, volume bots, and wallet operations via gank.dev trading terminal API.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
gank is a multi-wallet solana trading terminal. launch tokens on pump.fun, run swarm buys, volume bots, copy trades, manage wallets. we literally have the most toxic platform atm and now your agents can take full advantage of it lol. base url: https://gank.dev/api/v2 auth: Authorization: Bearer <GANK_API_KEY> get your key at gank.dev > settings > api keys. keys start with pb_. errors always come back as { "success": false, "error": "..." }.
gank uses typed wallets. each type is locked to its module β don't mix them up. typewhat it's fordevlaunching tokens (pump.fun creator wallet)regularbuying/selling, transfersbundlebundle buys at launchsnipesniping new launchesswarmcoordinated multi-wallet buysvolumevolume botpugprivacy protocol β clean funds via bnb/eth swap
list your wallets GET /wallets/user returns everything grouped by type. { "dev": [{ "id": 1, "wallet_address": "...", "label": "main dev" }], "regular": [...], "swarm": [...], "volume": [...] } wallet balance GET /wallets/{id}/balance batch balances POST /wallets/balances { "addresses": ["addr1...", "addr2..."] } positions (all token holdings) GET /user/positions search tokens GET /search?q=pepe&limit=10
three steps: reserve mint β upload image β launch. 1. reserve a vanity mint (optional but worth it) POST /launch/reserve-mint gives you a ...pump address upfront. the keypair field is the mint keypair (token contract address keypair, not a wallet private key), pass it straight to /launch as reserved_mint_keypair. don't store it beyond that. { "success": true, "address": "AbcD...pump", "keypair": "base58..." } 2. upload image + metadata to ipfs POST /ipfs/upload Content-Type: multipart/form-data fields: file, name, symbol, description, twitter, telegram, website { "success": true, "metadata_uri": "https://ipfs.io/ipfs/Qm..." } 3. launch POST /launch { "token_name": "my token", "token_ticker": "MTK", "metadata_uri": "https://ipfs.io/ipfs/Qm...", "dev_wallet_address": "DevWallet...", "dev_buy_sol": 0.5, "jito_tip": 0.0003, "reserved_mint_keypair": "base58_from_step1", "regular_wallets": [ { "wallet_address": "Wallet1...", "amount": 0.1 }, { "wallet_address": "Wallet2...", "amount": 0.2 } ], "bundle_groups": [ { "block_target": 1, "wallets": [{ "wallet_address": "BundleWallet1...", "amount": 0.05 }] } ], "sniper_wallets": [ { "wallet_address": "SnipeWallet1...", "amount": 0.1, "block_target": 2 } ] } { "success": true, "launch_id": "uuid", "token_mint": "...", "tx_signature": "..." } check launch status GET /launch/{launch_id} launch history GET /launch/history?limit=20 save a launch config/preset PUT /launch/configs { "name": "my template", "config": { ...launch_params... } }
buy POST /phases/regular/buy { "wallet_address": "RegularWallet...", "token_mint": "TokenMint...", "amount_sol": 0.1, "slippage_bps": 500 } sell POST /phases/regular/sell { "wallet_address": "RegularWallet...", "token_mint": "TokenMint...", "sell_percentage": 100, "slippage_bps": 500 }
swarm = hit a token from multiple wallets at the same time. useful for coordinated entries. swarm buy POST /phases/swarm/buy { "token_mint": "TokenMint...", "wallets": [ { "wallet_address": "SwarmWallet1...", "amount_sol": 0.05 }, { "wallet_address": "SwarmWallet2...", "amount_sol": 0.1 } ], "slippage_bps": 500 } swarm sell POST /phases/swarm/sell { "token_mint": "TokenMint...", "wallets": ["SwarmWallet1...", "SwarmWallet2..."], "sell_percentage": 100, "slippage_bps": 500 } consolidate sol back to one wallet POST /phases/swarm/consolidate { "source_wallets": ["..."], "destination_wallet": "MainWallet..." } recover (emergency drain β sells everything, sweeps sol) POST /phases/swarm/recover { "source_wallets": ["..."], "destination_wallet": "MainWallet..." }
start POST /phases/volume/start { "token_mint": "TokenMint...", "wallet_addresses": ["VolumeWallet1...", "VolumeWallet2..."], "sol_per_trade": 0.001, "duration_minutes": 60, "intensity": "medium" } intensity: "low" | "medium" | "high" returns { "success": true, "session_id": "uuid" } stop POST /phases/volume/stop { "session_id": "uuid" }
transfer sol POST /wallets/transfer { "from_wallet": "...", "to_wallet": "...", "amount_sol": 1.0 } split sol (1 β many, max 50 targets) POST /wallets/split { "source_wallet": "...", "targets": [ { "address": "Wallet1...", "amount_sol": 0.1 }, { "address": "Wallet2...", "amount_sol": 0.2 } ] } vamp all (drain wallets β sells tokens, closes accounts, sweeps sol) POST /wallets/vamp-all { "source_wallets": ["Wallet1...", "Wallet2..."], "destination_wallet": "MainWallet..." } clean funds (privacy swap β solβbnbβsol or solβethβsol, ~5 min) two routes available: bnb (BSC, default) or eth (Arbitrum). source and destination must match 1:1 β use fresh destination wallets. get a quote first: POST /wallets/clean-funds/quote { "amount_sol": 1.0, "route": "bnb" } initiate: POST /wallets/clean-funds { "source_wallets": ["Wallet1..."], "destination_wallets": ["FreshWallet1..."], "route": "bnb" } route: "bnb" (default) | "eth" β xmr is not available. check status: GET /wallets/clean-funds/status
sniping is only available at launch time via sniper_wallets in the /launch payload β see the launch section above. standalone auto-snipe is not available.
token info (price, mcap, volume, holders, bonding curve %) GET /token/{mint} ohlcv chart GET /market/chart/{mint}?limit=500&timeframe=5 timeframe is in minutes. holders GET /market/holders/{mint}?limit=20 recent trades GET /market/trades/{mint}?limit=30
your stats (points, level, exp, trades, volume) GET /auth/user-stats referral stats (tier, l1/l2/l3 counts, earnings, claimable sol) GET /user/referrals claim earnings (pays to your payout wallet) POST /user/referrals/claim leaderboard GET /user/leaderboard/points?limit=50 GET /user/leaderboard/referrals?limit=50
GET /fees/preferences POST /fees/preferences { "fee_mode": "manual", "priority_fee_max_sol": 0.001, "jito_tip_max_sol": 0.0005 } fee_mode: "auto" | "manual"
launching a token: reserve mint β upload image to ipfs β POST /launch β poll GET /launch/{id} coordinated buy: check balances β POST /phases/swarm/buy β GET /user/positions recovering funds: POST /wallets/vamp-all (sells everything + sweeps sol) or POST /wallets/clean-funds (privacy swap via bnb/eth, ~5 min)
api keys start with pb_ β don't log them, don't put them in prompts wallet private keys are encrypted server-side, the api never gives them back reserve-mint returns a mint keypair (the token's contract address keypair, not a wallet key), pass it to /launch as reserved_mint_keypair and discard after use sol amounts are in sol, not lamports slippage is in basis points β 500 = 5% sniping only works at launch time via sniper_wallets in /launch β no standalone auto-snipe clean funds routes: bnb (BSC) or eth (Arbitrum) β xmr is disabled the platform fee wallet is protected, you can't accidentally send to it
~/.openclaw/openclaw.json: { "skills": { "entries": { "gank": { "enabled": true, "apiKey": "pb_your_key_here" } } } } or just set GANK_API_KEY in env. gank.dev Β· dm @pissdart on x or tg if something's broken
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.