singularityhacker/bank-skills/bank-skill

Claude Code and agent skill by singularityhacker/bank-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Traditional banking via Wise API + on-chain token swaps on Base

Install

npx vskill@latest install singularityhacker/bank-skills/bank-skill

SKILL.md

Bank Skill

Purpose

Gives AI agents traditional banking capabilities (via Wise API) and on-chain token operations (via Uniswap on Base). Agents can check balances, send money, retrieve account details, create Ethereum wallets, swap tokens, and send tokens—all through a single skill.

Prerequisites

For Banking (Wise API):

  • WISE_API_TOKEN environment variable (required)
  • Optional: WISE_PROFILE_ID (defaults to first available profile)

For Token Operations (Base Network):

  • Optional: CLAWBANK_WALLET_PASSWORD (wallet keystore password, defaults to "clawbank-default")
  • Optional: BASE_RPC_URL (Base RPC endpoint, defaults to https://mainnet.base.org)

Operations

Banking Operations (Wise API)
1. Check Balance

Purpose: Query Wise multi-currency balances for the configured profile.

Inputs:

  • action: "balance" (required)
  • currency: Currency code filter, e.g. "USD" (optional — returns all if omitted)

Outputs:

  • JSON array of balance objects, each with currency, amount, and reservedAmount

Usage:

bash
echo '{"action": "balance"}' | ./run.sh
echo '{"action": "balance", "currency": "USD"}' | ./run.sh

Example output:

json
{
"success": true,
"balances": [
{"currency": "USD", "amount": 1250.00, "reservedAmount": 0.00},
{"currency": "EUR", "amount": 500.75, "reservedAmount": 10.00}
]
}
2. Get Receive Details

Purpose: Retrieve account number, routing number, IBAN, and related info so others can send you payments.

Inputs:

  • action: "receive-details" (required)
  • currency: Currency code, e.g. "USD" (optional — returns all if omitted)

Outputs:

  • JSON object with account holder name, account number, routing number (or IBAN/SWIFT for non-USD), and bank name

Usage:

bash
echo '{"action": "receive-details"}' | ./run.sh
echo '{"action": "receive-details", "currency": "USD"}' | ./run.sh

Example output:

json
{
"success": true,
"details": [
{
"currency": "USD",
"accountHolder": "Your Business Name",
"accountNumber": "1234567890",
"routingNumber": "026073150",
"bankName": "Community Federal Savings Bank"
}
]
}
3. Send Money

Purpose: Initiate a transfer from your Wise balance to a recipient.

Inputs:

  • action: "send" (required)
  • sourceCurrency: Source currency code, e.g. "USD" (required)
  • targetCurrency: Target currency code, e.g. "EUR" (required)
  • amount: Amount to send as a number (required)
  • recipientName: Full name of the recipient (required)
  • recipientAccount: Recipient account number or IBAN (required)

Additional fields for USD ACH transfers:

  • recipientRoutingNumber: 9-digit ABA routing number (required)
  • recipientCountry: Two-letter country code, e.g. "US" (required)
  • recipientAddress: Street address (required)
  • recipientCity: City (required)
  • recipientState: State code, e.g. "NY" (required)
  • recipientPostCode: ZIP/postal code (required)
  • recipientAccountType: "CHECKING" or "SAVINGS" (optional, defaults to "CHECKING")

Outputs:

  • JSON object with transfer ID, status, and confirmation details

USD ACH Transfer Example:

bash
echo '{
"action": "send",
"sourceCurrency": "USD",
"targetCurrency": "USD",
"amount": 100.00,
"recipientName": "John Smith",
"recipientAccount": "123456789",
"recipientRoutingNumber": "111000025",
"recipientCountry": "US",
"recipientAddress": "123 Main St",
"recipientCity": "New York",
"recipientState": "NY",
"recipientPostCode": "10001",
"recipientAccountType": "CHECKING"
}' | ./run.sh

EUR IBAN Transfer Example (simpler):

bash
echo '{
"action": "send",
"sourceCurrency": "USD",
"targetCurrency": "EUR",
"amount": 100.00,
"recipientName": "Jane Doe",
"recipientAccount": "DE89370400440532013000"
}' | ./run.sh

Example output:

json
{
"success": true,
"transfer": {
"id": 12345678,
"status": "processing",
"sourceAmount": 100.00,
"sourceCurrency": "USD",
"targetAmount": 93.50,
"targetCurrency": "EUR"
}
}
Token Operations (Base Network)
4. Create Wallet

Purpose: Generate a new Ethereum wallet for token operations on Base.

Inputs:

  • action: "create-wallet" (required)

Outputs:

  • Wallet address (keystore saved to ~/.clawbank/wallet.json)

Usage:

bash
echo '{"action": "create-wallet"}' | ./run.sh
5. Get Wallet

Purpose: Get current wallet address and ETH balance on Base.

Inputs:

  • action: "get-wallet" (required)

Outputs:

  • Wallet address and ETH balance

Usage:

bash
echo '{"action": "get-wallet"}' | ./run.sh
6. Set Target Token

Purpose: Set the target token address for swaps.

Inputs:

  • action: "set-target-token" (required)
  • tokenAddress: ERC-20 contract address on Base (required)

Usage:

bash
echo '{"action": "set-target-token", "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}' | ./run.sh
7. Get Sweep Config

Purpose: View current target token and swap history.

Inputs:

  • action: "get-sweep-config" (required)

Usage:

bash
echo '{"action": "get-sweep-config"}' | ./run.sh
8. Get Token Balance

Purpose: Check ERC-20 token balance for the wallet.

Inputs:

  • action: "get-token-balance" (required)
  • tokenAddress: ERC-20 contract address (required)

Usage:

bash
echo '{"action": "get-token-balance", "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}' | ./run.sh
9. Buy Token

Purpose: Swap ETH for any token on Base via Uniswap (universal V3+V4 support).

Inputs:

  • action: "buy-token" (required)
  • amountEth: Amount of ETH to swap (required)

Outputs:

  • Transaction hash, amount in, amount out, status

Usage:

bash
echo '{"action": "buy-token", "amountEth": 0.001}' | ./run.sh

Supported tokens: Any ERC-20 with WETH liquidity on Base (USDC, DAI, WBTC, ClawBank, etc.)

10. Send Token

Purpose: Send ERC-20 tokens or native ETH from the wallet.

Inputs:

  • action: "send-token" (required)
  • tokenAddress: ERC-20 contract address, or "ETH" for native ETH (required)
  • toAddress: Recipient wallet address (required)
  • amount: Amount to send in token units (required)

Usage:

bash
echo '{"action": "send-token", "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "toAddress": "0x...", "amount": 5.0}' | ./run.sh
11. Export Private Key

Purpose: Export wallet's private key for recovery or import.

Inputs:

  • action: "export-private-key" (required)

Outputs:

  • Private key (hex string) and wallet address

Usage:

bash
echo '{"action": "export-private-key"}' | ./run.sh

Failure Modes

Banking Operations:

  • Missing `WISE_API_TOKEN`: Returns {"success": false, "error": "WISE_API_TOKEN environment variable is not set"}. Set the token and retry.
  • Invalid API token: Returns {"success": false, "error": "Authentication failed — check your WISE_API_TOKEN"}.
  • Insufficient funds: Returns {"success": false, "error": "Insufficient funds in USD balance"}. Check balance before retrying.
  • Invalid recipient details: Returns {"success": false, "error": "Invalid recipient account details"}.

Token Operations:

  • No wallet: Returns {"success": false, "error": "Wallet does not exist. Call create-wallet first"}.
  • Insufficient ETH: Returns {"success": false, "error": "Insufficient balance. Have X ETH, need Y + 0.001 for gas"}.
  • No target token set: Returns {"success": false, "error": "No target token set. Call set-target-token first"}.
  • No liquidity pool: Returns {"success": false, "error": "No liquidity pool found for [token]"}.
  • Unknown action: Returns {"success": false, "error": "Unknown action: <action>"}. See Operations section for valid actions.

When to Use

Banking: Check balances, send international transfers, share account details for receiving payments

Token Operations: Create wallets, swap tokens on Base (any token with Uniswap liquidity), send tokens, track balances

When Not to Use

  • Do not use Wise for crypto on/off-ramps (Wise restricts crypto)
  • Do not use with accounts holding significant funds (R&D only)
  • Token operations require Base network access and ETH for gas

Technical Details

Token Swap Implementation:

  • Hybrid V3+V4 routing (tries V3 first, falls back to V4 for tokens with hooks)
  • Supports any token with WETH liquidity on Base
  • Automatic fee tier detection (0.05%, 0.3%, 1%)
  • Gas costs: ~250k (V3) or ~450k (V4)

Security:

  • Wallet keystore encrypted with password
  • Private keys never logged or exposed
  • All transactions signed locally
  • No external API calls for token operations (direct blockchain interaction)

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
29
Repository forks
6
7-day trend score
17

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 8 Apr 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/singularityhacker/bank-skills/bank-skill/badge)](https://verified-skill.com/skills/singularityhacker/bank-skills/bank-skill)

Something wrong with this skill or its page? Tell us.