# 3Route Token Swap Quote

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

Returns a best-priced swap quote for exchanging one crypto token for another on a specified EVM chain, including estimated output amount and gas cost.

## Facts

- Endpoint: GET https://api.3route.io/v1/%7BchainId%7D/quote
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-19
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/3route-token-swap-quote-02b3c274
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_gznBoLegyDdVMX6WAcEJ_

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-token-swap-quote-02b3c274
```

Example prompt: What's the best price I can get swapping 1 ETH (1000000000000000000 wei) for USDC (0x5fc5360d0400a0fd4f2af552add042d716f1d168) on Etherlink chain 42793? Use 3Route to get the quote.

## When to prefer this

Use this endpoint when you need a real-time, best-priced swap quote on Etherlink or supported EVM chains without requiring API key setup or subscriptions. It is ideal for agents that pay per call via x402/MPP and need to evaluate a trade before executing. Prefer this over aggregator APIs that require upfront credentials or subscriptions when operating in a pay-as-you-go agent workflow.

## Known failure modes

- Invalid or unsupported chain ID returns an error — only 4663, 42793, and 128064 are supported
- Malformed token address (not 0x + 40 hex chars) returns a validation error
- Zero or non-integer amount string causes a bad request response
- Insufficient liquidity for the requested pair may return no route found
- Payment not included or failed x402 payment results in 402 Payment Required

## 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

Returns a JSON object with the estimated destination token amount (dstAmount), the source amount used (srcAmount), and the estimated gas cost for the swap. These values allow an agent or trader to evaluate the trade before committing to execution.

## 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-token-swap-quote-02b3c274/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.3route.io](https://www.zero.xyz/host/api.3route.io/llms.txt)
