B
Bankr x402 SDK - Wallet Operations
About Bankr x402 SDK - Wallet Operations
A Bankr SDK skill for configuring BankrClient wallet operations. It explains payment and receiving wallet roles, request methods, and security practices such as separating wallets.
Key features
- 01Payment and receiving wallet setup
- 02Per-request receiving wallet override
- 03Prompt submission and job controls
- 04API endpoint and timeout options
- 05Wallet security practices
Use cases
- 01Configure BankrClient credentials
- 02Separate payment and receiving wallets
- 03Submit prompts and manage jobs
- 04Set a receiving wallet for one request
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ bankrbot/ claude-plugins --skill bankr-x402-sdk---wallet-operationsAfter installing, type/bankr-x402-sdk---wallet-operationsin Claude Code to confirm it loaded.
Details
From the project READMESDK Wallet Operations
Initialize and configure the BankrClient with proper wallet setup.
Two-Wallet System
| Wallet | Purpose | Required |
|---|---|---|
Payment (privateKey) | Signs x402 micropayments ($0.01/request) | Yes |
Context (walletAddress) | Receives swapped tokens, NFTs | No (defaults to payment wallet) |
Basic Setup
import { BankrClient } from "@bankr/sdk";
const client = new BankrClient({
privateKey: process.env.BANKR_PRIVATE_KEY as `0x${string}`,
});
const result = await client.promptAndWait({
prompt: "What are my balances?",
});
Separate Wallets (Recommended)
For enhanced security, use different wallets for payments and receiving:
const client = new BankrClient({
// Hot wallet with minimal USDC for payments
privateKey: process.env.PAYMENT_WALLET_PK as `0x${string}`,
// Cold/trading wallet receives tokens
walletAddress: process.env.RECEIVING_WALLET,
});
Configuration Options
| Option | Type | Required | Description |
|---|---|---|---|
privateKey | 0x${string} | Yes | Payment wallet private key |
walletAddress | string | No | Override receiving wallet |
baseUrl | string | No | API endpoint (default: production) |
timeout | number | No | Request timeout ms (default: 600000) |
SDK Methods
| Method | Description |
|---|---|
promptAndWait() | Submit prompt and wait for result |
prompt() | Submit prompt, return immediately |
pollJob() | Poll until job completes |
getJobStatus() | Check job status once |
cancelJob() | Cancel pending/processing job |
getWalletAddress() | Get context wallet address |
Per-Request Override
// Override wallet for a single request
const result = await client.promptAndWait({
prompt: "Swap 0.1 ETH to USDC",
walletAddress: "0xDifferentWallet...",
});
Environment Setup
# Required
BANKR_PRIVATE_KEY=0x...your_payment_wallet_key...
# Optional
BANKR_WALLET_ADDRESS=0x...your_receiving_wallet...
Security Best Practices
- Never commit private keys - Use environment variables
- Minimize payment wallet balance - Keep only $1-2 USDC
- Use separate wallets - Payment (hot) vs receiving (cold)
- Rotate keys periodically - If payment wallet compromised
Related Skills
- sdk-capabilities: Full list of supported operations
- sdk-job-management: Async job handling and polling
Comments
Markdown supported