This source did not publish a separate summary. Review SKILL.md before using the skill.
SKILL.md
Agent OTC Trade
Overview
Facilitates 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:
Counterparty verification: Before any trade, the counterparty agent's identity is verified via ERC-8004 on-chain registries. Without this, agents trade blindly -- trusting addresses they've never interacted with. The skill checks identity, reputation score, and trust tier, refusing to trade with unverified agents.
Fair pricing via Uniswap oracle: OTC trades use Uniswap pool prices as the reference rate, preventing either party from proposing unfair terms. The skill shows the current pool price, the proposed OTC price, and the premium/discount so both parties have full transparency.
Atomic settlement: Trades settle through Uniswap pools in a single transaction. No escrow risk, no counterparty default risk, no partial fills. The pool provides guaranteed liquidity at the agreed price.
Cross-chain support: For agents on different chains, settlement uses ERC-7683 cross-chain intents. Without this skill, cross-chain OTC trades require manual bridge coordination -- a multi-step process prone to stuck transactions and timing mismatches.
Audit trail: Every OTC trade is recorded with counterparty identity, agreed terms, settlement transaction, and fees. This creates a verifiable history for reputation building and dispute resolution.
When to Use
Activate when the user says anything like:
"Trade tokens directly with another agent"
"Settle an agent-to-agent trade through Uniswap"
"Execute an OTC swap with agent 0x..."
"Buy tokens from agent 0x... using Uniswap"
"Set up a direct trade with a counterparty agent"
"OTC trade 1000 USDC for UNI with agent 0x..."
"Settle a service payment with another agent via Uniswap"
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).
Parameters
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"
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.
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.
Step 2: Price Discovery
Call mcp__uniswap__get_token_price for both tokens to establish USD values.
Call mcp__uniswap__get_pool_info for the token pair to get the current pool price.
Call mcp__uniswap__get_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...
Step 3: 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)
Step 4: Settlement
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.
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)
Important Notes
Counterparty verification is the key safety feature. ERC-8004 identity checks prevent trading with malicious or unknown agents. The default requireVerified=true is strongly recommended.
Settlement happens through Uniswap pools, not peer-to-peer. Both agents interact with the Uniswap pool independently. This means the trade is atomic and trustless -- neither party can default.
The counterparty does not need to be online simultaneously. Since settlement is through a pool, your agent executes its side of the trade independently. The "OTC" aspect is the agreed-upon terms and counterparty verification, not a literal peer-to-peer atomic swap.
Price reference prevents unfair terms. The Uniswap pool price serves as an objective reference rate. The maxPremium parameter (default 1%) prevents accepting trades at significantly worse-than-market rates.
Cross-chain OTC trades use ERC-7683 intents. For agents on different chains, the skill uses submit_cross_chain_intent for settlement. This adds bridge latency but enables cross-chain agent commerce.
All OTC trades are logged. Trade details (counterparty, terms, settlement tx) are recorded for reputation building and audit purposes.
This skill settles YOUR side of the trade. The counterparty agent is responsible for their own execution. In practice, both agents use this skill independently to settle their respective sides through the same Uniswap pool.
MCP server dependency
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: