This is a reference for the verification API’s payload adapter. For apps you can use inside a Desk, see Desk apps.
venue: uniswap. Over HTTP, uni, uniswapx, uniswaptradingapi, uniswapapi, tradeapi and universalrouter also resolve to it.
What to send
All three shapes are detected withoutvenue. All are in the swap family.
The known contracts are Permit2 (
0x000000000022D473030F116dDEE9F6B43aC78BA3), the Trading API swap proxy (0x0000000085E102724e78eCd2F45DC9cA239Affad and 0x02E5be68D46DAc0B524905bfF209cf47EE6dB2a9), and the Universal Router on Base (0x6fF5693b99212Da76ad316178A184AB56D299b43) and Ethereum (0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af). Calldata to them is not decoded; in an escrow wallet, the simulation shows what the swap moves.
The summary shows amounts in human units for USDC and WETH on Ethereum and Base and for native ETH, and raw base units for other tokens. For a quote it shows the enforced minimum output (minimumAmount), which is the floor the transaction commits to, rather than the estimate.
Live re-quote
For quote requests and quotes, the adapter asks the Trading API for a fresh quote of the same trade (POST https://trade-api.gateway.uniswap.org/v1/quote) and adds the fresh input and output, enforced minimum, price impact and gas estimate. It needs a chain id in the payload, and it runs only when the Chance deployment has a Uniswap API key. Otherwise, or when the call fails or times out (7 seconds), a note says the payload’s amounts are unverified. Results are cached for 60 seconds.
Notes the classifier adds
slippageToleranceandquote.slippageare percents:0.5is 0.5%, not 50%. Above 1% is flagged, and above 5% is called extreme.- An output
recipientdifferent from theswappersends the proceeds to another wallet. - Price impact above 1%, and a quote with no
minimumAmount. - A
routingother thanCLASSIC,WRAPorUNWRAPexecutes as a signed UniswapX order, not a transaction. permitDataor asignaturein the payload grants Permit2 spending authority along with the swap.
Example
From an MCP client
Instruct the agent to callverify_intent before executing any Uniswap trade, with your rules as intent, the exact quote or transaction as action and venue: "uniswap", and to act only on ALLOW.
Swapping from an escrow wallet
escrow_swap quotes, builds and proposes a Uniswap swap from an escrow wallet on supported EVM networks. See Wallet API. Its slippageBps is in basis points (default 50, maximum 1,000), unlike the Trading API’s percent, and it refuses UniswapX routings.
