Spot quote for swapping through a Uniswap V3 pool at the current tick
Spot quote for swapping through a Uniswap V3 pool at the current tick. amountIn is in human units (not wei). zeroForOne=true sends token0 → token1; false sends token1 → token0. Returns amountOut net of the pool's fee tier. NOTE: this is a single-tick spot quote - slippage from depleting concentrated liquidity is NOT modeled. Use for indicative pricing; for production swaps quote against the Uniswap SDK.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://agent402.tools/api/dex-quote
| Category | Market data |
|---|---|
| Provider host | agent402.tools |
| Networks | algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=, eip155:10, eip155:1329, eip155:137, eip155:143, eip155:42161, eip155:42220, eip155:43114, eip155:4663, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, stellar:pubnet |
| Payment schemes | exact, upto |
| Self-reported calls, 30 days | 7 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"amountIn": 1,
"network": "base",
"poolAddress": "0xd0b53d9277642d899df5c87a3966a349a798f224",
"zeroForOne": true
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"amountIn": {
"description": "Input amount in human units (e.g. 1 WETH, not 1e18 wei).",
"type": "number"
},
"network": {
"description": "ethereum / base / polygon / arbitrum / optimism (default base).",
"type": "string"
},
"poolAddress": {
"description": "0x-prefixed Uniswap V3 pool address.",
"type": "string"
},
"zeroForOne": {
"description": "true: send token0 \u2192 receive token1. false: send token1 \u2192 receive token0.",
"type": "boolean"
}
},
"required": [
"poolAddress",
"amountIn",
"zeroForOne"
]
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"amountIn": {
"type": "integer"
},
"amountOut": {
"type": "number"
},
"fee": {
"type": "integer"
},
"network": {
"type": "string"
},
"note": {
"type": "string"
},
"poolAddress": {
"type": "string"
},
"spotPrice_1per0": {
"type": "number"
},
"zeroForOne": {
"type": "boolean"
}
},
"required": [
"network",
"poolAddress",
"amountIn",
"zeroForOne",
"fee",
"spotPrice_1per0",
"amountOut",
"note"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}