基于 Monad 链的代理支付系统,为智能代理提供安全、可控的支付能力。
Agentic Payment System 是一个专为智能代理(AI Agents)设计的支付管理系统,运行在 Monad 区块链上。它提供了一套完整的支付审批流程,包括策略验证、会话管理和审计日志,确保代理支付的安全性和可追溯性。
- 支持智能代理发起支付请求
- 自动验证支付策略
- 处理人工审批流程
- 执行链上支付操作
- 基于金额、时间、收款地址等多维度的支付策略
- 支持单笔限额、每日限额、每周限额
- 可配置允许的收款地址、代币类型和支付方法
- 自动判断是否需要人工审批
- 为每个代理创建安全的支付会话
- 自动生成临时密钥对
- 会话过期自动清理
- 支持签名和交易验证
- 完整记录所有支付操作
- 支持按代理、用户、状态等多维度查询
- 提供 JSON 和 CSV 格式的导出功能
- 详细的支付状态跟踪
- TypeScript 前端(基于 Vite + React)
- Python 前端(基于 Flask)
- 支持仪表盘、支付历史、策略管理等功能
- 后端:TypeScript、Node.js
- 区块链:Monad、Ethers.js、Viem
- 前端:React、Flask、Tailwind CSS
- 智能合约:Solidity
- Node.js 18.0 或更高版本
- npm 或 yarn 包管理器
- Monad 测试网访问
- 克隆仓库
git clone https://github.com/daoApps/agentic-payment.git
cd agentic-payment- 安装依赖
npm install- 配置环境变量
复制 .env.example 文件为 .env 并填写相关配置:
# Monad 测试网 RPC 地址
RPC_URL=https://testnet.monad.xyz
# 部署后的钱包合约地址
WALLET_ADDRESS=0xYourDeployedWalletAddress
# 用户私钥(仅用于测试)
PRIVATE_KEY=0xYourPrivateKey- 部署智能合约
npm run deploynpm startconst { agentInterface } = require('./src');
async function makePayment() {
const response = await agentInterface.requestPayment({
agentId: 'test-agent-1',
taskId: 'task-001',
recipient: '0xRecipientAddress',
amount: '0.5', // 0.5 ETH
token: '0x0000000000000000000000000000000000000000', // 原生代币
method: '0x00000000', // 标准方法
category: 'api', // 支付类别
purpose: 'API 调用费用'
});
console.log('Payment response:', response);
}
makePayment();async function approvePayment(receiptId) {
const result = await agentInterface.approvePayment(receiptId);
console.log('Approval result:', result);
}function getPaymentStatus(receiptId) {
const status = agentInterface.getPaymentStatus(receiptId);
console.log('Payment status:', status);
}- 进入前端目录
cd frontend- 安装依赖
npm install- 启动开发服务器
npm run dev- 进入 Python 前端目录
cd python-frontend- 安装依赖
pip install -r requirements.txt- 启动服务器
python app.pyagentic-payment/
├── contracts/ # 智能合约
│ └── AgentWallet.sol # 代理钱包合约
├── frontend/ # TypeScript 前端
│ ├── public/ # 静态资源
│ └── src/ # 源代码
├── python-frontend/ # Python 前端
│ ├── static/ # 静态资源
│ └── templates/ # 模板文件
├── scripts/ # 部署脚本
│ └── deploy.js # 合约部署脚本
├── src/ # 核心代码
│ ├── agent/ # 代理接口
│ ├── audit/ # 审计日志
│ ├── policy/ # 策略引擎
│ ├── session/ # 会话管理
│ └── index.ts # 主入口
├── .env.example # 环境变量示例
├── example.js # 使用示例
└── package.json # 项目配置
项目包含一个 AgentWallet.sol 智能合约,用于处理代理支付的链上操作。合约功能包括:
- 管理代理支付会话
- 验证支付签名
- 执行支付操作
- 记录支付事件
- 最小权限原则:每个代理只能在授权范围内进行支付
- 多重验证:结合策略引擎和链上验证
- 完整审计:所有支付操作都有详细的审计记录
- 会话隔离:每个代理使用独立的支付会话
- 自动过期:会话自动过期,减少安全风险
项目包含示例代码,可通过以下命令运行:
npm run example详细的部署指南请参考 python-frontend/DEPLOYMENT_GUIDE.md 文件。
欢迎提交 Issue 和 Pull Request 来改进这个项目。
ISC License
如有问题或建议,请联系项目维护者。