solana-foundation/pay

GitHub: solana-foundation/pay

基于 Solana 稳定币的 HTTP 402 支付中间件,让 AI 代理和命令行工具能安全、透明地访问付费 API。

Stars: 1656 | Forks: 556

# 支付 **HTTP 缺失的支付层。`pay` 通过用户授权的稳定币签名来处理 x402 和 MPP 支付挑战。** 包装一组选定的命令行工具(`curl`、`claude`、`codex`、`whoami` 等)——当稳定币门控 API 返回 402 时,`pay` 会检测支付协议,准备稳定币交易,请求本地钱包授权并签名,然后携带支付证明重试。 [安装](#installation) · [快速开始](#quick-start) · [文档](https://docs.solanapay.com)
``` # 无支付 — 你会收到一个 402 curl https://debugger.pay.sh/mpp/quote/AAPL # 有支付 -- 它会处理 402 质询并返回响应 pay --sandbox curl https://debugger.pay.sh/mpp/quote/AAPL ``` ## 核心特性 ### 💵 透明的 402 处理 包装你的 CLI(`curl`、`claude`、`codex` 等)——当 API 返回 402 时,`pay` 会检测支付协议,准备稳定币交易,请求本地钱包授权并签名,然后携带支付证明重试。 支持 Solana 上的两种实际支付标准: - **[MPP](https://paymentauth.org/draft-solana-charge-00.html/)** — Machine Payments Protocol - **[x402](https://x402.org/)** — x402 Payment Protocol 开箱即用地支持部署在 Solana 上的稳定币。 ### 🤖 基于 MCP 的 AI 原生集成 `pay` 内置了 [MCP](https://modelcontextprotocol.io/) 服务器,让 AI 助手可以通过相同的本地钱包审批流程请求付费 API 调用。 ``` # 将 pay 注入到 agent 会话中以运行 Claude Code 或 Codex pay claude pay codex ``` ### 🛠️ 支付调试与模拟 `pay` 内置了支付调试器——一个本地的 Web UI,可将每一次 402 挑战-响应周期可视化为序列图。准确查看发送了哪些头部信息、使用了哪种协议(MPP 或 x402),以及问题出在哪里。 所有操作均在本地运行——没有任何数据会离开你的设备。 ``` # 在任何 API 规范上启动带有 debugger 的 gateway pay server start --debugger spec.yml # 或者运行捆绑的 demo(sandbox + debugger + 示例 endpoints) pay server demo ``` 还提供了一个[公共调试器](https://debugger.pay.sh)。 ### 🔐 通过生物识别进行门控支付 `pay` 允许 AI 代理使用付费 API,而无需向它们提供你的私钥或全局 API 消费凭证。 当某个命令、Claude Code、Codex 或其他 MCP 客户端访问付费端点时,`pay` 会在本地准备支付,并请求你的钱包后端授权签名。在 macOS 上,这意味着通过 Keychain 使用 Touch ID。在 Windows 上,使用 Windows Hello。在 Linux 上,使用 GNOME Keyring / polkit。如果你拒绝提示,支付将不会被签名,请求也不会被发送。 ``` pay setup # Touch ID on macOS, Windows Hello on Windows, GNOME Keyring on Linux, or choose 1Password ``` ### 📚 开源目录 付费 API 目录在 [`pay-skills`](https://github.com/solana-foundation/pay-skills) 仓库中开源。 任何人都可以贡献服务商列表,改进端点元数据,或为代理添加使用指南。目录条目遵循 [`pay-skills` 贡献指南](https://github.com/solana-foundation/pay-skills/blob/main/CONTRIBUTING.md),该指南定义了元数据、定价、端点和使用说明标准,以保持一致的**代理(Agent)体验**。 ``` pay skills search "maps" ``` 良好的目录条目使人类和代理都能更轻松、安全地发现、比较和使用付费 API。 ## 安装说明 ### 预编译二进制文件 ``` # macOS brew install pay # 通过 NPM npm install -g @solana/pay ``` ### 从源码构建 ``` git clone https://github.com/solana-foundation/pay.git cd pay just install pay ``` ### 验证 ``` pay --version ``` ## 快速开始 ``` # 1. 设置你的账户 pay setup pay whoami # 2. 向 https://debugger.pay.sh sandbox endpoints 发起付费受限 API 调用 pay --sandbox curl https://debugger.pay.sh/mpp/quote/AAPL # 3. 或者让你的 AI agent 来处理 pay claude ``` ## 参与贡献 ``` cd rust just build # release binary just test # all tests just lint # clippy (warnings = errors) ``` 我们欢迎各种贡献——查看[待处理问题](https://github.com/solana-foundation/pay/issues)以开始参与。 ## 故障排除 ### Linux:`pay topup` 或 `pay curl` 报错 "auth failed" GNOME Keyring 认证使用 polkit,这需要进行一次性的设置步骤: ``` sudo cp rust/config/polkit/sh.pay.unlock-keypair.policy /usr/share/polkit-1/actions/ ``` 这将授予 `pay` 在访问密钥对之前提示输入密码或指纹的权限。 ## 许可证 MIT — 见 [LICENSE](./LICENSE)。 在遵守上述前提的条件下,请参阅 [solana.com/tos](https://solana.com/tos) 上的服务条款
标签:API支付, API网关, API鉴权, Claude, Codex, Curl包装器, CVE检测, HTTP 402处理, MCP, MPP协议, PE 加载器, Solana, Web3, x402协议, 人工智能基础设施, 加密货币支付, 区块链, 可视化界面, 威胁情报, 开发者工具, 微支付, 支付调试, 智能合约, 本地钱包, 机器支付, 稳定币, 自动化支付, 通知系统