{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/blockdaemon/main/json-schema/blockdaemon-dex-swapaggregator-request-schema.json", "title": "_dex_swapaggregator_Request", "description": "The request body for a /defi/v1/dex/swaps", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/blockdaemon-defi-api-openapi.yml#/components/schemas/_dex_swapaggregator_Request", "type": "object", "properties": { "chainId": { "type": "string", "description": "The unique ID to direct queries or transactions to the correct blockchain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).", "enum": [ "1", "43114", "56", "137", "42161", "10", "8453", "324", "5000", "900", "1400", "1200", "101", "1700", "1500", "1100", "1600", "8217" ] }, "path": { "type": "array", "items": { "type": "string" }, "description": "Ordered array of token contract addresses defining the swap route. Provide [tokenInAddress, tokenOutAddress] for a direct swap. Example (WETH→USDC on Ethereum): ['0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48']." }, "amountIn": { "type": "string", "description": "Amount of the input token to provide, specified in the token's smallest denomination (base units). Do not send human-readable decimal values. Examples: to swap 1 WETH (18 decimals), use \"1000000000000000000\"; to swap 1 USDC (6 decimals), use \"1000000\"." }, "chainSymbol": { "type": "string", "description": "The abbreviated chain name for queries or transactions." }, "from": { "type": "string", "description": "Blockchain address of the token sender. For EVM chains, use a checksummed hex address (e.g., 0xABCDEF...). This address must hold sufficient balance of the input token and will sign the transaction." }, "gas": { "type": "string", "description": "Maximum number of gas units to allocate for the transaction, as an integer string (e.g., '200000'). If omitted, gas is estimated automatically. Note: this is gas units, not wei or gwei." }, "to": { "type": "string", "description": "Blockchain address of the token recipient. For EVM chains, use a checksummed hex address (e.g., 0xABCDEF...). Output tokens are delivered to this address after the swap." }, "poolFees": { "type": "string", "description": "Fee tier of the target liquidity pool in basis points (1 bp = 0.01%). Common values for Uniswap V3-style AMMs: 100 (0.01%), 500 (0.05%), 3000 (0.3%), 10000 (1%). If omitted, the pool yielding the highest output amount is selected automatically." }, "excludedDexes": { "type": "string", "description": "Comma-separated list of DEX protocol IDs (dexId values) to exclude from routing. Find available IDs via the /support endpoint." }, "bestNetPrice": { "type": "boolean", "description": "If true, sorts prepared transactions by net value (amountsOut minus gas) in descending order. If multiple sort parameters are true, bestNetPrice takes precedence." }, "bestQuote": { "type": "boolean", "description": "If true, sorts prepared transactions by amountsOut in descending order. If multiple sort parameters are true, bestNetPrice takes precedence." }, "lowestGas": { "type": "boolean", "description": "If true, sorts prepared transactions by gas cost in ascending order. If multiple sort parameters are true, bestNetPrice takes precedence." }, "gasPriority": { "type": "string", "description": "Specifies the priority level for gas fees (e.g., 'low', 'medium', or 'high'), which influences the transaction speed and cost." }, "amountOutMin": { "type": "string", "description": "Minimum acceptable output amount in the token's smallest denomination (base units). Provides slippage protection — the transaction reverts if the output falls below this value. Set to \"0\" to disable slippage protection. Examples: to require at least 0.99 USDC (6 decimals), use \"990000\"; to require at least 0.99 WETH (18 decimals), use \"990000000000000000\"." }, "slippage": { "type": "string", "description": "Maximum acceptable slippage as a percentage of the swap value. Valid range: 0 to 100 (e.g., 1 = up to 1% slippage). Defaults to 1. The transaction reverts if the output deviates more than this percentage from the quoted price." }, "enableFee": { "type": "boolean", "description": "Flag to include a basis points fee transaction alongside the main transaction when set to true." }, "batchOption": { "type": "string", "description": "Transaction batching standard to use. Supported values: 'EIP-5792' (wallet-level batching via wallet_sendCalls) or 'EIP-7702' (EOA code delegation via batcherContract). Requires batcherContract when using EIP-7702.", "enum": [ "EIP-5792", "EIP-7702" ] }, "batcherContract": { "type": "string", "description": "The EOA address of the batcher that will be used to execute the transaction when using EIP-7702 batching. If not provided, the default batcher contract for the chain will be used." }, "simulate": { "type": "boolean", "description": "When true, dry-runs the transaction batch via eth_simulateV1 and returns a simulate field with status and error on each transaction." } }, "required": [ "path", "amountIn", "from", "to" ] }