关于 Bankr x402 SDK - Project Templates
这是一组用于构建 Bankr SDK x402 微支付项目的 TypeScript 模板,面向开发者。模板涵盖自动化 Bot、HTTP 服务、仪表盘和命令行工具。
主要功能
- 01含轮询与调度的 Bot 模板
- 02含 REST 端点的 HTTP 服务模板
- 03展示投资组合与兑换的仪表盘模板
- 04含子命令和交互提示的 CLI 模板
- 05共享 SDK 与交易执行文件
适用场景
- 01搭建定时交易或监控 Bot
- 02围绕 Bankr SDK 构建 HTTP API
- 03创建投资组合仪表盘或兑换界面
- 04启动终端交易工具
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bankrbot/ claude-plugins --skill bankr-x402-sdk---project-templates安装后在 Claude Code 中输入/bankr-x402-sdk---project-templates确认已加载。
详细介绍
x402 SDK 项目模板
为使用 x402 小额支付的 Bankr SDK 项目提供目录结构和模板。
可用模板
| 模板 | 使用场景 | 主要功能 |
|---|---|---|
| bot | 自动化任务 | 轮询循环、调度器、交易执行 |
| web-service | HTTP API | REST 端点、异步处理、Webhook 支持 |
| dashboard | Web UI | 前端 + 后端、投资组合展示 |
| cli | 命令行工具 | 子命令、交互式提示 |
Bot 模板
适用于自动交易机器人、价格监控器、投资组合再平衡工具和定时任务。
目录结构
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│ ├── index.ts # Main entry point with scheduler
│ ├── bankr-client.ts # Bankr SDK client (from x402-client-patterns skill)
│ ├── executor.ts # Transaction execution with viem/ethers
│ ├── types.ts # TypeScript interfaces
│ └── config.ts # Configuration loading
└── scripts/
└── run.sh # Convenience script
主要功能
- 轮询循环:可配置重复操作的间隔
- 交易执行:内置 viem 集成,用于发送交易
- 状态流式传输:实时更新任务进度
- 错误处理:自动重试并逐步延长间隔
- 平稳关闭:处理 SIGINT/SIGTERM
使用场景
- 价格监控和提醒
- 自动化兑换策略
- 投资组合再平衡
- 定时市场分析
- 类似 DCA 的自动化
入口点模式(index.ts)
import { bankrClient } from "./bankr-client";
import { executeTransaction } from "./executor";
const INTERVAL = 60000; // 1 minute
async function runBot() {
console.log("Starting Bankr SDK bot...");
while (true) {
try {
const result = await bankrClient.promptAndWait({
prompt: "Check ETH price",
onStatusUpdate: (msg) => console.log("Status:", msg),
});
if (result.status === "completed") {
console.log("Result:", result.response);
// Execute transactions if returned
if (result.transactions?.length) {
for (const tx of result.transactions) {
await executeTransaction(tx);
}
}
}
} catch (error) {
console.error("Error:", error);
}
await new Promise((r) => setTimeout(r, INTERVAL));
}
}
runBot();
Web 服务模板
适用于将 Bankr SDK 封装起来,供移动应用或集成使用的 HTTP API。
目录结构
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│ ├── index.ts # Server entry point
│ ├── server.ts # Express/Fastify server setup
│ ├── routes/
│ │ ├── health.ts # Health check endpoint
│ │ ├── swap.ts # Swap endpoints
│ │ └── portfolio.ts # Portfolio endpoints
│ ├── bankr-client.ts # Bankr SDK client
│ ├── types.ts # TypeScript interfaces
│ └── config.ts # Configuration loading
└── scripts/
└── run.sh
主要功能
- REST API 端点:简洁的 API 设计
- 请求验证:输入清理
- 异步处理:非阻塞式 SDK 操作
- 速率限制:防止滥用
- CORS:支持跨源请求
使用场景
- Bankr SDK 的 API 网关
- 移动应用后端
- 面向集成的交易 API
- 由 Webhook 驱动的自动化
其他依赖项
{
"dependencies": {
"express": "^4.18.0"
}
}
Dashboard 模板
适用于带有投资组合跟踪、兑换界面或监控功能的 Web UI。
目录结构
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── server/
│ ├── index.ts # Backend server
│ ├── bankr-client.ts # Bankr SDK client
│ ├── routes/
│ │ └── api.ts # API routes for frontend
│ └── types.ts
├── public/
│ ├── index.html # Main HTML page
│ ├── styles.css # Basic styles
│ └── app.js # Frontend JavaScript
└── scripts/
└── run.sh
主要功能
- 简易前端:HTML/CSS/JS(无需构建步骤)
- 后端 API:用于 SDK 操作的 Express 服务
- 投资组合展示:代币余额和价值
- 兑换界面:通过 UI 执行兑换
使用场景
- 投资组合跟踪仪表板
- 个人交易界面
- 市场监控
- 仓位管理
CLI 模板
适用于带有子命令和交互功能的命令行工具。
目录结构
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│ ├── index.ts # CLI entry with commander.js
│ ├── commands/
│ │ ├── swap.ts # Swap commands
│ │ ├── balance.ts # Balance query commands
│ │ └── send.ts # Transfer commands
│ ├── bankr-client.ts # Bankr SDK client
│ ├── executor.ts # Transaction execution
│ └── types.ts
└── scripts/
└── run.sh
主要功能
- Commander.js:带子命令的 CLI 框架
- 交互式提示:需要时获取用户输入
- 进度指示器:显示 SDK 调用期间的状态
- 彩色输出:改善用户体验
- 交易确认:执行前进行检查
使用场景
- 个人交易工具
- 脚本和自动化
- 快速查询余额
- 批量兑换操作
其他依赖项
{
"dependencies": {
"commander": "^12.0.0"
}
}
CLI 模式(index.ts)
import { program } from "commander";
import { swap } from "./commands/swap";
import { balance } from "./commands/balance";
program
.name("bankr-cli")
.description("CLI for Bankr SDK operations")
.version("1.0.0");
program
.command("balance")
.description("Get wallet balances")
.action(balance);
program
.command("swap <amount> <from> <to>")
.description("Swap tokens")
.option("-c, --chain <chain>", "Target chain", "base")
.option("-y, --yes", "Skip confirmation")
.action(swap);
program.parse();
选择模板
| 需求 | 推荐模板 |
|---|---|
| 自动重复任务 | bot |
| 移动端/Web HTTP API | web-service |
| 可视化界面 | dashboard |
| 基于终端的工具 | cli |
| 价格提醒 | bot |
| 投资组合查看器 | dashboard |
| 快速交易 | cli |
常见文件
所有模板共用以下文件。加载 x402-client-patterns 技能以获取:
bankr-client.ts- SDK 客户端设置executor.ts- 交易执行package.json- 基础依赖项tsconfig.json- TypeScript 配置.env.example- 环境模板.gitignore- 标准忽略项
脚手架搭建后的后续步骤
- 安装依赖项:
bun install或npm install - 配置钱包:将
.env.example复制为.env,并添加BANKR_PRIVATE_KEY - 为钱包注资:在 Base 上添加 USDC(建议准备 $1-2,用于支付 API 费用)
- 自定义:根据使用场景修改模板
- 运行:开发时使用
bun dev或npm run dev - 构建:生产环境使用
bun run build或npm run build
评论
支持 Markdown