bankr x402 sdk – project templates
9
总安装量
0
周安装量
#33488
全站排名
安装命令
npx skills add https://github.com/bankrbot/claude-plugins --skill 'Bankr x402 SDK - Project Templates'
Skill 文档
x402 SDK Project Templates
Directory structures and templates for Bankr SDK projects using x402 micropayments.
Available Templates
| Template | Use Case | Key Features |
|---|---|---|
| bot | Automated tasks | Polling loop, scheduler, transaction execution |
| web-service | HTTP APIs | REST endpoints, async handling, webhook support |
| dashboard | Web UIs | Frontend + backend, portfolio display |
| cli | Command-line tools | Subcommands, interactive prompts |
Bot Template
For automated trading bots, price monitors, portfolio rebalancers, and scheduled tasks.
Directory Structure
{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
Key Features
- Polling loop: Configurable interval for recurring operations
- Transaction execution: Built-in viem integration for sending txs
- Status streaming: Real-time job progress updates
- Error handling: Automatic retries with backoff
- Graceful shutdown: Handles SIGINT/SIGTERM
Use Cases
- Price monitoring and alerts
- Automated swap strategies
- Portfolio rebalancing
- Scheduled market analysis
- DCA-like automation
Entry Point Pattern (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 Service Template
For HTTP APIs that wrap Bankr SDK for mobile apps or integrations.
Directory Structure
{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
Key Features
- REST API endpoints: Clean API design
- Request validation: Input sanitization
- Async handling: Non-blocking SDK operations
- Rate limiting: Prevent abuse
- CORS: Cross-origin support
Use Cases
- API gateway for Bankr SDK
- Mobile app backend
- Trading API for integrations
- Webhook-driven automation
Additional Dependencies
{
"dependencies": {
"express": "^4.18.0"
}
}
Dashboard Template
For web UIs with portfolio tracking, swap interfaces, or monitoring.
Directory Structure
{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
Key Features
- Simple frontend: HTML/CSS/JS (no build step required)
- Backend API: Express server for SDK operations
- Portfolio display: Token balances and values
- Swap interface: Execute swaps through UI
Use Cases
- Portfolio tracking dashboard
- Personal trading interface
- Market monitoring
- Position management
CLI Template
For command-line tools with subcommands and interactive features.
Directory Structure
{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
Key Features
- Commander.js: CLI framework with subcommands
- Interactive prompts: User input when needed
- Progress indicators: Status during SDK calls
- Colored output: Better UX
- Transaction confirmation: Review before execute
Use Cases
- Personal trading tool
- Scripting and automation
- Quick balance checks
- Batch swap operations
Additional Dependencies
{
"dependencies": {
"commander": "^12.0.0"
}
}
CLI Pattern (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();
Choosing a Template
| Need | Recommended Template |
|---|---|
| Automated recurring tasks | bot |
| HTTP API for mobile/web | web-service |
| Visual interface | dashboard |
| Terminal-based tool | cli |
| Price alerts | bot |
| Portfolio viewer | dashboard |
| Quick trades | cli |
Common Files
All templates share common files. Load the x402-client-patterns skill for:
bankr-client.ts– SDK client setupexecutor.ts– Transaction executionpackage.json– Base dependenciestsconfig.json– TypeScript config.env.example– Environment template.gitignore– Standard ignores
Next Steps After Scaffolding
- Install dependencies:
bun installornpm install - Configure wallet: Copy
.env.exampleto.envand addBANKR_PRIVATE_KEY - Fund wallet: Add USDC on Base ($1-2 recommended for API costs)
- Customize: Modify the template for your use case
- Run:
bun devornpm run devfor development - Build:
bun run buildornpm run buildfor production