ETH Payment Skill
name: eth-payment
by bevanding · published 2026-04-01
$ claw add gh:bevanding/bevanding-evm-payment---
name: eth-payment
version: 1.0.4
description: Generate EIP-681 Ethereum payment links and QR codes for any EVM chain. Zero configuration, instant setup for receiving ETH and ERC-20 payments. Use when you need to create payment requests, invoices, donation links, or any on-chain payment request. Supports Base, Ethereum, Arbitrum, Optimism, Polygon.
author: Antalpha AI Team
metadata:
requires:
- python3
- pip
pip:
- qrcode
- pillow
install:
type: instruction-only
---
# ETH Payment Skill
> **Zero config. Instant setup. Works on any EVM chain.**
What This Does
Generate EIP-681 compliant payment links that work with MetaMask and other Ethereum wallets. Perfect for:
**No API keys. No servers. No configuration.**
Installation
Prerequisites
Quick Install
Install the required packages:
pip install qrcode pillowRun the Skill
python3 scripts/eth_payment.py create --to 0xYourAddress --amount 0.1---
Quick Start
# Basic ETH payment on Base
eth-payment create --to 0xYourAddress --amount 0.1
# USDC payment with QR code
eth-payment create --to 0xYourAddress --amount 100 --token USDC --qr payment.png
# Specify network
eth-payment create --to 0xYourAddress --amount 10 --token USDC --network ethereum --qr qr.pngCommands
`create` - Generate Payment Link
eth-payment create --to <address> --amount <number> [options]
Required:
--to <address> Recipient address (0x...)
--amount <number> Amount to request
Options:
--token <symbol> Token symbol (default: ETH)
--network <name> Network: base, ethereum, arbitrum, optimism, polygon (default: base)
--qr <path> Generate QR code and save to path
--json Output as JSON for programmatic use`chains` - List Supported Networks
eth-payment chains
eth-payment chains --json`tokens` - List Tokens for Network
eth-payment tokens --network base
eth-payment tokens --network ethereum --json`validate` - Validate Address
eth-payment validate 0x...Supported Networks
| Network | Chain ID | Native Token | ERC-20 Tokens |
|---------|----------|--------------|---------------|
| base | 8453 | ETH | USDC, USDT, WETH |
| ethereum | 1 | ETH | USDC, USDT, WETH, DAI |
| arbitrum | 42161 | ETH | USDC, USDT, ARB |
| optimism | 10 | ETH | USDC, OP |
| polygon | 137 | MATIC | USDC, USDT, WETH |
Examples
Invoice with QR Code
eth-payment create \
--to 0x1F3A9A450428BbF161C4C33f10bd7AA1b2599a3e \
--amount 100 \
--token USDC \
--network base \
--qr invoice_qr.pngJSON Output for Integration
eth-payment create --to 0x... --amount 10 --token USDC --jsonOutput:
{
"success": true,
"network": "base",
"chain_id": 8453,
"token": "USDC",
"recipient": "0x...",
"amount": "10",
"links": {
"eip681": "ethereum:0x833...@8453/transfer?address=0x...&uint256=10000000",
"metamask": "https://metamask.app.link/send/..."
},
"transaction": {
"to": "0x833...",
"value": "0x0",
"data": "0xa9059cbb..."
}
}How It Works
1. **EIP-681 Standard**: Uses the Ethereum Improvement Proposal 681 format for payment links
2. **Universal**: Same code works on any EVM chain - only configuration differs
3. **QR Codes**: Generated locally via Python qrcode library, no external services
Security Notes
Adding New Chains
To add a new EVM chain, edit `config/chains.json`:
{
"chains": {
"new-chain": {
"name": "New Chain",
"chain_id": 12345,
"native_token": "NATIVE",
"tokens": {
"NATIVE": {
"address": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"is_native": true
},
"USDC": {
"address": "0x...",
"decimals": 6
}
}
}
}
}---
**Maintainer**: Antalpha AI Team
**License**: MIT
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...