Bankr x402 SDK - Wallet Operations
SKILL.md
SDK 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