# 3Route Multichain Swap Quote API

> 3Route Multichain Swap Quote API is a paid API for AI agents from 3route.agents.bakingbad.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Returns a price quote for swapping one token for another on a specified EVM-compatible chain, including estimated destination amount and gas cost.

## Facts

- Endpoint: GET https://3route.agents.bakingbad.dev/v1/%7BchainId%7D/quote
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/3route-multichain-swap-quote-api-96b71444
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LG1aFSql4ctJU6R4K1BAY

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 3route-multichain-swap-quote-api-96b71444
```

Example prompt: On Etherlink (chain 42793), quote me a swap of 1 ETH (native asset) for USDC at address 0x5fc5360d0400a0fd4f2af552add042d716f1d168 — give me the estimated output amount and gas cost.

## When to prefer this

Use this endpoint when you need a fast, on-demand price quote for token swaps on Etherlink or other supported EVM chains (4663, 42793, 128064) before committing to a transaction. Prefer 3Route over generic price feeds when you need DEX-aggregated routing with gas estimates specifically for EVM chains supported by Baking Bad. It is ideal for agents that need to verify swap economics before signing an unsigned transaction.

## Known failure modes

- Invalid or unsupported chainId returns an error — only 4663, 42793, 128064 are supported
- Malformed token address (not a valid 0x hex address) causes a 400 validation error
- Amount of zero or non-integer amount string causes rejection
- Insufficient liquidity for the token pair may return no route found
- Payment not provided (x402 protocol) results in 402 Payment Required before quote is returned
- Unsupported token pair on the selected chain returns an empty or error response

## How this service works

Best-priced crypto token swaps for agents, traders and apps. Pay-per-call quote & swap API via x402/MPP. No API key or subscription.

## Output

A JSON object containing the estimated destination token amount (dstAmount), the source amount confirmed (srcAmount), and the estimated gas units required for the swap. Optionally includes protocol route details, token metadata, and block number depending on query flags.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "chainId"
     ],
     "properties": {
      "chainId": {
       "enum": [
        "4663",
        "42793",
        "128064"
       ],
       "type": "string",
       "example": "4663",
       "pattern": "^[0-9]+$",
       "description": "Chain ID for the operation."
      }
     },
     "additionalProperties": false
    },
    "queryParams": {
     "type": "object",
     "required": [
      "src",
      "dst",
      "amount"
     ],
     "properties": {
      "dst": {
       "type": "string",
       "example": "0x5fc5360d0400a0fd4f2af552add042d716f1d168",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Address of the token being bought; take one from the token-list operation for the selected chain, or use the zero address, or the case-insensitive sentinel 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, for the chain's native asset."
      },
      "fee": {
       "type": "number",
       "default": 0,
       "maximum": 3,
       "minimum": 0
      },
      "src": {
       "type": "string",
       "example": "0x0000000000000000000000000000000000000000",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Address of the token being sold; use the zero address, or the case-insensitive sentinel 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, for the chain's native asset"
      },
      "amount": {
       "type": "string",
       "example": "1000000000000000000",
       "pattern": "^[0-9]+$",
       "description": "Positive amount of src to sell in smallest units, as an integer string."
      },
      "gasPrice": {
       "type": "string",
       "example": "1000000000",
       "pattern": "^[0-9]+$"
      },
      "protocols": {
       "type": "string"
      },
      "includeProtocols": {
       "type": "boolean",
       "default": false
      },
      "excludedProtocols": {
       "type": "string"
      },
      "includeTokensInfo": {
       "type": "boolean",
       "default": false
      },
      "includeBlockNumber": {
       "type": "boolean",
       "default": false
      }
     },
     "additionalPrope
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "gas": 210000,
  "dstAmount": "950000",
  "srcAmount": "1000000000000000000"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/3route-multichain-swap-quote-api-96b71444/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 3route.agents.bakingbad.dev](https://www.zero.xyz/host/3route.agents.bakingbad.dev/llms.txt)
