agent-otc-tradeFacilitate over-the-counter trades between agents using Uniswap as the settlement layer. Use when user wants to trade tokens directly with another agent, settle an agent-to-agent trade through Uniswap, or execute an OTC swap with a specific counterparty agent. Verifies counterparty identity via ERC-8004, negotiates terms, and settles through Uniswap pools.
Install via ClawdBot CLI:
clawdbot install wpank/agent-otc-tradeFacilitates over-the-counter trades between agents using Uniswap as the trustless settlement layer. Instead of agents manually coordinating trades through ad-hoc channels, verifying each other's identity, agreeing on prices, and handling settlement independently, this skill provides a structured pipeline: verify counterparty identity via ERC-8004, agree on terms using Uniswap pool prices as the reference rate, and settle atomically through Uniswap pools.
Why this is 10x better than manual agent-to-agent trading:
Activate when the user says anything like:
Do NOT use when the user wants a regular swap without a specific counterparty (use execute-swap instead), wants to provide liquidity (use manage-liquidity instead), or wants to find trading opportunities (use scan-opportunities instead).
| Parameter | Required | Default | How to Extract |
| ------------------- | -------- | ----------- | --------------------------------------------------------------------- |
| counterpartyAgent | Yes | -- | Counterparty address (0x...) or ERC-8004 identity |
| tokenSell | Yes | -- | Token you are selling: "USDC", "UNI", or 0x address |
| tokenBuy | Yes | -- | Token you are buying: "ETH", "UNI", or 0x address |
| amount | Yes | -- | Amount to sell: "1000 USDC", "50 UNI", "$5,000 worth" |
| chain | No | ethereum | Settlement chain: "ethereum", "base", "arbitrum" |
| settlementMethod | No | direct-swap | "direct-swap", "intent" (ERC-7683 cross-chain) |
| maxPremium | No | 1% | Max acceptable premium/discount vs pool price |
| requireVerified | No | true | Require ERC-8004 verified counterparty (true/false) |
If the user doesn't provide counterpartyAgent, tokenSell/tokenBuy, or amount, ask for them -- never guess OTC trade parameters.
AGENT OTC TRADE PIPELINE
┌──────────────────────────────────────────────────────────────────────┐
│ │
│ Step 1: VERIFY COUNTERPARTY │
│ ├── Check ERC-8004 identity registry │
│ ├── Query reputation score │
│ ├── Determine trust tier (unverified/basic/verified/trusted) │
│ └── Output: Identity report + trust decision │
│ │ │
│ ▼ IDENTITY GATE │
│ ┌───────────────────────────────────────────┐ │
│ │ trusted/verified -> Proceed │ │
│ │ basic -> Warn, ask user │ │
│ │ unverified -> STOP (if required) │ │
│ └───────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ │
│ Step 2: PRICE DISCOVERY │
│ ├── Get current Uniswap pool price for the token pair │
│ ├── Get quote at the OTC trade size │
│ ├── Calculate fair OTC price (pool price + spread) │
│ └── Output: Reference price + OTC terms │
│ │ │
│ ▼ │
│ │
│ Step 3: TERMS AGREEMENT │
│ ├── Present terms to user: price, amounts, fees, settlement method │
│ ├── Compare OTC price vs pool price (premium/discount) │
│ ├── Show total cost including gas and slippage │
│ └── User must explicitly confirm │
│ │ │
│ ▼ │
│ │
│ Step 4: SETTLEMENT │
│ ├── Check wallet balance and approvals │
│ ├── Execute swap via trade-executor (or cross-chain intent) │
│ ├── Verify settlement on-chain │
│ └── Output: Settlement confirmation + tx hash │
│ │ │
│ ▼ │
│ │
│ Step 5: RECORD & REPORT │
│ ├── Record trade in OTC history │
│ ├── Log counterparty, terms, settlement tx │
│ └── Output: Full OTC trade report │
│ │
└──────────────────────────────────────────────────────────────────────┘
Delegate to Task(subagent_type:identity-verifier):
Verify the identity and reputation of this agent:
- Agent address: {counterpartyAgent}
- Chain: {chain}
Check the ERC-8004 Identity Registry, Reputation Registry, and Validation
Registry. Return the trust tier (unverified/basic/verified/trusted),
reputation score, registration date, and any flags.
Present to user:
Step 1/5: Counterparty Verification
Agent: 0x1234...abcd
ERC-8004: Registered (verified tier)
Reputation: 78/100 (good)
Registered: 2025-11-15 (87 days ago)
Trades: 142 completed, 0 disputes
Trust Tier: VERIFIED
Proceeding to price discovery...
Identity gate logic:
| Trust Tier | Action |
| ------------ | ----------------------------------------------------------------------------- |
| trusted | Proceed to Step 2 automatically |
| verified | Proceed to Step 2 automatically |
| basic | Warn user: "Counterparty has basic verification only. Proceed?" Ask to confirm. |
| unverified | If requireVerified=true: STOP. Show reason. Suggest verifying first. |
| | If requireVerified=false: Warn strongly, ask for explicit confirmation. |
mcpuniswapget_token_price for both tokens to establish USD values.mcpuniswapget_pool_info for the token pair to get the current pool price.mcpuniswapget_quote at the OTC trade size to determine actual execution price including slippage.Step 2/5: Price Discovery
Token Pair: USDC / UNI
Pool Price: 1 UNI = $7.10 (USDC/UNI 0.3% V3)
Pool TVL: $42M
Quote at Size: 1000 USDC -> 140.65 UNI (impact: 0.08%)
OTC Reference Rate: $7.10 per UNI
Your Trade: 1000 USDC -> ~140.85 UNI
Proceeding to terms agreement...
Present the complete trade terms for user confirmation:
OTC Trade Terms
You Sell: 1,000 USDC
You Receive: ~140.85 UNI ($999.90)
Counterparty: 0x1234...abcd (VERIFIED, rep: 78/100)
Pricing:
Pool Rate: $7.10 per UNI
OTC Rate: $7.10 per UNI (0.00% premium)
Slippage: ~0.08%
Gas Est: ~$5.00
Settlement:
Method: Direct swap via Uniswap V3
Chain: Ethereum
Pool: USDC/UNI 0.3%
Proceed with this OTC trade? (yes/no)
Only proceed to Step 4 if the user explicitly confirms.
If the OTC price deviates from the pool price by more than maxPremium, warn the user:
WARNING: OTC rate ($7.25/UNI) is 2.1% above pool rate ($7.10/UNI).
This exceeds your max premium of 1%. Proceed anyway? (yes/no)
Delegate to Task(subagent_type:trade-executor):
For direct-swap settlement:
Execute this OTC trade settlement:
- Sell: {amount} {tokenSell}
- Buy: {tokenBuy}
- Chain: {chain}
- Slippage tolerance: based on OTC terms
- Context: This is an OTC trade with counterparty {counterpartyAgent}
(ERC-8004 verified, reputation {score}/100). Settle through the
{fee}% pool.
For cross-chain intent settlement:
Use mcpuniswapsubmit_cross_chain_intent with:
tokenIn: tokenSell on source chaintokenOut: tokenBuy on destination chainsourceChain: your chaindestinationChain: counterparty's chainStep 5/5: OTC Trade Complete
Settlement:
Sold: 1,000 USDC
Received: 140.85 UNI ($999.90)
Slippage: 0.07%
Gas: $4.80
Tx: https://etherscan.io/tx/0x...
Counterparty:
Agent: 0x1234...abcd
Trust: VERIFIED (78/100)
OTC Terms vs Market:
Pool Rate: $7.10/UNI
Actual: $7.10/UNI (0.00% premium)
Agent OTC Trade Complete
Trade:
Sold: 1,000 USDC
Received: 140.85 UNI ($999.90)
Counterparty: 0x1234...abcd (VERIFIED)
Settlement: Direct swap via USDC/UNI 0.3% (V3)
Chain: Ethereum
Tx: https://etherscan.io/tx/0x...
Pricing:
Pool Rate: $7.10/UNI
Actual Rate: $7.10/UNI
Premium: 0.00%
Slippage: 0.07%
Gas: $4.80
Counterparty Verification:
ERC-8004: Registered, VERIFIED tier
Reputation: 78/100
Trade History: 142 completed, 0 disputes
Agent OTC Trade -- Blocked
Counterparty: 0x5678...efgh
ERC-8004: NOT REGISTERED
Trust Tier: UNVERIFIED
Trade blocked: Counterparty is not ERC-8004 verified.
Your policy requires verified counterparties (requireVerified=true).
Suggestions:
- Ask the counterparty to register on ERC-8004
- Use /verify-agent to check their status
- Set requireVerified=false to trade with unverified agents (not recommended)
requireVerified=true is strongly recommended.maxPremium parameter (default 1%) prevents accepting trades at significantly worse-than-market rates.submit_cross_chain_intent for settlement. This adds bridge latency but enables cross-chain agent commerce.This skill relies on Uniswap MCP tools for pricing, pool data, quotes, balances, and cross-chain intents.
When used in isolation (for example, from a skills catalog), ensure the Agentic Uniswap MCP server is running:
Agentic-Uniswap MCP server@agentic-uniswap/mcp-server| Error | User-Facing Message | Suggested Action |
| ------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------- |
| Counterparty unverified | "Counterparty agent is not ERC-8004 verified." | Ask counterparty to register, or disable check |
| Counterparty not found | "Could not find agent at address {addr}." | Verify the address is correct |
| No pool for pair | "No Uniswap pool found for {tokenSell}/{tokenBuy} on {chain}." | Try a different chain or intermediate token |
| Premium too high | "OTC rate deviates {X}% from pool rate, exceeding {maxPremium}% limit." | Renegotiate terms or increase maxPremium |
| Insufficient balance | "Insufficient {tokenSell} balance: have {X}, need {Y}." | Fund wallet or reduce trade amount |
| Settlement failed | "OTC settlement via Uniswap failed: {reason}." | Check liquidity, gas, and retry |
| Cross-chain intent failed | "Cross-chain settlement failed: {reason}." | Check bridge status and retry |
| Safety check failed | "Trade exceeds safety limits." | Check spending limits with check-safety |
| Wallet not configured | "No wallet configured. Cannot execute OTC trades." | Set up wallet with setup-agent-wallet |
| Identity service down | "ERC-8004 registry unreachable. Cannot verify counterparty." | Retry later or proceed with caution |
Generated Feb 24, 2026
A DeFi protocol agent on Arbitrum needs to pay a developer agent on Base for smart contract auditing services. The skill verifies the developer's identity via ERC-8004, uses Uniswap pool prices to agree on a fair ETH/USDC rate, and settles the payment atomically through a cross-chain intent, eliminating manual bridge coordination and counterparty risk.
A treasury management agent representing a DAO wants to swap a large amount of UNI for USDC directly with a market-making agent to avoid slippage on public pools. The skill verifies the market maker's reputation, negotiates terms based on Uniswap oracle prices with a minimal premium, and executes the trade in a single transaction, ensuring transparency and auditability for the DAO.
An NFT trading agent agrees to purchase a high-value NFT from another agent, with payment in WETH. The skill verifies the seller's identity, uses Uniswap to lock in a stable WETH/USDC reference rate for the payment, and settles the trade atomically, preventing default risks common in peer-to-peer NFT deals.
A content creation agent on Polygon needs to pay a freelance writer agent on Ethereum for article services in DAI. The skill checks the writer's ERC-8004 trust tier, agrees on a DAI/ETH rate via Uniswap pools, and handles cross-chain settlement seamlessly, reducing fees and transaction delays compared to traditional methods.
A logistics agent on Base settles a tokenized invoice with a supplier agent on Arbitrum for shipping services. The skill verifies the supplier's identity, uses Uniswap to determine a fair token exchange rate, and executes an OTC swap with atomic settlement, streamlining B2B payments in decentralized ecosystems.
Charge a small percentage fee (e.g., 0.1-0.5%) on each OTC trade facilitated through the skill. Revenue is generated by aggregating trades between verified agents, leveraging Uniswap's liquidity for settlement, and offering premium features like cross-chain support and enhanced identity verification tiers.
Offer tiered subscription plans to enterprise-level agents (e.g., DAOs, institutions) for unlimited OTC trades, priority verification, and custom settlement options. Revenue comes from monthly or annual subscriptions, with higher tiers including advanced analytics and dedicated support for high-volume trading.
License the skill as a white-label solution to other AI agent platforms or DeFi protocols, allowing them to integrate agent-to-agent trading capabilities. Revenue is generated through licensing fees and revenue-sharing agreements based on trade volume processed through the integrated skill.
💬 Integration Tip
Ensure agents have sufficient gas funds and token approvals pre-set for Uniswap interactions to streamline the OTC workflow and reduce transaction failures.
Connect Claude to Clawdbot instantly and keep it connected 24/7. Run after setup to link your subscription, then auto-refreshes tokens forever.
ERC-8004 Trustless Agents - Register, discover, and build reputation for AI agents on Ethereum. Use when registering agents on-chain, querying agent registries, giving/receiving reputation feedback, or interacting with the AI agent trust layer.
Autonomous crypto trading on Base via Bankr. Use for trading tokens, monitoring launches, executing strategies, or managing a trading portfolio. Triggers on "trade", "buy", "sell", "launch", "snipe", "profit", "PnL", "portfolio balance", or any crypto trading task on Base.
Deploy ERC20 tokens on Base using Clanker SDK. Create tokens with built-in Uniswap V4 liquidity pools. Supports Base mainnet and Sepolia testnet. Requires PRIVATE_KEY in config.
Query DeFi portfolio data across 50+ chains via Zapper's GraphQL API. Use when the user wants to check wallet balances, DeFi positions, NFT holdings, token prices, or transaction history. Supports Base, Ethereum, Polygon, Arbitrum, Optimism, and more. Requires ZAPPER_API_KEY.
Interact with Solana blockchain via Helius APIs. Create/manage wallets, check balances (SOL + tokens), send transactions, swap tokens via Jupiter, and monitor addresses. Use for any Solana blockchain operation, crypto wallet management, token transfers, DeFi swaps, or portfolio tracking.