mcpField
S
solana-payments-wallets-trading

solana-payments-wallets-trading

github.com/solanaguide其他7476 次安装34 周前更新
代码仓库

关于 solana-payments-wallets-trading

面向 Solana 用户的命令行工具,可管理钱包并执行支付、交易、质押、借贷和流动性操作。密钥保存在本地,并以直接命令处理链上操作,支持结构化输出和权限配置。

主要功能

  1. 01本地钱包创建与管理
  2. 02代币转账、兑换和价格查询
  3. 03定期买入与限价订单
  4. 04质押、借贷和收益金库
  5. 05流动性池与预测市场
  6. 06投资组合跟踪和 JSON 输出

适用场景

  1. 01在 Solana 上转账或兑换资产
  2. 02安排定期买入或价格触发订单
  3. 03比较借贷利率并管理收益头寸
  4. 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.md
json-output-format.md
lending-commands.md
lp-commands.md
portfolio-commands.md
prediction-commands.md
staking-commands.md
trading-commands.md
troubleshooting.md
wallet-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
权限受控子命令
canTransfertoken send
canSwaptoken swap、token close --all、token dca new/cancel、token limit new/cancel
canStakestake new
canWithdrawStakestake withdraw、stake claim-mev
canLendlend deposit、earn deposit、lp deposit、lp farm stake、lp create
canWithdrawLendlend withdraw、earn withdraw、lp withdraw、lp claim、lp farm unstake/harvest
canBorrowlend borrow、lend repay
canBurntoken burn、token close --burn
canCreateWalletwallet create、wallet import
canRemoveWalletwallet remove
canExportWalletwallet export
canFetchfetch(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。

评论

支持 Markdown