Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Agentic Payment System

基于 Monad 链的代理支付系统,为智能代理提供安全、可控的支付能力。

项目简介

Agentic Payment System 是一个专为智能代理(AI Agents)设计的支付管理系统,运行在 Monad 区块链上。它提供了一套完整的支付审批流程,包括策略验证、会话管理和审计日志,确保代理支付的安全性和可追溯性。

核心功能

1. 代理支付请求处理

  • 支持智能代理发起支付请求
  • 自动验证支付策略
  • 处理人工审批流程
  • 执行链上支付操作

2. 策略引擎

  • 基于金额、时间、收款地址等多维度的支付策略
  • 支持单笔限额、每日限额、每周限额
  • 可配置允许的收款地址、代币类型和支付方法
  • 自动判断是否需要人工审批

3. 会话管理

  • 为每个代理创建安全的支付会话
  • 自动生成临时密钥对
  • 会话过期自动清理
  • 支持签名和交易验证

4. 审计日志

  • 完整记录所有支付操作
  • 支持按代理、用户、状态等多维度查询
  • 提供 JSON 和 CSV 格式的导出功能
  • 详细的支付状态跟踪

5. 前端界面

  • TypeScript 前端(基于 Vite + React)
  • Python 前端(基于 Flask)
  • 支持仪表盘、支付历史、策略管理等功能

技术栈

  • 后端:TypeScript、Node.js
  • 区块链:Monad、Ethers.js、Viem
  • 前端:React、Flask、Tailwind CSS
  • 智能合约:Solidity

安装指南

前提条件

  • Node.js 18.0 或更高版本
  • npm 或 yarn 包管理器
  • Monad 测试网访问

安装步骤

  1. 克隆仓库
git clone https://github.com/daoApps/agentic-payment.git
cd agentic-payment
  1. 安装依赖
npm install
  1. 配置环境变量

复制 .env.example 文件为 .env 并填写相关配置:

# Monad 测试网 RPC 地址
RPC_URL=https://testnet.monad.xyz

# 部署后的钱包合约地址
WALLET_ADDRESS=0xYourDeployedWalletAddress

# 用户私钥(仅用于测试)
PRIVATE_KEY=0xYourPrivateKey
  1. 部署智能合约
npm run deploy

使用方法

1. 启动系统

npm start

2. 发起支付请求

const { 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();

3. 批准支付(需要人工审批的情况)

async function approvePayment(receiptId) {
  const result = await agentInterface.approvePayment(receiptId);
  console.log('Approval result:', result);
}

4. 查询支付状态

function getPaymentStatus(receiptId) {
  const status = agentInterface.getPaymentStatus(receiptId);
  console.log('Payment status:', status);
}

前端使用

TypeScript 前端

  1. 进入前端目录
cd frontend
  1. 安装依赖
npm install
  1. 启动开发服务器
npm run dev

Python 前端

  1. 进入 Python 前端目录
cd python-frontend
  1. 安装依赖
pip install -r requirements.txt
  1. 启动服务器
python app.py

项目结构

agentic-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

联系方式

如有问题或建议,请联系项目维护者。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages