/SKILL.md
# crypto-payment-skill Technical Reference This document provides complete technical documentation for the crypto-payment-skill. For a user-friendly introduction, see [README.md](README.md). ## Overview This skill provides GitHub-native tooling for crypto payment operations, enabling AI agents to: - Check balances across multiple chains with multi-source fallback - Send native tokens and ERC-20 tokens - Create, manage, import, and backup wallets - Monitor transaction status ## Command Refere
npx skillsauth add agenticpaymentlab/crypto-payment-skill crypto-payment-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This document provides complete technical documentation for the crypto-payment-skill. For a user-friendly introduction, see README.md.
This skill provides GitHub-native tooling for crypto payment operations, enabling AI agents to:
# Check native token balance (uses multi-source fallback)
crypto-balance <address>
# Check balance on specific network
crypto-balance <address> --network <network>
# Check balance across ALL supported chains
crypto-balance <address> --all-chains
# Show balance check attempt history
crypto-balance <address> --history
# Check ERC-20 token balance
crypto-balance <address> --token <token_address>
# Check if balance is sufficient for amount
crypto-balance <address> --check-sufficient <amount>
# Send native tokens
crypto-send <to_address> <amount>
# Send on specific network
crypto-send <to_address> <amount> --network <network>
# Send ERC-20 tokens
crypto-send <to_address> <amount> --token <token_address>
# Send and wait for on-chain confirmation
crypto-send <to_address> <amount> --confirm
# Create a new wallet
crypto-wallet create
# Create wallet with custom label
crypto-wallet create --label "<label>"
# List all managed wallets
crypto-wallet list
# Get wallet address by ID
crypto-wallet address <wallet_id>
# Import wallet from seed phrase (recovery)
crypto-wallet import "<seed_phrase>"
# Backup wallet (export seed + private key)
crypto-wallet backup <wallet_id>
# Get address for receiving funds
crypto-wallet fund
# Get transaction details
crypto-tx <tx_hash>
# Check transaction status
crypto-tx status <tx_hash>
# Monitor until confirmed
crypto-tx status <tx_hash> --watch
# Specify network
crypto-tx <tx_hash> --network <network>
# List supported networks
crypto-networks
The skill uses a priority-based fallback system to ensure accurate balance checks:
--history| Network | Chain ID | Native Token | |---------|----------|--------------| | Ethereum | 1 | ETH | | Polygon | 137 | MATIC | | BSC | 56 | BNB | | Arbitrum | 42161 | ETH | | Optimism | 10 | ETH | | Avalanche C-Chain | 43114 | AVAX | | Base | 8453 | ETH | | Solana | - | SOL | | Sepolia | 11155111 | ETH |
# Required for blockchain operations (at least one recommended)
export ALCHEMY_API_KEY="your-alchemy-api-key"
export INFURA_API_KEY="your-infura-api-key"
# Optional: Block Explorer API Keys (improves reliability)
export ETHERSCAN_API_KEY="your-etherscan-api-key"
export POLYSCAN_API_KEY="your-polygonscan-api-key"
export BASESCAN_API_KEY="your-basescan-api-key"
export ARBISCAN_API_KEY="your-arbiscan-api-key"
# Optional: For direct transaction signing
export CRYPTO_PRIVATE_KEY="your-private-key"
# Optional: Wallet storage location
export CRYPTO_WALLET_DIR="$HOME/.crypto-wallets"
Wallets are stored in ~/.crypto-wallets/ (configurable):
~/.crypto-wallets/
├── wallets.json # Wallet metadata (IDs, addresses)
├── wallet_<id>.enc # Encrypted seed phrases
└── backup/ # Manual backups (optional)
Security: Seed phrases are encrypted at rest using the storage key.
| Error | Handling | |-------|----------| | Insufficient funds | Returns current balance | | Network failure | Auto-fallback to next provider | | RPC timeout | Try next RPC, then block explorer API | | All sources fail | Detailed error listing all attempted sources | | Wallet access denied | Prompt for recovery or create new | | Transaction failed | Returns failure reason | | Invalid address | Validation before send |
Error: Failed to get balance from all sources for 0x... on ethereum:
- alchemy: FAILED: Timeout
- infura: FAILED: Rate limited
- public-rpc-1: FAILED: Connection refused
- public-rpc-2: FAILED: Timeout
- block-explorer-api: FAILED: Rate limited
If you believe this address has funds, please check:
1. The address is correct
2. The network is correct
3. Set ETHERSCAN_API_KEY for your network
4. Check the block explorer manually: https://etherscan.io/address/0x...
All commands return structured JSON for programmatic use:
# Balance check
crypto-balance 0x742d35Cc6634C0532925a3b844Bc9e7595f4fC5b
# Returns: { "balance": "15.5", "symbol": "ETH", "network": "ethereum" }
# Sufficient funds check
crypto-balance 0x742d35Cc6634C0532925a3b844Bc9e7595f4fC5b --check-sufficient 10
# Returns: { "sufficient": true, "balance": "15.5", "needed": "10" }
# Wallet creation
crypto-wallet create
# Returns: { "walletId": "wallet_abc123", "address": "0x...", "seedPhrase": "word1 word2 ..." }
# Transaction send
crypto-send 0x742d35Cc6634C0532925a3b844Bc9e7595f4fC5b 0.1 --confirm
# Returns: { "txHash": "0x...", "status": "confirmed", "confirmations": 1 }
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.