Bankr x402 SDK - Project Templates について
Bankr SDKとx402マイクロペイメントを使うTypeScriptプロジェクト向けのテンプレート集です。自動化ボット、HTTPサービス、ダッシュボード、コマンドラインツールのひな形を提供します。
主な機能
- 01ポーリングとスケジューラーを備えたボット用テンプレート
- 02RESTエンドポイントを備えたHTTPサービス用テンプレート
- 03ポートフォリオとスワップ画面用ダッシュボードテンプレート
- 04サブコマンドと対話プロンプトを備えたCLIテンプレート
- 05SDKとトランザクション実行用の共通ファイル
活用シーン
- 01定期取引や監視ボットのひな形作成
- 02Bankr 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"
}
}
ダッシュボードテンプレート
ポートフォリオの追跡、スワップインターフェース、監視機能を備えた 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 を追加します(API コストとして $1-2 を推奨)
- カスタマイズする:用途に合わせてテンプレートを変更します
- 実行する:開発環境では
bun devまたはnpm run dev - ビルドする:本番環境向けには
bun run buildまたはnpm run build
コメント
Markdown 対応