From bankr-x402-sdk-dev
Provides directory structures and TypeScript templates for Bankr x402 SDK projects including bots, web services, dashboards, and CLI tools with code examples.
npx claudepluginhub bankrbot/claude-plugins --plugin bankr-x402-sdk-devThis skill uses the workspace's default tool permissions.
Directory structures and templates for Bankr SDK projects using x402 micropayments.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Directory structures and templates for Bankr SDK projects using x402 micropayments.
| 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 |
For automated trading bots, price monitors, portfolio rebalancers, and scheduled tasks.
{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
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();
For HTTP APIs that wrap Bankr SDK for mobile apps or integrations.
{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
{
"dependencies": {
"express": "^4.18.0"
}
}
For web UIs with portfolio tracking, swap interfaces, or monitoring.
{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
For command-line tools with subcommands and interactive features.
{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
{
"dependencies": {
"commander": "^12.0.0"
}
}
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();
| 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 |
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 ignoresbun install or npm install.env.example to .env and add BANKR_PRIVATE_KEYbun dev or npm run dev for developmentbun run build or npm run build for production