Non-custodial swap calldata for Base
Non-custodial swap calldata for Base: give tokenIn, tokenOut, raw amountIn, slippage and recipient; we read Aerodrome and Uniswap V3 on-chain state, pick the max-output route, and return ready-to-sign transaction calldata plus the ERC-20 approval, amountOutMin, price impact and the venues compared. You sign with your own wallet — we never hold or move funds.
Not tested: has real-world effectsour last check, 2026-10-10
0 of 0checks answered this week
n/amedian answer time
$0.05listed price per call
n/aprice it asked us
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
GET https://api.agentstools.dev/swap/quote
| Category | Market data |
|---|---|
| Provider host | api.agentstools.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 2 from 2 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)
{
"method": "GET",
"queryParams": {
"amountIn": "1000000000000000000",
"recipient": "0x1111111111111111111111111111111111111111",
"slippageBps": 50,
"tokenIn": "WETH",
"tokenOut": "USDC"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"properties": {
"amountIn": {
"description": "Sell amount in RAW atomic units of tokenIn (e.g. 1 WETH = 1000000000000000000). Integer as string.",
"type": "string"
},
"deadlineSeconds": {
"description": "Seconds from now until the swap deadline. Default 600.",
"type": "integer"
},
"recipient": {
"description": "0x address that receives tokenOut (baked into the calldata).",
"type": "string"
},
"slippageBps": {
"description": "Max slippage in basis points (50 = 0.5%). Default 50, max 5000.",
"type": "integer"
},
"tokenIn": {
"description": "Sell token: a supported symbol (WETH, USDC, AERO, ...) or a 0x ERC-20 address on Base.",
"type": "string"
},
"tokenOut": {
"description": "Buy token: a supported symbol or a 0x ERC-20 address on Base.",
"type": "string"
}
},
"required": [
"tokenIn",
"tokenOut",
"amountIn",
"recipient"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}