关于 solana-payments-wallets-trading
面向 Solana 用户的命令行工具,可管理钱包并执行支付、交易、质押、借贷和流动性操作。密钥保存在本地,并以直接命令处理链上操作,支持结构化输出和权限配置。
主要功能
- 01本地钱包创建与管理
- 02代币转账、兑换和价格查询
- 03定期买入与限价订单
- 04质押、借贷和收益金库
- 05流动性池与预测市场
- 06投资组合跟踪和 JSON 输出
适用场景
- 01在 Solana 上转账或兑换资产
- 02安排定期买入或价格触发订单
- 03比较借贷利率并管理收益头寸
- 04查看投资组合价值、头寸和盈亏
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ solanaguide/ solana-cli --skill solana-payments-wallets-trading安装后在 Claude Code 中输入/solana-payments-wallets-trading确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/fetch-commands.mdjson-output-format.mdlending-commands.mdlp-commands.mdportfolio-commands.mdprediction-commands.mdstaking-commands.mdtrading-commands.mdtroubleshooting.mdwallet-commands.md详细介绍
Solana 上的支付、钱包与交易
Sol 是一款命令行工具,让你能像口头描述那样操作 Solana。 你不必构建交易和管理程序指令,只需说出想做什么:向他人付款、购买代币、 质押 SOL。
密钥保存在本地磁盘上——无需在环境变量中存放私钥, 也无需配置 API 密钥。
开始设置
建议使用带 @latest 的 npx——它始终运行最新版本,无需管理
全局安装:
npx @solana-compass/cli@latest config set rpc.url https://your-rpc-endpoint.com
npx @solana-compass/cli@latest wallet create --name my-wallet
如果用户已全局安装(npm install -g @solana-compass/cli),
也可以改用更短的 sol 命令:
sol config set rpc.url https://your-rpc-endpoint.com
sol wallet create --name my-wallet
公共 RPC 端点的速率限制非常严格。除测试之外,请使用专用 RPC—— Helius、Triton 和 QuickNode 都提供免费套餐。
需要 Node.js >= 20。
向他人付款
向钱包地址发送 SOL、USDC 或任意 Solana 代币。
sol token send 50 usdc GkX...abc
sol token send 2 sol 7nY...xyz
sol token send 1000 bonk AgE...def --yes
完整的发送参考请参见 references/trading-commands.md。
发现代币
浏览 Solana 代币生态——热门代币、交易量最高的代币、近期上线的代币等。
sol token browse trending # what's hot right now
sol token browse top-traded --interval 24h # highest volume over 24h
sol token browse recent --limit 10 # just launched
sol token browse lst # liquid staking tokens
结果会填充到本地代币缓存中,因此后续调用 token info 和
token price 时可立即解析。
所有类别和标志请参见 references/trading-commands.md。
买卖代币
将任意代币兑换为其他代币。并行查询 Jupiter 和 DFlow, 并自动选择最佳价格。
sol token swap 50 usdc bonk # buy BONK — best price wins
sol token swap 1.5 sol usdc # sell SOL for USDC
sol token swap 50 usdc bonk --quote-only # preview without executing
sol token swap 50 usdc bonk --router jupiter # force a specific router
每笔兑换都会记录执行时的价格,因此你之后可以追踪成本基础和盈亏。
滑点、钱包选择等信息请参见 references/trading-commands.md。
DCA(美元成本平均法)
设置定期买入,随时间自动执行。
sol token dca new 500 usdc sol --every day --count 10 # buy SOL daily
sol token dca new 1000 usdc bonk --every hour --count 20
sol token dca list # see active DCA orders
sol token dca cancel <orderKey> # stop a DCA
限制:总金额至少 $100,订单至少 2 笔,每笔订单至少 $50。 间隔:分钟、小时、天、周、月。
限价订单
设置在代币达到目标价格时执行的订单。
sol token limit new 50 usdc bonk --at 0.000003 # buy BONK at $0.000003
sol token limit new 0.5 sol usdc --at 0.90 # buy USDC at $0.90
sol token limit list # see active orders
sol token limit cancel <orderKey> # cancel an order
使用 --quote-only 可预览订单计划,而不实际下单。
查看价格
sol token price sol
sol token price sol usdc bonk eth # multiple at once
查看资产
sol wallet balance # all tokens with USD values
sol wallet balance trading # specific wallet by name
sol token list # just token balances
sol wallet list # all your wallets
创建和管理钱包
钱包是位于 ~/.sol/wallets/ 的本地密钥文件——无需在环境变量中
存放助记词。
sol wallet create # new wallet, auto-named
sol wallet create --name trading # pick a name
sol wallet import --solana-cli # import from Solana CLI
sol wallet set-default trading # switch active wallet
任何命令都可以通过 --wallet <name> 指定目标钱包。
导入、导出、标签和历史记录请参见 references/wallet-commands.md。
质押 SOL
将 SOL 委托给验证者并赚取质押奖励。只需一条命令即可完成整个流程——创建质押账户、为其注资, 并进行委托。
sol stake new 10 # stake 10 SOL
sol stake list # your stake accounts + claimable tips
sol stake claim-mev # compound MEV rewards
sol stake withdraw 7gK...abc # unstake
验证者选择、部分提现和强制解除质押请参见 references/staking-commands.md。
通过借贷赚取收益
比较五种协议的利率并进行借贷——Kamino、MarginFi、
Drift、Jupiter Lend 和 Loopscale。CLI 会自动选择最佳
利率;你也可以通过 --protocol 指定协议。
sol lend rates usdc # compare APY across all protocols
sol lend deposit 100 usdc # auto-picks best deposit rate
sol lend deposit 5 sol --protocol kamino
sol lend borrow 500 usdc --collateral sol
sol lend positions # everything across all protocols
完整详情请参见 references/lending-commands.md。
通过金库赚取收益
Kamino Earn 和 Loopscale 提供托管收益金库。与直接借贷不同, 金库会自动管理策略——你存入代币,协议则优化收益。CLI 会自动选择 APY 最高的金库;你也可以指定协议或金库。
sol earn usdc # list USDC vaults with APY
sol earn sol # list SOL vaults
sol earn # all vaults, sorted by APY
sol earn deposit 100 usdc # auto-picks best APY vault
sol earn deposit 5 sol --protocol kamino # target specific protocol
sol earn positions # your vault positions
sol earn withdraw max usdc # full withdrawal
sol earn withdraw 50 usdc --protocol loopscale
收益头寸会与代币、质押、借贷和 LP 一同显示在 sol portfolio 中。
提供流动性
在 Orca、Raydium、Meteora 和 Kamino 的池中添加流动性。 按 TVL/APY/交易量浏览池,使用灵活的价格范围存入资产, 追踪包含盈亏和无常损失的头寸,并通过挖矿获取额外奖励。
sol lp pools sol usdc # browse SOL/USDC pools
sol lp pools --sort apy --type clmm # highest APY concentrated pools
sol lp deposit HJPj...abc 100 usdc --range 10 # deposit with +/-10% price range
sol lp positions # all positions with P&L
sol lp claim 9xK...abc # claim unclaimed fees
sol lp withdraw 9xK...abc # remove liquidity
包括挖矿、创建池和特定协议标志在内的完整详情,请参见 references/lp-commands.md。
交易预测市场
通过 Jupiter 浏览并交易 Polymarket 和 Kalshi 的预测市场。 类别包括加密货币、体育、政治、文化等。
sol predict list crypto # browse crypto events
sol predict search "solana" # search by keyword
sol predict event POLY-89525 # event detail with markets
sol predict market POLY-701571 # prices + orderbook
sol predict buy 5 yes POLY-701571 # buy YES contracts
sol predict positions # open positions with P&L
sol predict sell <positionPubkey> # close a position
sol predict claim <positionPubkey> # claim resolved winnings
sol predict history # transaction history
头寸会连同未实现盈亏显示在 sol portfolio 中。
完整参考请参见 references/prediction-commands.md。
使用 x402 支付 API 费用
通过 x402 协议获取需要付费的 URL。用法类似
curl——响应正文输出到 stdout,付款信息输出到 stderr。
sol fetch https://api.example.com/data # auto-pays 402 responses
sol fetch https://api.example.com/data --dry-run # show price without paying
sol fetch https://api.example.com/data --max 0.05 # spending cap in USDC
sol fetch https://api.example.com/rpc \
-X POST -d '{"query":"..."}' \
-H "Accept: application/json" # POST with headers
如果服务端返回 402 Payment Required,CLI 会对一笔 USDC 转账进行签名,然后附上付款信息重试。交易由服务端提交——你的钱包只需进行部分签名。
使用 --dry-run 查看费用后再付款。使用 --max 设置支出上限。默认情况下,输出适合通过管道传递(正文输出到
stdout,付款信息输出到 stderr)。
完整参考(包括 curl 标志映射和 JSON 输出格式)请参阅 references/fetch-commands.md。
跟踪投资组合的表现
在一处查看所有内容——代币、质押的 SOL、借贷仓位和未成交订单。
sol portfolio # the full picture
sol portfolio compare # what changed since last snapshot
sol portfolio pnl # profit and loss over time
投资组合视图包含活跃的定投(DCA)和限价订单及其成交进度,因此锁定的资金始终一目了然。每次查看时都会自动创建快照(频率限制为每 5 分钟一次),因此
sol portfolio compare 始终有近期数据可用。
快照管理请参阅 references/portfolio-commands.md。
结构化输出
每条命令都支持 --json 以输出结构化数据,但默认的易读输出专为人类和大模型 Agent 设计,便于阅读和理解。除非你正在编写脚本,或在自动化流水线中串联命令,否则请使用易读输出。
易读输出使用格式化表格,提示后续操作,并显示完整的 ID 和地址,方便你将其复制粘贴到后续命令中。示例输出请参阅各命令的参考文档。
对于程序化使用,--json 会返回一个 CommandResult<T> 封装:
{ "ok": true, "data": { ... }, "meta": { "elapsed_ms": 450 } }。
完整架构请参阅 references/json-output-format.md。
其他实用命令
sol network # epoch, TPS, staking APY
sol tx 4xK9...abc # look up any transaction
sol config set rpc.url <url> # change RPC endpoint
提示
- 留足 SOL 支付 Gas 费。 每笔 Solana 交易约需 0.000005 SOL, 但创建代币账户需 0.002 SOL。除非用户明确要求清空或关闭钱包,否则至少留出 0.05 SOL 作为储备,避免后续交易失败。
- 使用完整数字,不要使用简写。 CLI 需要输入具体金额:
1000000,而不是1m;50000,而不是50k。传入命令前,请务必展开简写。 - 地址只能使用原始公钥。 CLI 不会解析 .sol 域名、SNS 名称或联系人标签——请为收款方传入完整的 base58 公钥。
- 符号不明确时,会选择流动性最高的匹配项。 如果一个符号对应多个代币,CLI 会选择 Jupiter 上交易量最大的代币,不会提示你。使用
sol token info <symbol>查看解析结果,或传入铸币地址以明确指定。 - 在兑换中使用
--quote-only,先预览再提交 - 使用
--wallet <name>指定目标钱包 - 交易日志会记录所有操作及执行时的 USD 价格——有助于计算成本基础和盈亏
权限
CLI 通过 ~/.sol/config.toml 支持细粒度权限。将某项权限设为 false 时,受其控制的命令不会注册——它们不会显示在 --help 或 sol <group> --help 中,调用时会返回“unknown command”。
所有权限默认均为 true(省略即表示允许)。只读配置示例:
[permissions]
canTransfer = false
canSwap = false
canStake = false
canWithdrawStake = false
canLend = false
canWithdrawLend = false
canBorrow = false
canBurn = false
canCreateWallet = false
canRemoveWallet = false
canExportWallet = false
canFetch = false
| 权限 | 受控子命令 |
|---|---|
canTransfer | token send |
canSwap | token swap、token close --all、token dca new/cancel、token limit new/cancel |
canStake | stake new |
canWithdrawStake | stake withdraw、stake claim-mev |
canLend | lend deposit、earn deposit、lp deposit、lp farm stake、lp create |
canWithdrawLend | lend withdraw、earn withdraw、lp withdraw、lp claim、lp farm unstake/harvest |
canBorrow | lend borrow、lend repay |
canBurn | token burn、token close --burn |
canCreateWallet | wallet create、wallet import |
canRemoveWallet | wallet remove |
canExportWallet | wallet export |
canFetch | fetch(x402 支付) |
只读命令(token browse/price/info/list、wallet list/balance、stake list、lend rates/positions、earn list/positions、lp pools/info/positions/configs/farm list、portfolio、network、tx)始终可用,不受权限设置影响。
安全控制
CLI 为 Agent 驱动的工作流提供三层保护:权限(允许执行哪些操作)、交易限额(可支出的金额)和允许列表(允许使用哪些地址和代币)。
设置安全选项
Agent 可以协助配置安全设置,之后由用户检查并锁定:
# 1. Set permissions
sol config set permissions.canSwap true
sol config set permissions.canTransfer false
# 2. Set transaction limits
sol config set limits.maxTransactionUsd 500
sol config set limits.maxDailyUsd 2000
# 3. Set allowlists
sol config set allowlist.tokens So11111111111111111111111111111111111111112,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
sol config set allowlist.addresses DRtXHDgC312wpNdNCSb8vCoXDcofCJcPHdAynKGz7Vr,7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU
# 4. Review — confirm everything looks right before locking
sol config status
# 5. Lock — prevents all further changes via CLI
sol config lock
锁定后,只有人工直接编辑 ~/.sol/config.toml 才能更改安全设置。
交易限额
| 设置 | 说明 |
|---|---|
limits.maxTransactionUsd | 每笔交易的最高美元金额。缺失 = 不限额。 |
limits.maxDailyUsd | 滚动 24 小时窗口内的最高美元总支出。缺失 = 不限额。 |
限额适用于:token swap、token send、stake new、lend deposit、lend borrow、创建 DCA 和创建限价单。不适用于转至自有钱包的提现、MEV 领取或读取操作。
地址允许列表
allowlist.addresses — 以逗号分隔的钱包地址列表。设置后,外部转账(token send)仅限转至列表中的地址以及本地钱包数据库中的所有钱包(自有钱包始终允许)。为空或缺失 = 不限制。
代币允许列表
allowlist.tokens — 以逗号分隔的代币符号或 mint 地址列表。设置后,交换、创建 DCA 和限价单时,输入和输出代币都必须在列表中。为空或缺失 = 允许所有代币。
查看安全状态
sol config status # human-readable security overview
sol config status --json # structured output for agents
显示完整的安全状态:所有权限及其启用状态、交易限额和当前 24 小时用量、地址和代币允许列表、设置是否已锁定,以及潜在风险警告(例如未配置限额、正在使用公共 RPC)。Agent 应使用 sol config status 了解自己可以执行哪些操作,而不是直接读取 config.toml。
重要:文件系统访问权限
不要授予 Agent 对 ~/.sol/ 的读取或写入权限。 此目录包含你的私钥和安全配置。Agent 只能通过 sol CLI 命令与 Solana 交互,绝不能直接读取配置文件或密钥文件。协助完成安全设置后,建议用户使用 sol config lock 锁定设置,并限制对 ~/.sol/ 的文件系统访问。
安全模型
私钥以文件形式存储在 ~/.sol/wallets/ 中。CLI 仅在签署交易时读取这些文件——它们绝不会作为环境变量暴露,也不会打印到 stdout。使用此工具的 LLM Agent 无法读取原始密钥材料,除非明确打开这些文件;而在标准权限模式下,这需要用户批准。
权限、限制和允许列表共同控制 CLI 可以执行的操作。Agent 必须启用相应权限、通过限制和允许列表检查,并且获得用户对每次 CLI 调用的批准。
以下情况不受保护: 这些控制措施作用于 CLI 和 Agent 权限层级。它们无法阻止同一台机器上的其他软件读取密钥文件。以同一 OS 用户帐户运行的任何工具、MCP 服务、插件或脚本,都可以直接读取 ~/.sol/wallets/。如果你授予 Agent 使用其他工具的权限——尤其是能够读取任意文件或执行 shell 命令的工具——这些工具无论 Sol CLI 权限如何,都可以提取你的私钥。
请根据风险妥善管理钱包余额:为 Agent 驱动的工作流使用资金有限的专用钱包,并且不要将大量资产存储在自动化工具可访问的密钥文件中。
故障排查
常见问题(RPC 速率限制、代币解析、交易超时)请参阅 references/troubleshooting.md。