AI Wallet Payment System - Skill Guide
This skill enables AI agents to securely manage cryptocurrency wallets and perform blockchain transactions. It provides encrypted key storage, multi-factor authentication, and secure transaction proce
by cerbug45 · published 2026-03-22
$ claw add gh:cerbug45/cerbug45-ai-walllet-payment-system# AI Wallet Payment System - Skill Guide
Overview
This skill enables AI agents to securely manage cryptocurrency wallets and perform blockchain transactions. It provides encrypted key storage, multi-factor authentication, and secure transaction processing for Ethereum-based payments.
**Repository**: https://github.com/cerbug45/AI-Wallet-Payment-System
**Author**: cerbug46
**Version**: 13.0
**Language**: Python 3.8+
---
🎯 What This Skill Does
Primary Capabilities
Use Cases
---
📦 Installation & Setup
Step 1: System Dependencies
**Ubuntu/Debian:**
sudo apt-get update
sudo apt-get install -y python3-dev libsqlcipher-dev build-essential libssl-dev**macOS:**
brew install sqlcipher openssl python@3.11**Windows:**
# Install Visual Studio Build Tools 2019+
# Download from: https://visualstudio.microsoft.com/downloads/
# Select "Desktop development with C++" workloadStep 2: Clone Repository
git clone https://github.com/cerbug45/AI-Wallet-Payment-System.git
cd AI-Wallet-Payment-SystemStep 3: Python Environment
# Create isolated virtual environment
python3 -m venv venv
# Activate environment
source venv/bin/activate # Linux/macOS
# OR
venv\Scripts\activate # Windows
# Upgrade pip
pip install --upgrade pipStep 4: Install Python Dependencies
# Core dependencies
pip install web3==6.0.0
pip install pysqlcipher3==1.2.0
pip install cryptography==41.0.0
pip install argon2-cffi==23.1.0
pip install pyotp==2.9.0
pip install qrcode==7.4.0
pip install pillow==10.0.0
# Optional: Install all at once
pip install -r requirements.txt**Dependency Breakdown:**
Step 5: Environment Configuration
Create `.env` file in project root:
# Required Configuration
WEB3_PROVIDER_URL=https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID
BACKUP_ENCRYPTION_KEY_FINGERPRINT=<generated-key>
# Optional Configuration
DATABASE_PATH=./secure_wallets.db
LOG_LEVEL=INFO
RATE_LIMIT_ENABLED=true
MAX_REQUESTS_PER_MINUTE=2
MAX_REQUESTS_PER_HOUR=20
SESSION_TIMEOUT_MINUTES=15**Generate Backup Encryption Key:**
openssl rand -hex 32
# Copy output to BACKUP_ENCRYPTION_KEY_FINGERPRINT**Get Infura Project ID:**
1. Sign up at https://infura.io/
2. Create new project
3. Copy Project ID from dashboard
4. Use in WEB3_PROVIDER_URL
Step 6: Verify Installation
python -c "from ultra_secure_wallet_v13_MAXIMUM_SECURITY import MaximumSecurityPaymentAPI; print('✅ Installation successful')"---
🚀 Quick Start Guide
Basic Usage Example
from ultra_secure_wallet_v13_MAXIMUM_SECURITY import MaximumSecurityPaymentAPI
import getpass
import os
# Load environment variables
from dotenv import load_dotenv
load_dotenv()
# Get master password securely (NEVER hardcode!)
master_password = getpass.getpass("Enter master password: ")
# Initialize API
api = MaximumSecurityPaymentAPI(master_password)
# Create new wallet
wallet = api.create_wallet(
wallet_id="my_ai_wallet",
metadata={
"agent_name": "PaymentBot",
"purpose": "automated_payments"
}
)
if wallet['success']:
print(f"✅ Wallet created!")
print(f" Address: {wallet['address']}")
print(f" 📱 Setup 2FA with: {wallet['totp_uri']}")
print(f" 🔑 Backup codes: {wallet['backup_codes']}")
# CRITICAL: Save MFA secret and backup codes securely!
# Store in password manager or encrypted vault
# Check balance
balance = api.get_balance("my_ai_wallet")
print(f"💰 Balance: {balance['balance_eth']} ETH")
# Send transaction (requires TOTP from authenticator app)
totp_code = input("Enter 6-digit TOTP code: ")
tx = api.send_transaction(
wallet_id="my_ai_wallet",
to_address="0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
amount_eth=0.001, # Send 0.001 ETH
totp_code=totp_code
)
if tx['success']:
print(f"✅ Transaction sent!")
print(f" TX Hash: {tx['tx_hash']}")
# Always cleanup sensitive data
api.cleanup()Command Line Demo
# Run built-in demo
python ultra_secure_wallet_v13_MAXIMUM_SECURITY.py
# Follow prompts:
# 1. Enter strong master password (20+ chars)
# 2. System creates demo wallet
# 3. Displays active security features
# 4. Shows wallet address and 2FA setup---
🔒 Security Configuration
Password Requirements
The system enforces strict password policies:
# Minimum requirements
- Length: 20+ characters
- Uppercase letters: 1+
- Lowercase letters: 1+
- Digits: 1+
- Special characters: 1+
- Entropy: 80+ bits**Recommended Password Generation:**
# Generate strong password
openssl rand -base64 32
# Or use password manager:
# - 1Password
# - Bitwarden
# - LastPass
# - KeePassXCTwo-Factor Authentication Setup
After creating a wallet, you'll receive:
1. **TOTP Secret** - Store in password manager
2. **QR Code URI** - Scan with authenticator app
3. **Backup Codes** - Save offline securely
**Compatible Authenticator Apps:**
Rate Limiting Configuration
Edit in code or environment:
# Default limits
MAX_REQUESTS_PER_MINUTE = 2 # Per wallet/IP
MAX_REQUESTS_PER_HOUR = 20 # Per wallet/IP
LOCKOUT_DURATION = 3600 # 1 hour in secondsAudit Logging
All operations are logged to `secure_wallet.log`:
# View logs
tail -f secure_wallet.log
# Filter for specific wallet
grep "my_ai_wallet" secure_wallet.log
# Check for security events
grep -E "SECURITY|ERROR|FAILED" secure_wallet.log---
🎓 Advanced Usage
Using with AI Agents
class PaymentAgent:
def __init__(self, master_password):
self.wallet_api = MaximumSecurityPaymentAPI(master_password)
self.wallet_id = "agent_wallet"
async def process_payment(self, recipient, amount, totp):
"""Process automated payment"""
# Check balance first
balance = self.wallet_api.get_balance(self.wallet_id)
if balance['balance_eth'] < amount:
return {"error": "Insufficient funds"}
# Execute transaction
result = self.wallet_api.send_transaction(
wallet_id=self.wallet_id,
to_address=recipient,
amount_eth=amount,
totp_code=totp
)
return result
def cleanup(self):
self.wallet_api.cleanup()Environment-Specific Configuration
**Development/Testnet:**
# Use Sepolia testnet
WEB3_PROVIDER_URL=https://sepolia.infura.io/v3/YOUR_PROJECT_ID
# Or Goerli
WEB3_PROVIDER_URL=https://goerli.infura.io/v3/YOUR_PROJECT_ID**Production/Mainnet:**
# Ethereum mainnet
WEB3_PROVIDER_URL=https://mainnet.infura.io/v3/YOUR_PROJECT_ID
# Enable all security features
RATE_LIMIT_ENABLED=true
REQUIRE_2FA=true
AUDIT_LOGGING=trueBackup and Recovery
**Export Wallet Backup:**
# Encrypted backup creation
api.export_wallet_backup("my_wallet", backup_password="strong-backup-pwd")
# Creates: wallet_backup_20240215_123456.enc**Restore from Backup:**
# Import encrypted backup
api.import_wallet_backup(
"wallet_backup_20240215_123456.enc",
backup_password="strong-backup-pwd"
)---
🧪 Testing Guide
Test on Testnet First
**Never test with real ETH on mainnet!**
# 1. Get testnet ETH
# Visit: https://sepoliafaucet.com/
# Enter your wallet address
# Receive free test ETH
# 2. Configure testnet
export WEB3_PROVIDER_URL=https://sepolia.infura.io/v3/YOUR_PROJECT_ID
# 3. Run tests
python ultra_secure_wallet_v13_MAXIMUM_SECURITY.pyUnit Testing
# Install test dependencies
pip install pytest pytest-cov pytest-mock
# Run tests (if available)
pytest tests/
# With coverage
pytest --cov=ultra_secure_wallet_v13_MAXIMUM_SECURITY tests/---
⚠️ Important Warnings
What This System Actually Provides
✅ **Implemented Security Features:**
❌ **Not Implemented (Despite Header Claims):**
Production Checklist
Before using in production:
Risk Acknowledgment
**This system is experimental and educational.**
---
🐛 Troubleshooting
Common Issues
**Problem: "ModuleNotFoundError: No module named 'pysqlcipher3'"**
# Solution: Install system dependencies first
sudo apt-get install libsqlcipher-dev
pip install pysqlcipher3**Problem: "Web3 provider not connected"**
# Solution: Check Infura URL and API key
echo $WEB3_PROVIDER_URL
# Should output: https://mainnet.infura.io/v3/YOUR_PROJECT_ID**Problem: "Argon2 too slow / system freeze"**
# Solution: Reduce Argon2 parameters in code
# Edit MaxSecurityConfig:
ARGON2_MEMORY_MB = 128 # Reduce from 512
ARGON2_ITERATIONS = 4 # Reduce from 16**Problem: "Rate limit exceeded"**
# Solution: Wait for cooldown or increase limits
# Limits reset after 1 hour
# Or edit rate limit config---
📚 Additional Resources
Documentation
Security Best Practices
Ethereum Tools
---
🤝 Contributing
Contributions welcome! Areas needing improvement:
1. **Testing**: Add comprehensive test suite
2. **Documentation**: Improve code documentation
3. **Security**: Implement claimed features properly
4. **Performance**: Optimize Argon2 parameters
5. **Features**: Real HSM integration, multi-sig support
6. **UI**: Web interface or CLI improvements
---
📞 Support
---
📄 License
MIT License - See LICENSE file for details
---
**Last Updated**: February 2024
**Skill Version**: 1.0
**Code Version**: 13.0
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...