🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Crypto Wallets & Payments for AI Agents

by @nicofains1

Create and manage ERC20 wallets, transfer and swap tokens across 13 chains, enable agent payments, and earn referrer fees in AI agent ecosystems.

Versionv0.1.7
Downloads3,633
Stars⭐ 3
TERMINAL
clawhub install crypto-agent-payments

πŸ“– About This Skill

Crypto Wallets & Payments for AI Agents

Create wallets, transfer tokens, and enable payments between agents. Perfect for bug bounty programs, rewards systems, and agent-to-agent transactions.

What This Enables

  • Create wallets - Generate ERC20-compatible wallets with secure key storage
  • Transfer tokens - Send ETH, USDC, or any ERC20 token to any address
  • Swap tokens - Exchange tokens across 13 chains with best rates
  • Earn referrer fees - Get 80% of extra swap fees by referring users
  • Agent payments - Bug bounties, rewards programs, automated payouts
  • MCP Server Setup

    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"]
        }
      }
    }
    

    Available Tools

    Read-Only (no wallet needed)

    | Tool | Description | |------|-------------| | get_quote | Get swap quotes from 15+ DEX aggregators | | get_portfolio | View token balances for any address |

    Wallet Required (need PRIVATE_KEY)

    | 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 |

    Earn Fees as a Referrer

    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:

  • Referrer earns: $0.80 (8 bps)
  • User pays: $3 total (0.30%)
  • Note: Referrer fees only work for ERC20 swaps. Native token swaps (ETH, BNB) don't support referrer fees.

    IMPORTANT: Private Key Handling

    For wallet operations, you MUST have PRIVATE_KEY set.

    If the user wants to create a wallet, transfer, or swap: 1. First ask: "Do you have an existing wallet private key, or should I create a new one?" 2. If new: Use setup_wallet to generate one 3. If existing: Ask user to provide PRIVATE_KEY and set it in environment

    To call tools with PRIVATE_KEY:

    PRIVATE_KEY=0x... mcporter call onlyswaps.check_setup chainId=8453
    

    Amount Format

    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:

  • 1 ETH = 1000000000000000000 (18 zeros)
  • 0.001 ETH = 1000000000000000 (15 zeros)
  • 1 USDC = 1000000 (6 decimals)
  • Quick Examples

    IMPORTANT: Use function call syntax with quoted strings!

    Get a swap quote (no wallet needed)

    mcporter call 'onlyswaps.get_quote(fromToken: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", toToken: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", amount: "1000000000000000", chainId: 8453)'
    

    Check any address portfolio (no wallet needed)

    mcporter call 'onlyswaps.get_portfolio(userAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045")'
    

    Create a new wallet

    mcporter call onlyswaps.setup_wallet
    

    Returns: address and private key - SAVE THE PRIVATE KEY!

    Check wallet setup (requires PRIVATE_KEY)

    PRIVATE_KEY=0x... mcporter call 'onlyswaps.check_setup(chainId: 8453)'
    

    Transfer tokens (requires PRIVATE_KEY + funded wallet)

    PRIVATE_KEY=0x... mcporter call 'onlyswaps.transfer(tokenAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", toAddress: "0xRecipientAddress", amount: "1000000", chainId: 8453)'
    

    Swap with referrer fee (earn fees as an agent)

    PRIVATE_KEY=0x... mcporter call 'onlyswaps.swap(fromToken: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", toToken: "ETH", amount: "100000000", chainId: 8453, referrerAddress: "0xYourAgentWallet", extraFeeBps: 10)'
    

    Supported Chains

    | 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 |

    Common Token Addresses

    | Token | Base (8453) | Ethereum (1) | |-------|-------------|--------------| | Native (ETH) | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE | | USDC | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |

    Security Notes

  • Private keys are stored locally, never transmitted
  • Always verify addresses before sending
  • Start with small test amounts
  • Links

  • npm: @onlyswaps/mcp-server
  • Docs: onlyswaps.fyi

  • Built by OnlySwaps 🦞