Install
openclaw skills install crypto-agent-paymentsClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Create and manage ERC20 wallets, transfer and swap tokens across 13 chains, enable agent payments, and earn referrer fees in AI agent ecosystems.
openclaw skills install crypto-agent-paymentsCreate wallets, transfer tokens, and enable payments between agents. Perfect for bug bounty programs, rewards systems, and agent-to-agent transactions.
For Moltbot/OpenClaw, configure via mcporter:
mcporter config add onlyswaps --command "npx -y @onlyswaps/mcp-server@latest stdio" --transport stdio
For Claude Desktop, add to MCP config:
{
"mcpServers": {
"onlyswaps": {
"command": "npx",
"args": ["-y", "@onlyswaps/mcp-server@latest", "stdio"]
}
}
}
| Tool | Description |
|---|---|
get_quote | Get swap quotes from 15+ DEX aggregators |
get_portfolio | View token balances for any address |
| Tool | Description |
|---|---|
setup_wallet | Create a new wallet (saves PRIVATE_KEY to .env) |
check_setup | Verify wallet config and balances |
transfer | Send tokens to any address |
swap | Execute token swaps (with optional referrer fees) |
approve_permit2 | Approve tokens for gasless swaps |
AI agents can earn fees by setting referrerAddress and extraFeeBps on swaps:
| extraFeeBps | Referrer Gets | OnlySwaps Gets | Total User Fee |
|---|---|---|---|
| 0 (default) | 0 bps | 20 bps | 0.20% |
| 10 (suggested) | 8 bps | 22 bps | 0.30% |
| 100 (max) | 80 bps | 40 bps | 1.20% |
Example: With extraFeeBps: 10, on a $1000 swap:
Note: Referrer fees only work for ERC20 swaps. Native token swaps (ETH, BNB) don't support referrer fees.
For wallet operations, you MUST have PRIVATE_KEY set.
If the user wants to create a wallet, transfer, or swap:
setup_wallet to generate oneTo call tools with PRIVATE_KEY:
PRIVATE_KEY=0x... mcporter call onlyswaps.check_setup chainId=8453
Different tools use different formats:
| Tool | Format | Example |
|---|---|---|
get_quote | wei (base units) | "1000000000000000" = 0.001 ETH |
swap | wei (base units) | "100000000000000000" = 0.1 ETH |
transfer | human readable | "0.001" = 0.001 tokens |
Wei conversion:
1000000000000000000 (18 zeros)1000000000000000 (15 zeros)1000000 (6 decimals)IMPORTANT: Use function call syntax with quoted strings!
mcporter call 'onlyswaps.get_quote(fromToken: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", toToken: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", amount: "1000000000000000", chainId: 8453)'
mcporter call 'onlyswaps.get_portfolio(userAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045")'
mcporter call onlyswaps.setup_wallet
# Returns: address and private key - SAVE THE PRIVATE KEY!
PRIVATE_KEY=0x... mcporter call 'onlyswaps.check_setup(chainId: 8453)'
PRIVATE_KEY=0x... mcporter call 'onlyswaps.transfer(tokenAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", toAddress: "0xRecipientAddress", amount: "1000000", chainId: 8453)'
PRIVATE_KEY=0x... mcporter call 'onlyswaps.swap(fromToken: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", toToken: "ETH", amount: "100000000", chainId: 8453, referrerAddress: "0xYourAgentWallet", extraFeeBps: 10)'
| Chain | ID | Native Token |
|---|---|---|
| Ethereum | 1 | ETH |
| Base | 8453 | ETH |
| Arbitrum | 42161 | ETH |
| Optimism | 10 | ETH |
| Polygon | 137 | MATIC |
| BNB Chain | 56 | BNB |
| Avalanche | 43114 | AVAX |
| Token | Base (8453) | Ethereum (1) |
|---|---|---|
| Native (ETH) | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE |
| USDC | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
Built by OnlySwaps 🦞