Skip to main content
Glama

assetfare_v2_quote

Read-only

Get a fresh cross-chain quote with amount-specific guidance, route summary, and unsigned prepare requirements; validate hashes, bounds, and TTL without creating approvals or submitting transactions.

Instructions

Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote Solana USDC to Base USDC. price_recommended_for_amount is advisory; compare alternatives when price matters, but no economic acknowledgement field is required. The quote remains an unranked_candidate until separate explicit approval selects one mode. The adapter validates hashes, path, bounds, and TTL and never creates approval, prepares, signs, or submits.

Input Schema

NameRequiredDescriptionDefault
to_chainYesDestination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.
to_tokenYesOutput token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.
amount_usdYesRequested input value in USD, minimum 1. USD 1 is reachability/schema smoke only. A USD 50 competitive bucket was observed only for dated 2026-09-23 Solana USDC to Base USDC evidence and must not be generalized to another corridor. USD 1,000 is the primary representative amount. SOL input includes a swap. Always quote the actual intended amount.
from_chainYesSource chain for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei, Sonic, Monad, Avalanche, Cronos, Injective, Linea, Aptos, Unichain, and Ink are source-only and cannot be used as to_chain.
from_tokenYesInput token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.

Output Schema

NameRequiredDescriptionDefault
etaYes
riskYes
as_ofYes
offerYes
routeYes
intentYes
statusYes
quote_idYes
executionYes
ttl_secondsYes
cost_summaryYes
continuation_v3Yes
economic_guidanceYes
direct_route_summaryYes
caller_action_plan_handoffYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv1.21.6
    • changedInput schema / properties / from_chain / description
      Previous value: -"Source chain for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei, Sonic, Monad, Avalanche, Cronos, Injective, Linea, and Aptos are source-only and cannot be used as to_chain."New value: +"Source chain for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei, Sonic, Monad, Avalanche, Cronos, Injective, Linea, Aptos, Unichain, and Ink are source-only and cannot be used as to_chain."
    • changedInput schema / properties / from_chain / enum
      Previous value: -[
      -  "solana",
      -  "base",
      -  "arbitrum",
      -  "robinhood",
      -  "polygon",
      -  "optimism",
      -  "ethereum",
      -  "hyperevm",
      -  "xlayer",
      -  "sei",
      -  "sonic",
      -  "monad",
      -  "avalanche",
      -  "cronos",
      -  "injective",
      -  "linea",
      -  "aptos"
      -]New value: +[
      +  "solana",
      +  "base",
      +  "arbitrum",
      +  "robinhood",
      +  "polygon",
      +  "optimism",
      +  "ethereum",
      +  "hyperevm",
      +  "xlayer",
      +  "sei",
      +  "sonic",
      +  "monad",
      +  "avalanche",
      +  "cronos",
      +  "injective",
      +  "linea",
      +  "aptos",
      +  "unichain",
      +  "ink"
      +]
    • changedOutput schema / properties / direct_route_summary / properties / from / enum
      Previous value: -[
      -  "solana:SOL",
      -  "solana:USDC",
      -  "solana:USDG",
      -  "base:ETH",
      -  "base:USDC",
      -  "arbitrum:ETH",
      -  "arbitrum:USDC",
      -  "robinhood:ETH",
      -  "robinhood:USDG",
      -  "polygon:USDC",
      -  "optimism:USDC",
      -  "ethereum:USDC",
      -  "hyperevm:USDC",
      -  "xlayer:USDC",
      -  "sei:USDC",
      -  "sonic:USDC",
      -  "monad:USDC",
      -  "avalanche:USDC",
      -  "cronos:USDC",
      -  "injective:USDC",
      -  "linea:USDC",
      -  "aptos:USDC"
      -]New value: +[
      +  "solana:SOL",
      +  "solana:USDC",
      +  "solana:USDG",
      +  "base:ETH",
      +  "base:USDC",
      +  "arbitrum:ETH",
      +  "arbitrum:USDC",
      +  "robinhood:ETH",
      +  "robinhood:USDG",
      +  "polygon:USDC",
      +  "optimism:USDC",
      +  "ethereum:USDC",
      +  "hyperevm:USDC",
      +  "xlayer:USDC",
      +  "sei:USDC",
      +  "sonic:USDC",
      +  "monad:USDC",
      +  "avalanche:USDC",
      +  "cronos:USDC",
      +  "injective:USDC",
      +  "linea:USDC",
      +  "aptos:USDC",
      +  "unichain:USDC",
      +  "ink:USDC"
      +]
    • changedOutput schema / properties / direct_route_summary / properties / route / enum
      Previous value: -[
      -  "solana:SOL->solana:USDC",
      -  "solana:SOL->solana:USDG",
      -  "solana:SOL->base:ETH",
      -  "solana:SOL->base:USDC",
      -  "solana:SOL->arbitrum:ETH",
      -  "solana:SOL->arbitrum:USDC",
      -  "solana:SOL->robinhood:ETH",
      -  "solana:SOL->robinhood:USDG",
      -  "solana:USDC->solana:SOL",
      -  "solana:USDC->solana:USDG",
      -  "solana:USDC->base:ETH",
      -  "solana:USDC->base:USDC",
      -  "solana:USDC->arbitrum:ETH",
      -  "solana:USDC->arbitrum:USDC",
      -  "solana:USDC->robinhood:ETH",
      -  "solana:USDC->robinhood:USDG",
      -  "solana:USDG->solana:SOL",
      -  "solana:USDG->solana:USDC",
      -  "solana:USDG->base:ETH",
      -  "solana:USDG->base:USDC",
      -  "solana:USDG->arbitrum:ETH",
      -  "solana:USDG->arbitrum:USDC",
      -  "solana:USDG->robinhood:ETH",
      -  "solana:USDG->robinhood:USDG",
      -  "base:ETH->solana:SOL",
      -  "base:ETH->solana:USDC",
      -  "base:ETH->solana:USDG",
      -  "base:ETH->base:USDC",
      -  "base:ETH->arbitrum:ETH",
      -  "base:ETH->arbitrum:USDC",
      -  "base:ETH->robinhood:ETH",
      -  "base:ETH->robinhood:USDG",
      -  "base:USDC->solana:SOL",
      -  "base:USDC->solana:USDC",
      -  "base:USDC->solana:USDG",
      -  "base:USDC->base:ETH",
      -  "base:USDC->arbitrum:ETH",
      -  "base:USDC->arbitrum:USDC",
      -  "base:USDC->robinhood:ETH",
      -  "base:USDC->robinhood:USDG",
      -  "arbitrum:ETH->solana:SOL",
      -  "arbitrum:ETH->solana:USDC",
      -  "arbitrum:ETH->solana:USDG",
      -  "arbitrum:ETH->base:ETH",
      -  "arbitrum:ETH->base:USDC",
      -  "arbitrum:ETH->arbitrum:USDC",
      -  "arbitrum:ETH->robinhood:ETH",
      -  "arbitrum:ETH->robinhood:USDG",
      -  "arbitrum:USDC->solana:SOL",
      -  "arbitrum:USDC->solana:USDC",
      -  "arbitrum:USDC->solana:USDG",
      -  "arbitrum:USDC->base:ETH",
      -  "arbitrum:USDC->base:USDC",
      -  "arbitrum:USDC->arbitrum:ETH",
      -  "arbitrum:USDC->robinhood:ETH",
      -  "arbitrum:USDC->robinhood:USDG",
      -  "robinhood:ETH->solana:SOL",
      -  "robinhood:ETH->solana:USDC",
      -  "robinhood:ETH->solana:USDG",
      -  "robinhood:ETH->base:ETH",
      -  "robinhood:ETH->base:USDC",
      -  "robinhood:ETH->arbitrum:ETH",
      -  "robinhood:ETH->arbitrum:USDC",
      -  "robinhood:ETH->robinhood:USDG",
      -  "robinhood:USDG->solana:SOL",
      -  "robinhood:USDG->solana:USDC",
      -  "robinhood:USDG->solana:USDG",
      -  "robinhood:USDG->base:ETH",
      -  "robinhood:USDG->base:USDC",
      -  "robinhood:USDG->arbitrum:ETH",
      -  "robinhood:USDG->arbitrum:USDC",
      -  "robinhood:USDG->robinhood:ETH",
      -  "polygon:USDC->base:USDC",
      -  "polygon:USDC->arbitrum:USDC",
      -  "optimism:USDC->base:USDC",
      -  "optimism:USDC->arbitrum:USDC",
      -  "ethereum:USDC->solana:USDC",
      -  "ethereum:USDC->base:USDC",
      -  "hyperevm:USDC->solana:USDC",
      -  "hyperevm:USDC->base:USDC",
      -  "xlayer:USDC->solana:USDC",
      -  "xlayer:USDC->base:USDC",
      -  "sei:USDC->solana:USDC",
      -  "sei:USDC->base:USDC",
      -  "sonic:USDC->solana:USDC",
      -  "sonic:USDC->base:USDC",
      -  "monad:USDC->solana:USDC",
      -  "monad:USDC->base:USDC",
      -  "avalanche:USDC->solana:USDC",
      -  "avalanche:USDC->base:USDC",
      -  "cronos:USDC->solana:USDC",
      -  "cronos:USDC->base:USDC",
      -  "injective:USDC->solana:USDC",
      -  "injective:USDC->base:USDC",
      -  "linea:USDC->solana:USDC",
      -  "linea:USDC->base:USDC",
      -  "aptos:USDC->solana:USDC",
      -  "aptos:USDC->base:USDC"
      -]New value: +[
      +  "solana:SOL->solana:USDC",
      +  "solana:SOL->solana:USDG",
      +  "solana:SOL->base:ETH",
      +  "solana:SOL->base:USDC",
      +  "solana:SOL->arbitrum:ETH",
      +  "solana:SOL->arbitrum:USDC",
      +  "solana:SOL->robinhood:ETH",
      +  "solana:SOL->robinhood:USDG",
      +  "solana:USDC->solana:SOL",
      +  "solana:USDC->solana:USDG",
      +  "solana:USDC->base:ETH",
      +  "solana:USDC->base:USDC",
      +  "solana:USDC->arbitrum:ETH",
      +  "solana:USDC->arbitrum:USDC",
      +  "solana:USDC->robinhood:ETH",
      +  "solana:USDC->robinhood:USDG",
      +  "solana:USDG->solana:SOL",
      +  "solana:USDG->solana:USDC",
      +  "solana:USDG->base:ETH",
      +  "solana:USDG->base:USDC",
      +  "solana:USDG->arbitrum:ETH",
      +  "solana:USDG->arbitrum:USDC",
      +  "solana:USDG->robinhood:ETH",
      +  "solana:USDG->robinhood:USDG",
      +  "base:ETH->solana:SOL",
      +  "base:ETH->solana:USDC",
      +  "base:ETH->solana:USDG",
      +  "base:ETH->base:USDC",
      +  "base:ETH->arbitrum:ETH",
      +  "base:ETH->arbitrum:USDC",
      +  "base:ETH->robinhood:ETH",
      +  "base:ETH->robinhood:USDG",
      +  "base:USDC->solana:SOL",
      +  "base:USDC->solana:USDC",
      +  "base:USDC->solana:USDG",
      +  "base:USDC->base:ETH",
      +  "base:USDC->arbitrum:ETH",
      +  "base:USDC->arbitrum:USDC",
      +  "base:USDC->robinhood:ETH",
      +  "base:USDC->robinhood:USDG",
      +  "arbitrum:ETH->solana:SOL",
      +  "arbitrum:ETH->solana:USDC",
      +  "arbitrum:ETH->solana:USDG",
      +  "arbitrum:ETH->base:ETH",
      +  "arbitrum:ETH->base:USDC",
      +  "arbitrum:ETH->arbitrum:USDC",
      +  "arbitrum:ETH->robinhood:ETH",
      +  "arbitrum:ETH->robinhood:USDG",
      +  "arbitrum:USDC->solana:SOL",
      +  "arbitrum:USDC->solana:USDC",
      +  "arbitrum:USDC->solana:USDG",
      +  "arbitrum:USDC->base:ETH",
      +  "arbitrum:USDC->base:USDC",
      +  "arbitrum:USDC->arbitrum:ETH",
      +  "arbitrum:USDC->robinhood:ETH",
      +  "arbitrum:USDC->robinhood:USDG",
      +  "robinhood:ETH->solana:SOL",
      +  "robinhood:ETH->solana:USDC",
      +  "robinhood:ETH->solana:USDG",
      +  "robinhood:ETH->base:ETH",
      +  "robinhood:ETH->base:USDC",
      +  "robinhood:ETH->arbitrum:ETH",
      +  "robinhood:ETH->arbitrum:USDC",
      +  "robinhood:ETH->robinhood:USDG",
      +  "robinhood:USDG->solana:SOL",
      +  "robinhood:USDG->solana:USDC",
      +  "robinhood:USDG->solana:USDG",
      +  "robinhood:USDG->base:ETH",
      +  "robinhood:USDG->base:USDC",
      +  "robinhood:USDG->arbitrum:ETH",
      +  "robinhood:USDG->arbitrum:USDC",
      +  "robinhood:USDG->robinhood:ETH",
      +  "polygon:USDC->base:USDC",
      +  "polygon:USDC->arbitrum:USDC",
      +  "optimism:USDC->base:USDC",
      +  "optimism:USDC->arbitrum:USDC",
      +  "ethereum:USDC->solana:USDC",
      +  "ethereum:USDC->base:USDC",
      +  "hyperevm:USDC->solana:USDC",
      +  "hyperevm:USDC->base:USDC",
      +  "xlayer:USDC->solana:USDC",
      +  "xlayer:USDC->base:USDC",
      +  "sei:USDC->solana:USDC",
      +  "sei:USDC->base:USDC",
      +  "sonic:USDC->solana:USDC",
      +  "sonic:USDC->base:USDC",
      +  "monad:USDC->solana:USDC",
      +  "monad:USDC->base:USDC",
      +  "avalanche:USDC->solana:USDC",
      +  "avalanche:USDC->base:USDC",
      +  "cronos:USDC->solana:USDC",
      +  "cronos:USDC->base:USDC",
      +  "injective:USDC->solana:USDC",
      +  "injective:USDC->base:USDC",
      +  "linea:USDC->solana:USDC",
      +  "linea:USDC->base:USDC",
      +  "aptos:USDC->solana:USDC",
      +  "aptos:USDC->base:USDC",
      +  "unichain:USDC->solana:USDC",
      +  "ink:USDC->solana:USDC"
      +]
    • changedOutput schema / properties / direct_route_summary / properties / steps / items / properties / from / enum
      Previous value: -[
      -  "solana:SOL",
      -  "solana:USDC",
      -  "solana:USDG",
      -  "base:ETH",
      -  "base:USDC",
      -  "arbitrum:ETH",
      -  "arbitrum:USDC",
      -  "robinhood:ETH",
      -  "robinhood:USDG",
      -  "polygon:USDC",
      -  "optimism:USDC",
      -  "ethereum:USDC",
      -  "hyperevm:USDC",
      -  "xlayer:USDC",
      -  "sei:USDC",
      -  "sonic:USDC",
      -  "monad:USDC",
      -  "avalanche:USDC",
      -  "cronos:USDC",
      -  "injective:USDC",
      -  "linea:USDC",
      -  "aptos:USDC"
      -]New value: +[
      +  "solana:SOL",
      +  "solana:USDC",
      +  "solana:USDG",
      +  "base:ETH",
      +  "base:USDC",
      +  "arbitrum:ETH",
      +  "arbitrum:USDC",
      +  "robinhood:ETH",
      +  "robinhood:USDG",
      +  "polygon:USDC",
      +  "optimism:USDC",
      +  "ethereum:USDC",
      +  "hyperevm:USDC",
      +  "xlayer:USDC",
      +  "sei:USDC",
      +  "sonic:USDC",
      +  "monad:USDC",
      +  "avalanche:USDC",
      +  "cronos:USDC",
      +  "injective:USDC",
      +  "linea:USDC",
      +  "aptos:USDC",
      +  "unichain:USDC",
      +  "ink:USDC"
      +]
    • changedOutput schema / properties / economic_guidance / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "advisory_role": {
      -        "enum": [
      -          "observed_economic_zone_start",
      -          "structural_evaluation_start_not_observed_eligibility",
      -          "retest_start_not_economic_eligibility"
      -        ],
      -        "type": "string"
      -      },
      -      "advisory_start_usd": {
      -        "enum": [
      -          50,
      -          100,
      -          250,
      -          500,
      -          1000,
      -          2500,
      -          5000,
      -          10000
      -        ],
      -        "type": "number"
      -      },
      -      "basis": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "confidence": {
      -        "enum": [
      -          "measured_two_day",
      -          "measured_route_specific",
      -          "structural_estimate",
      -          "reworked_route_remeasure",
      -          "coverage_only_retest"
      -        ],
      -        "type": "string"
      -      },
      -      "fresh_quote_required": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "not_a_best_price_guarantee": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "not_an_execution_minimum": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "status": {
      -        "enum": [
      -          "observed_near_parity",
      -          "observed_competitive_or_near_parity",
      -          "provisional_evaluation_start",
      -          "reworked_route_remeasure",
      -          "coverage_only_retest"
      -        ],
      -        "type": "string"
      -      },
      -      "tested_amounts_usd": {
      -        "items": {
      -          "exclusiveMinimum": 0,
      -          "type": "integer"
      -        },
      -        "maxItems": 8,
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "advisory_start_usd",
      -      "advisory_role",
      -      "status",
      -      "confidence",
      -      "basis",
      -      "tested_amounts_usd",
      -      "not_an_execution_minimum",
      -      "not_a_best_price_guarantee",
      -      "fresh_quote_required"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "advisory_start_usd": {
      -        "anyOf": [
      -          {
      -            "type": "null"
      -          },
      -          {
      -            "const": 50,
      -            "type": "number"
      -          },
      -          {
      -            "const": 100,
      -            "type": "number"
      -          },
      -          {
      -            "const": 250,
      -            "type": "number"
      -          },
      -          {
      -            "const": 500,
      -            "type": "number"
      -          },
      -          {
      -            "const": 1000,
      -            "type": "number"
      -          },
      -          {
      -            "const": 2500,
      -            "type": "number"
      -          },
      -          {
      -            "const": 5000,
      -            "type": "number"
      -          },
      -          {
      -            "const": 10000,
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      "availability_only": {
      -        "type": "boolean"
      -      },
      -      "basis": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "best_from_usd": {
      -        "anyOf": [
      -          {
      -            "type": "null"
      -          },
      -          {
      -            "const": 50,
      -            "type": "number"
      -          },
      -          {
      -            "const": 100,
      -            "type": "number"
      -          },
      -          {
      -            "const": 250,
      -            "type": "number"
      -          },
      -          {
      -            "const": 500,
      -            "type": "number"
      -          },
      -          {
      -            "const": 1000,
      -            "type": "number"
      -          },
      -          {
      -            "const": 2500,
      -            "type": "number"
      -          },
      -          {
      -            "const": 5000,
      -            "type": "number"
      -          },
      -          {
      -            "const": 10000,
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      "best_from_verified": {
      -        "type": "boolean"
      -      },
      -      "confidence": {
      -        "enum": [
      -          "paired_all_in_snapshot",
      -          "availability_only_no_price_claim"
      -        ],
      -        "type": "string"
      -      },
      -      "fresh_quote_required": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "not_a_best_price_guarantee": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "not_an_execution_minimum": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "public_activation_status": {
      -        "enum": [
      -          "active_price_verified",
      -          "active_availability_only"
      -        ],
      -        "type": "string"
      -      },
      -      "public_active": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "recommendation_status": {
      -        "enum": [
      -          "active_price_verified",
      -          "active_availability_only"
      -        ],
      -        "type": "string"
      -      },
      -      "recommended_action": {
      -        "enum": [
      -          "use_assetfare_first_at_or_above_best_from",
      -          "use_assetfare_when_route_availability_is_required_without_price_claim"
      -        ],
      -        "type": "string"
      -      },
      -      "tested_amounts_usd": {
      -        "items": {
      -          "exclusiveMinimum": 0,
      -          "type": "integer"
      -        },
      -        "maxItems": 8,
      -        "minItems": 8,
      -        "type": "array"
      -      },
      -      "tested_ceiling_usd": {
      -        "const": 10000,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "advisory_start_usd",
      -      "best_from_usd",
      -      "best_from_verified",
      -      "availability_only",
      -      "public_activation_status",
      -      "public_active",
      -      "recommendation_status",
      -      "recommended_action",
      -      "confidence",
      -      "basis",
      -      "tested_amounts_usd",
      -      "tested_ceiling_usd",
      -      "not_an_execution_minimum",
      -      "not_a_best_price_guarantee",
      -      "fresh_quote_required"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "advisory_role": {
      +            "enum": [
      +              "observed_economic_zone_start",
      +              "structural_evaluation_start_not_observed_eligibility",
      +              "retest_start_not_economic_eligibility"
      +            ],
      +            "type": "string"
      +          },
      +          "advisory_start_usd": {
      +            "enum": [
      +              50,
      +              100,
      +              250,
      +              500,
      +              1000,
      +              2500,
      +              5000,
      +              10000
      +            ],
      +            "type": "number"
      +          },
      +          "basis": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "confidence": {
      +            "enum": [
      +              "measured_two_day",
      +              "measured_route_specific",
      +              "structural_estimate",
      +              "reworked_route_remeasure",
      +              "coverage_only_retest"
      +            ],
      +            "type": "string"
      +          },
      +          "fresh_quote_required": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "not_a_best_price_guarantee": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "not_an_execution_minimum": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "status": {
      +            "enum": [
      +              "observed_near_parity",
      +              "observed_competitive_or_near_parity",
      +              "provisional_evaluation_start",
      +              "reworked_route_remeasure",
      +              "coverage_only_retest"
      +            ],
      +            "type": "string"
      +          },
      +          "tested_amounts_usd": {
      +            "items": {
      +              "exclusiveMinimum": 0,
      +              "type": "integer"
      +            },
      +            "maxItems": 8,
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "advisory_start_usd",
      +          "advisory_role",
      +          "status",
      +          "confidence",
      +          "basis",
      +          "tested_amounts_usd",
      +          "not_an_execution_minimum",
      +          "not_a_best_price_guarantee",
      +          "fresh_quote_required"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "advisory_start_usd": {
      +            "anyOf": [
      +              {
      +                "type": "null"
      +              },
      +              {
      +                "const": 50,
      +                "type": "number"
      +              },
      +              {
      +                "const": 100,
      +                "type": "number"
      +              },
      +              {
      +                "const": 250,
      +                "type": "number"
      +              },
      +              {
      +                "const": 500,
      +                "type": "number"
      +              },
      +              {
      +                "const": 1000,
      +                "type": "number"
      +              },
      +              {
      +                "const": 2500,
      +                "type": "number"
      +              },
      +              {
      +                "const": 5000,
      +                "type": "number"
      +              },
      +              {
      +                "const": 10000,
      +                "type": "number"
      +              }
      +            ]
      +          },
      +          "availability_only": {
      +            "type": "boolean"
      +          },
      +          "basis": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "best_from_usd": {
      +            "anyOf": [
      +              {
      +                "type": "null"
      +              },
      +              {
      +                "const": 50,
      +                "type": "number"
      +              },
      +              {
      +                "const": 100,
      +                "type": "number"
      +              },
      +              {
      +                "const": 250,
      +                "type": "number"
      +              },
      +              {
      +                "const": 500,
      +                "type": "number"
      +              },
      +              {
      +                "const": 1000,
      +                "type": "number"
      +              },
      +              {
      +                "const": 2500,
      +                "type": "number"
      +              },
      +              {
      +                "const": 5000,
      +                "type": "number"
      +              },
      +              {
      +                "const": 10000,
      +                "type": "number"
      +              }
      +            ]
      +          },
      +          "best_from_verified": {
      +            "type": "boolean"
      +          },
      +          "confidence": {
      +            "enum": [
      +              "paired_all_in_snapshot",
      +              "availability_only_no_price_claim"
      +            ],
      +            "type": "string"
      +          },
      +          "fresh_quote_required": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "not_a_best_price_guarantee": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "not_an_execution_minimum": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "public_activation_status": {
      +            "enum": [
      +              "active_price_verified",
      +              "active_availability_only"
      +            ],
      +            "type": "string"
      +          },
      +          "public_active": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "recommendation_status": {
      +            "enum": [
      +              "active_price_verified",
      +              "active_availability_only"
      +            ],
      +            "type": "string"
      +          },
      +          "recommended_action": {
      +            "enum": [
      +              "use_assetfare_first_at_or_above_best_from",
      +              "use_assetfare_when_route_availability_is_required_without_price_claim"
      +            ],
      +            "type": "string"
      +          },
      +          "tested_amounts_usd": {
      +            "items": {
      +              "exclusiveMinimum": 0,
      +              "type": "integer"
      +            },
      +            "maxItems": 8,
      +            "minItems": 8,
      +            "type": "array"
      +          },
      +          "tested_ceiling_usd": {
      +            "const": 10000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "advisory_start_usd",
      +          "best_from_usd",
      +          "best_from_verified",
      +          "availability_only",
      +          "public_activation_status",
      +          "public_active",
      +          "recommendation_status",
      +          "recommended_action",
      +          "confidence",
      +          "basis",
      +          "tested_amounts_usd",
      +          "tested_ceiling_usd",
      +          "not_an_execution_minimum",
      +          "not_a_best_price_guarantee",
      +          "fresh_quote_required"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "advisory_start_usd": {
      +            "anyOf": [
      +              {
      +                "type": "null"
      +              },
      +              {
      +                "const": 50,
      +                "type": "number"
      +              },
      +              {
      +                "const": 100,
      +                "type": "number"
      +              },
      +              {
      +                "const": 250,
      +                "type": "number"
      +              },
      +              {
      +                "const": 500,
      +                "type": "number"
      +              },
      +              {
      +                "const": 1000,
      +                "type": "number"
      +              },
      +              {
      +                "const": 2500,
      +                "type": "number"
      +              },
      +              {
      +                "const": 5000,
      +                "type": "number"
      +              },
      +              {
      +                "const": 10000,
      +                "type": "number"
      +              }
      +            ]
      +          },
      +          "availability_only": {
      +            "type": "boolean"
      +          },
      +          "basis": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "best_from_usd": {
      +            "anyOf": [
      +              {
      +                "type": "null"
      +              },
      +              {
      +                "const": 50,
      +                "type": "number"
      +              },
      +              {
      +                "const": 100,
      +                "type": "number"
      +              },
      +              {
      +                "const": 250,
      +                "type": "number"
      +              },
      +              {
      +                "const": 500,
      +                "type": "number"
      +              },
      +              {
      +                "const": 1000,
      +                "type": "number"
      +              },
      +              {
      +                "const": 2500,
      +                "type": "number"
      +              },
      +              {
      +                "const": 5000,
      +                "type": "number"
      +              },
      +              {
      +                "const": 10000,
      +                "type": "number"
      +              }
      +            ]
      +          },
      +          "best_from_verified": {
      +            "type": "boolean"
      +          },
      +          "confidence": {
      +            "enum": [
      +              "paired_all_in_snapshot",
      +              "availability_only_no_price_claim",
      +              "paired_all_in_snapshot_competitor_cheaper_through_tested_ceiling"
      +            ],
      +            "type": "string"
      +          },
      +          "economic_guidance_blocks_execution": {
      +            "const": false,
      +            "type": "boolean"
      +          },
      +          "economic_selection_policy": {
      +            "const": "advisory_only_no_execution_gate",
      +            "type": "string"
      +          },
      +          "fresh_quote_required": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "not_a_best_price_guarantee": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "not_an_execution_minimum": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "price_recommended_for_amount": {
      +            "type": "boolean"
      +          },
      +          "public_activation_status": {
      +            "enum": [
      +              "active_price_verified",
      +              "active_availability_only",
      +              "active_compare_required"
      +            ],
      +            "type": "string"
      +          },
      +          "public_active": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "quoted_amount_usd": {
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "recommendation_status": {
      +            "enum": [
      +              "active_price_verified",
      +              "active_availability_only",
      +              "active_compare_required"
      +            ],
      +            "type": "string"
      +          },
      +          "recommended_action": {
      +            "enum": [
      +              "price_recommended_at_or_above_best_from_otherwise_no_price_recommendation",
      +              "available_no_cheapest_price_claim_compare_if_price_matters",
      +              "available_not_price_recommended_compare_if_price_matters"
      +            ],
      +            "type": "string"
      +          },
      +          "tested_amounts_usd": {
      +            "items": {
      +              "exclusiveMinimum": 0,
      +              "type": "integer"
      +            },
      +            "maxItems": 8,
      +            "minItems": 8,
      +            "type": "array"
      +          },
      +          "tested_ceiling_usd": {
      +            "const": 10000,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "advisory_start_usd",
      +          "best_from_usd",
      +          "best_from_verified",
      +          "availability_only",
      +          "public_activation_status",
      +          "public_active",
      +          "recommendation_status",
      +          "recommended_action",
      +          "confidence",
      +          "basis",
      +          "economic_selection_policy",
      +          "economic_guidance_blocks_execution",
      +          "tested_amounts_usd",
      +          "tested_ceiling_usd",
      +          "not_an_execution_minimum",
      +          "not_a_best_price_guarantee",
      +          "fresh_quote_required",
      +          "quoted_amount_usd",
      +          "price_recommended_for_amount"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount_specific_product_gate": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "business_class": {
      +        "enum": [
      +          "core_business",
      +          "conditional_business",
      +          "strategic_scarce"
      +        ],
      +        "type": "string"
      +      },
      +      "decision_unit": {
      +        "const": "whole_route",
      +        "type": "string"
      +      },
      +      "fresh_quote_required": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "not_a_best_price_guarantee": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "price_recommended_for_amount": {
      +        "type": "null"
      +      },
      +      "public_active": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "public_status": {
      +        "const": "offered",
      +        "type": "string"
      +      },
      +      "quoted_amount_usd": {
      +        "minimum": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "amount_specific_product_gate",
      +      "business_class",
      +      "decision_unit",
      +      "fresh_quote_required",
      +      "not_a_best_price_guarantee",
      +      "price_recommended_for_amount",
      +      "public_active",
      +      "public_status",
      +      "quoted_amount_usd"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed5 schema fields changedv1.15.3
    • removedOutput schema / properties / cost_summary / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / cost_summary / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "all_in_estimate_complete": {
      +        "type": "boolean"
      +      },
      +      "assetfare_service_fee": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "bps": {
      +            "const": 1,
      +            "type": "number"
      +          },
      +          "estimated_usd": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "included_in_receive_amount": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "note": {
      +            "minLength": 1,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "bps",
      +          "estimated_usd",
      +          "included_in_receive_amount",
      +          "note"
      +        ],
      +        "type": "object"
      +      },
      +      "expected_all_in_cost_percent_estimate": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "expected_all_in_cost_usd_estimate": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "expected_receive_value_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "expected_total_cost_percent": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "expected_total_cost_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "input_value_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "maximum_all_in_cost_percent_estimate": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "maximum_all_in_cost_usd_estimate": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "maximum_total_cost_percent": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "maximum_total_cost_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "minimum_receive_value_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "native_balance_requirements": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "basis": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "decimals": {
      +              "maximum": 18,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "expected_amount": {
      +              "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]+)?$",
      +              "type": "string"
      +            },
      +            "expected_amount_base": {
      +              "pattern": "^[0-9]+$",
      +              "type": "string"
      +            },
      +            "expected_usd": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "included_in_receive_amount": {
      +              "const": false,
      +              "type": "boolean"
      +            },
      +            "includes": {
      +              "items": {
      +                "enum": [
      +                  "layerzero_native_fee",
      +                  "source_chain_network_fee_estimate"
      +                ],
      +                "type": "string"
      +              },
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "maximum_amount": {
      +              "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]+)?$",
      +              "type": "string"
      +            },
      +            "maximum_amount_base": {
      +              "pattern": "^[0-9]+$",
      +              "type": "string"
      +            },
      +            "maximum_usd": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "paid_in": {
      +              "pattern": "^[a-z0-9]+:[A-Z0-9]+$",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "paid_in",
      +            "decimals",
      +            "expected_amount_base",
      +            "maximum_amount_base",
      +            "expected_amount",
      +            "maximum_amount",
      +            "expected_usd",
      +            "maximum_usd",
      +            "includes",
      +            "included_in_receive_amount",
      +            "basis"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "provider_fee_components": {
      +        "items": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "expected_usd": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "included_in_receive_amount": {
      +              "const": true,
      +              "type": "boolean"
      +            },
      +            "kind": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "maximum_usd": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "provider": {
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "provider",
      +            "kind",
      +            "expected_usd",
      +            "maximum_usd",
      +            "included_in_receive_amount"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "rankable_all_in": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "scope": {
      +        "const": "token_path_only_network_gas_excluded",
      +        "type": "string"
      +      },
      +      "separately_paid_costs": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "basis": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "decimals": {
      +              "maximum": 18,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "expected_amount_base": {
      +              "pattern": "^[0-9]+$",
      +              "type": "string"
      +            },
      +            "expected_usd": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "included_in_receive_amount": {
      +              "const": false,
      +              "type": "boolean"
      +            },
      +            "kind": {
      +              "enum": [
      +                "layerzero_native_fee",
      +                "source_chain_network_fee_estimate"
      +              ],
      +              "type": "string"
      +            },
      +            "maximum_amount_base": {
      +              "pattern": "^[0-9]+$",
      +              "type": "string"
      +            },
      +            "maximum_usd": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "paid_in": {
      +              "pattern": "^[a-z0-9]+:[A-Z0-9]+$",
      +              "type": "string"
      +            },
      +            "provider": {
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "provider",
      +            "kind",
      +            "paid_in",
      +            "expected_amount_base",
      +            "maximum_amount_base",
      +            "decimals",
      +            "expected_usd",
      +            "maximum_usd",
      +            "included_in_receive_amount",
      +            "basis"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "small_amount_warning": {
      +        "type": "boolean"
      +      },
      +      "source_native_balance_required": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/cost_summary/anyOf/0/properties/native_balance_requirements/items"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "token_path_expected_cost_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "token_path_maximum_cost_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "unpriced_costs": {
      +        "items": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "warning": {
      +        "anyOf": [
      +          {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "scope",
      +      "input_value_usd",
      +      "expected_receive_value_usd",
      +      "minimum_receive_value_usd",
      +      "expected_total_cost_usd",
      +      "maximum_total_cost_usd",
      +      "expected_total_cost_percent",
      +      "maximum_total_cost_percent",
      +      "token_path_expected_cost_usd",
      +      "token_path_maximum_cost_usd",
      +      "separately_paid_costs",
      +      "expected_all_in_cost_usd_estimate",
      +      "maximum_all_in_cost_usd_estimate",
      +      "expected_all_in_cost_percent_estimate",
      +      "maximum_all_in_cost_percent_estimate",
      +      "all_in_estimate_complete",
      +      "native_balance_requirements",
      +      "source_native_balance_required",
      +      "assetfare_service_fee",
      +      "provider_fee_components",
      +      "unpriced_costs",
      +      "rankable_all_in",
      +      "small_amount_warning",
      +      "warning"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "assetfare_service_fee": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "bps": {
      +            "const": 1,
      +            "type": "number"
      +          },
      +          "estimated_usd": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "included_in_receive_amount": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "note": {
      +            "minLength": 1,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "bps",
      +          "estimated_usd",
      +          "included_in_receive_amount",
      +          "note"
      +        ],
      +        "type": "object"
      +      },
      +      "expected_receive_value_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "expected_total_cost_percent": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "expected_total_cost_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "input_value_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "maximum_total_cost_percent": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "maximum_total_cost_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "minimum_receive_value_usd": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "provider_fee_components": {
      +        "items": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "expected_usd": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "included_in_receive_amount": {
      +              "const": true,
      +              "type": "boolean"
      +            },
      +            "kind": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "maximum_usd": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "provider": {
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "provider",
      +            "kind",
      +            "expected_usd",
      +            "maximum_usd",
      +            "included_in_receive_amount"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "rankable_all_in": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "scope": {
      +        "const": "token_path_only_network_gas_excluded",
      +        "type": "string"
      +      },
      +      "small_amount_warning": {
      +        "type": "boolean"
      +      },
      +      "unpriced_costs": {
      +        "items": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "warning": {
      +        "anyOf": [
      +          {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "scope",
      +      "input_value_usd",
      +      "expected_receive_value_usd",
      +      "minimum_receive_value_usd",
      +      "expected_total_cost_usd",
      +      "maximum_total_cost_usd",
      +      "expected_total_cost_percent",
      +      "maximum_total_cost_percent",
      +      "assetfare_service_fee",
      +      "provider_fee_components",
      +      "unpriced_costs",
      +      "rankable_all_in",
      +      "small_amount_warning",
      +      "warning"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / properties / cost_summary / properties
      Removed value: -{
      -  "assetfare_service_fee": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bps": {
      -        "const": 1,
      -        "type": "number"
      -      },
      -      "estimated_usd": {
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "included_in_receive_amount": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "note": {
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "bps",
      -      "estimated_usd",
      -      "included_in_receive_amount",
      -      "note"
      -    ],
      -    "type": "object"
      -  },
      -  "expected_receive_value_usd": {
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "expected_total_cost_percent": {
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "expected_total_cost_usd": {
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "input_value_usd": {
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "maximum_total_cost_percent": {
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "maximum_total_cost_usd": {
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "minimum_receive_value_usd": {
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "provider_fee_components": {
      -    "items": {
      -      "additionalProperties": true,
      -      "properties": {
      -        "expected_usd": {
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "included_in_receive_amount": {
      -          "const": true,
      -          "type": "boolean"
      -        },
      -        "kind": {
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "maximum_usd": {
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "provider": {
      -          "minLength": 1,
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "provider",
      -        "kind",
      -        "expected_usd",
      -        "maximum_usd",
      -        "included_in_receive_amount"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "rankable_all_in": {
      -    "const": false,
      -    "type": "boolean"
      -  },
      -  "scope": {
      -    "const": "token_path_only_network_gas_excluded",
      -    "type": "string"
      -  },
      -  "small_amount_warning": {
      -    "type": "boolean"
      -  },
      -  "unpriced_costs": {
      -    "items": {
      -      "minLength": 1,
      -      "type": "string"
      -    },
      -    "minItems": 1,
      -    "type": "array"
      -  },
      -  "warning": {
      -    "anyOf": [
      -      {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ]
      -  }
      -}
    • removedOutput schema / properties / cost_summary / required
      Removed value: -[
      -  "scope",
      -  "input_value_usd",
      -  "expected_receive_value_usd",
      -  "minimum_receive_value_usd",
      -  "expected_total_cost_usd",
      -  "maximum_total_cost_usd",
      -  "expected_total_cost_percent",
      -  "maximum_total_cost_percent",
      -  "assetfare_service_fee",
      -  "provider_fee_components",
      -  "unpriced_costs",
      -  "rankable_all_in",
      -  "small_amount_warning",
      -  "warning"
      -]
    • removedOutput schema / properties / cost_summary / type
      Removed value: -"object"
  3. Changed4 schema fields changedv1.15.2
    • changedInput schema / properties / from_chain / description
      Previous value: -"Source chain for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei and Sonic are source-only and cannot be used as to_chain."New value: +"Source chain for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei, Sonic, Monad, Avalanche, Cronos, Injective, Linea, and Aptos are source-only and cannot be used as to_chain."
    • changedOutput schema / properties / continuation_v3 / properties / quote_fingerprint_claim / properties / required_wallet_chains / items / enum
      Previous value: -[
      -  "arbitrum",
      -  "base",
      -  "ethereum",
      -  "hyperevm",
      -  "optimism",
      -  "polygon",
      -  "robinhood",
      -  "sei",
      -  "solana",
      -  "sonic",
      -  "xlayer"
      -]New value: +[
      +  "aptos",
      +  "arbitrum",
      +  "avalanche",
      +  "base",
      +  "cronos",
      +  "ethereum",
      +  "hyperevm",
      +  "injective",
      +  "linea",
      +  "monad",
      +  "optimism",
      +  "polygon",
      +  "robinhood",
      +  "sei",
      +  "solana",
      +  "sonic",
      +  "xlayer"
      +]
    • changedOutput schema / properties / continuation_v3 / properties / quote_fingerprint_claim / properties / required_wallet_chains / maxItems
      Previous value: -11New value: +17
    • changedOutput schema / properties / continuation_v3 / properties / required_wallet_chains / maxItems
      Previous value: -11New value: +17
  4. Changed12 schema fields changedv1.14.5
    • changedInput schema / properties / from_chain / description
      Previous value: -"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain."New value: +"Source chain for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei and Sonic are source-only and cannot be used as to_chain."
    • changedInput schema / properties / from_chain / enum
      Previous value: -[
      -  "solana",
      -  "base",
      -  "arbitrum",
      -  "robinhood",
      -  "polygon",
      -  "optimism"
      -]New value: +[
      +  "solana",
      +  "base",
      +  "arbitrum",
      +  "robinhood",
      +  "polygon",
      +  "optimism",
      +  "ethereum",
      +  "hyperevm",
      +  "xlayer",
      +  "sei",
      +  "sonic",
      +  "monad",
      +  "avalanche",
      +  "cronos",
      +  "injective",
      +  "linea",
      +  "aptos"
      +]
    • changedInput schema / properties / to_chain / description
      Previous value: -"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations."New value: +"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations."
    • changedOutput schema / properties / continuation_v3 / properties / quote_fingerprint_claim / properties / required_wallet_chains / items / enum
      Previous value: -[
      -  "arbitrum",
      -  "base",
      -  "optimism",
      -  "polygon",
      -  "robinhood",
      -  "solana"
      -]New value: +[
      +  "arbitrum",
      +  "base",
      +  "ethereum",
      +  "hyperevm",
      +  "optimism",
      +  "polygon",
      +  "robinhood",
      +  "sei",
      +  "solana",
      +  "sonic",
      +  "xlayer"
      +]
    • changedOutput schema / properties / continuation_v3 / properties / quote_fingerprint_claim / properties / required_wallet_chains / maxItems
      Previous value: -6New value: +11
    • changedOutput schema / properties / continuation_v3 / properties / required_wallet_chains / maxItems
      Previous value: -6New value: +11
    • changedOutput schema / properties / direct_route_summary / properties / from / enum
      Previous value: -[
      -  "solana:SOL",
      -  "solana:USDC",
      -  "solana:USDG",
      -  "base:ETH",
      -  "base:USDC",
      -  "arbitrum:ETH",
      -  "arbitrum:USDC",
      -  "robinhood:ETH",
      -  "robinhood:USDG",
      -  "polygon:USDC",
      -  "optimism:USDC"
      -]New value: +[
      +  "solana:SOL",
      +  "solana:USDC",
      +  "solana:USDG",
      +  "base:ETH",
      +  "base:USDC",
      +  "arbitrum:ETH",
      +  "arbitrum:USDC",
      +  "robinhood:ETH",
      +  "robinhood:USDG",
      +  "polygon:USDC",
      +  "optimism:USDC",
      +  "ethereum:USDC",
      +  "hyperevm:USDC",
      +  "xlayer:USDC",
      +  "sei:USDC",
      +  "sonic:USDC",
      +  "monad:USDC",
      +  "avalanche:USDC",
      +  "cronos:USDC",
      +  "injective:USDC",
      +  "linea:USDC",
      +  "aptos:USDC"
      +]
    • changedOutput schema / properties / direct_route_summary / properties / mode / enum
      Previous value: -[
      -  "cctp_direct_composition",
      -  "optimism_source_cctp",
      -  "polygon_source_cctp",
      -  "robinhood_across_ingress_composition",
      -  "robinhood_paxos_egress_composition",
      -  "robinhood_paxos_ingress_composition",
      -  "same_chain_direct",
      -  "same_chain_direct_composition"
      -]New value: +[
      +  "aptos_move_cctp_direct",
      +  "cctp_direct_composition",
      +  "optimism_source_cctp",
      +  "polygon_source_cctp",
      +  "robinhood_across_ingress_composition",
      +  "robinhood_paxos_egress_composition",
      +  "robinhood_paxos_ingress_composition",
      +  "same_chain_direct",
      +  "same_chain_direct_composition"
      +]
    • changedOutput schema / properties / direct_route_summary / properties / route / enum
      Previous value: -[
      -  "solana:SOL->solana:USDC",
      -  "solana:SOL->solana:USDG",
      -  "solana:SOL->base:ETH",
      -  "solana:SOL->base:USDC",
      -  "solana:SOL->arbitrum:ETH",
      -  "solana:SOL->arbitrum:USDC",
      -  "solana:SOL->robinhood:ETH",
      -  "solana:SOL->robinhood:USDG",
      -  "solana:USDC->solana:SOL",
      -  "solana:USDC->solana:USDG",
      -  "solana:USDC->base:ETH",
      -  "solana:USDC->base:USDC",
      -  "solana:USDC->arbitrum:ETH",
      -  "solana:USDC->arbitrum:USDC",
      -  "solana:USDC->robinhood:ETH",
      -  "solana:USDC->robinhood:USDG",
      -  "solana:USDG->solana:SOL",
      -  "solana:USDG->solana:USDC",
      -  "solana:USDG->base:ETH",
      -  "solana:USDG->base:USDC",
      -  "solana:USDG->arbitrum:ETH",
      -  "solana:USDG->arbitrum:USDC",
      -  "solana:USDG->robinhood:ETH",
      -  "solana:USDG->robinhood:USDG",
      -  "base:ETH->solana:SOL",
      -  "base:ETH->solana:USDC",
      -  "base:ETH->solana:USDG",
      -  "base:ETH->base:USDC",
      -  "base:ETH->arbitrum:ETH",
      -  "base:ETH->arbitrum:USDC",
      -  "base:ETH->robinhood:ETH",
      -  "base:ETH->robinhood:USDG",
      -  "base:USDC->solana:SOL",
      -  "base:USDC->solana:USDC",
      -  "base:USDC->solana:USDG",
      -  "base:USDC->base:ETH",
      -  "base:USDC->arbitrum:ETH",
      -  "base:USDC->arbitrum:USDC",
      -  "base:USDC->robinhood:ETH",
      -  "base:USDC->robinhood:USDG",
      -  "arbitrum:ETH->solana:SOL",
      -  "arbitrum:ETH->solana:USDC",
      -  "arbitrum:ETH->solana:USDG",
      -  "arbitrum:ETH->base:ETH",
      -  "arbitrum:ETH->base:USDC",
      -  "arbitrum:ETH->arbitrum:USDC",
      -  "arbitrum:ETH->robinhood:ETH",
      -  "arbitrum:ETH->robinhood:USDG",
      -  "arbitrum:USDC->solana:SOL",
      -  "arbitrum:USDC->solana:USDC",
      -  "arbitrum:USDC->solana:USDG",
      -  "arbitrum:USDC->base:ETH",
      -  "arbitrum:USDC->base:USDC",
      -  "arbitrum:USDC->arbitrum:ETH",
      -  "arbitrum:USDC->robinhood:ETH",
      -  "arbitrum:USDC->robinhood:USDG",
      -  "robinhood:ETH->solana:SOL",
      -  "robinhood:ETH->solana:USDC",
      -  "robinhood:ETH->solana:USDG",
      -  "robinhood:ETH->base:ETH",
      -  "robinhood:ETH->base:USDC",
      -  "robinhood:ETH->arbitrum:ETH",
      -  "robinhood:ETH->arbitrum:USDC",
      -  "robinhood:ETH->robinhood:USDG",
      -  "robinhood:USDG->solana:SOL",
      -  "robinhood:USDG->solana:USDC",
      -  "robinhood:USDG->solana:USDG",
      -  "robinhood:USDG->base:ETH",
      -  "robinhood:USDG->base:USDC",
      -  "robinhood:USDG->arbitrum:ETH",
      -  "robinhood:USDG->arbitrum:USDC",
      -  "robinhood:USDG->robinhood:ETH",
      -  "polygon:USDC->base:USDC",
      -  "polygon:USDC->arbitrum:USDC",
      -  "optimism:USDC->base:USDC",
      -  "optimism:USDC->arbitrum:USDC"
      -]New value: +[
      +  "solana:SOL->solana:USDC",
      +  "solana:SOL->solana:USDG",
      +  "solana:SOL->base:ETH",
      +  "solana:SOL->base:USDC",
      +  "solana:SOL->arbitrum:ETH",
      +  "solana:SOL->arbitrum:USDC",
      +  "solana:SOL->robinhood:ETH",
      +  "solana:SOL->robinhood:USDG",
      +  "solana:USDC->solana:SOL",
      +  "solana:USDC->solana:USDG",
      +  "solana:USDC->base:ETH",
      +  "solana:USDC->base:USDC",
      +  "solana:USDC->arbitrum:ETH",
      +  "solana:USDC->arbitrum:USDC",
      +  "solana:USDC->robinhood:ETH",
      +  "solana:USDC->robinhood:USDG",
      +  "solana:USDG->solana:SOL",
      +  "solana:USDG->solana:USDC",
      +  "solana:USDG->base:ETH",
      +  "solana:USDG->base:USDC",
      +  "solana:USDG->arbitrum:ETH",
      +  "solana:USDG->arbitrum:USDC",
      +  "solana:USDG->robinhood:ETH",
      +  "solana:USDG->robinhood:USDG",
      +  "base:ETH->solana:SOL",
      +  "base:ETH->solana:USDC",
      +  "base:ETH->solana:USDG",
      +  "base:ETH->base:USDC",
      +  "base:ETH->arbitrum:ETH",
      +  "base:ETH->arbitrum:USDC",
      +  "base:ETH->robinhood:ETH",
      +  "base:ETH->robinhood:USDG",
      +  "base:USDC->solana:SOL",
      +  "base:USDC->solana:USDC",
      +  "base:USDC->solana:USDG",
      +  "base:USDC->base:ETH",
      +  "base:USDC->arbitrum:ETH",
      +  "base:USDC->arbitrum:USDC",
      +  "base:USDC->robinhood:ETH",
      +  "base:USDC->robinhood:USDG",
      +  "arbitrum:ETH->solana:SOL",
      +  "arbitrum:ETH->solana:USDC",
      +  "arbitrum:ETH->solana:USDG",
      +  "arbitrum:ETH->base:ETH",
      +  "arbitrum:ETH->base:USDC",
      +  "arbitrum:ETH->arbitrum:USDC",
      +  "arbitrum:ETH->robinhood:ETH",
      +  "arbitrum:ETH->robinhood:USDG",
      +  "arbitrum:USDC->solana:SOL",
      +  "arbitrum:USDC->solana:USDC",
      +  "arbitrum:USDC->solana:USDG",
      +  "arbitrum:USDC->base:ETH",
      +  "arbitrum:USDC->base:USDC",
      +  "arbitrum:USDC->arbitrum:ETH",
      +  "arbitrum:USDC->robinhood:ETH",
      +  "arbitrum:USDC->robinhood:USDG",
      +  "robinhood:ETH->solana:SOL",
      +  "robinhood:ETH->solana:USDC",
      +  "robinhood:ETH->solana:USDG",
      +  "robinhood:ETH->base:ETH",
      +  "robinhood:ETH->base:USDC",
      +  "robinhood:ETH->arbitrum:ETH",
      +  "robinhood:ETH->arbitrum:USDC",
      +  "robinhood:ETH->robinhood:USDG",
      +  "robinhood:USDG->solana:SOL",
      +  "robinhood:USDG->solana:USDC",
      +  "robinhood:USDG->solana:USDG",
      +  "robinhood:USDG->base:ETH",
      +  "robinhood:USDG->base:USDC",
      +  "robinhood:USDG->arbitrum:ETH",
      +  "robinhood:USDG->arbitrum:USDC",
      +  "robinhood:USDG->robinhood:ETH",
      +  "polygon:USDC->base:USDC",
      +  "polygon:USDC->arbitrum:USDC",
      +  "optimism:USDC->base:USDC",
      +  "optimism:USDC->arbitrum:USDC",
      +  "ethereum:USDC->solana:USDC",
      +  "ethereum:USDC->base:USDC",
      +  "hyperevm:USDC->solana:USDC",
      +  "hyperevm:USDC->base:USDC",
      +  "xlayer:USDC->solana:USDC",
      +  "xlayer:USDC->base:USDC",
      +  "sei:USDC->solana:USDC",
      +  "sei:USDC->base:USDC",
      +  "sonic:USDC->solana:USDC",
      +  "sonic:USDC->base:USDC",
      +  "monad:USDC->solana:USDC",
      +  "monad:USDC->base:USDC",
      +  "avalanche:USDC->solana:USDC",
      +  "avalanche:USDC->base:USDC",
      +  "cronos:USDC->solana:USDC",
      +  "cronos:USDC->base:USDC",
      +  "injective:USDC->solana:USDC",
      +  "injective:USDC->base:USDC",
      +  "linea:USDC->solana:USDC",
      +  "linea:USDC->base:USDC",
      +  "aptos:USDC->solana:USDC",
      +  "aptos:USDC->base:USDC"
      +]
    • changedOutput schema / properties / direct_route_summary / properties / steps / items / properties / from / enum
      Previous value: -[
      -  "solana:SOL",
      -  "solana:USDC",
      -  "solana:USDG",
      -  "base:ETH",
      -  "base:USDC",
      -  "arbitrum:ETH",
      -  "arbitrum:USDC",
      -  "robinhood:ETH",
      -  "robinhood:USDG",
      -  "polygon:USDC",
      -  "optimism:USDC"
      -]New value: +[
      +  "solana:SOL",
      +  "solana:USDC",
      +  "solana:USDG",
      +  "base:ETH",
      +  "base:USDC",
      +  "arbitrum:ETH",
      +  "arbitrum:USDC",
      +  "robinhood:ETH",
      +  "robinhood:USDG",
      +  "polygon:USDC",
      +  "optimism:USDC",
      +  "ethereum:USDC",
      +  "hyperevm:USDC",
      +  "xlayer:USDC",
      +  "sei:USDC",
      +  "sonic:USDC",
      +  "monad:USDC",
      +  "avalanche:USDC",
      +  "cronos:USDC",
      +  "injective:USDC",
      +  "linea:USDC",
      +  "aptos:USDC"
      +]
    • addedOutput schema / properties / economic_guidance
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "advisory_role": {
      +          "enum": [
      +            "observed_economic_zone_start",
      +            "structural_evaluation_start_not_observed_eligibility",
      +            "retest_start_not_economic_eligibility"
      +          ],
      +          "type": "string"
      +        },
      +        "advisory_start_usd": {
      +          "enum": [
      +            50,
      +            100,
      +            250,
      +            500,
      +            1000,
      +            2500,
      +            5000,
      +            10000
      +          ],
      +          "type": "number"
      +        },
      +        "basis": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "confidence": {
      +          "enum": [
      +            "measured_two_day",
      +            "measured_route_specific",
      +            "structural_estimate",
      +            "reworked_route_remeasure",
      +            "coverage_only_retest"
      +          ],
      +          "type": "string"
      +        },
      +        "fresh_quote_required": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "not_a_best_price_guarantee": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "not_an_execution_minimum": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "status": {
      +          "enum": [
      +            "observed_near_parity",
      +            "observed_competitive_or_near_parity",
      +            "provisional_evaluation_start",
      +            "reworked_route_remeasure",
      +            "coverage_only_retest"
      +          ],
      +          "type": "string"
      +        },
      +        "tested_amounts_usd": {
      +          "items": {
      +            "exclusiveMinimum": 0,
      +            "type": "integer"
      +          },
      +          "maxItems": 8,
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "advisory_start_usd",
      +        "advisory_role",
      +        "status",
      +        "confidence",
      +        "basis",
      +        "tested_amounts_usd",
      +        "not_an_execution_minimum",
      +        "not_a_best_price_guarantee",
      +        "fresh_quote_required"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "advisory_start_usd": {
      +          "anyOf": [
      +            {
      +              "type": "null"
      +            },
      +            {
      +              "const": 50,
      +              "type": "number"
      +            },
      +            {
      +              "const": 100,
      +              "type": "number"
      +            },
      +            {
      +              "const": 250,
      +              "type": "number"
      +            },
      +            {
      +              "const": 500,
      +              "type": "number"
      +            },
      +            {
      +              "const": 1000,
      +              "type": "number"
      +            },
      +            {
      +              "const": 2500,
      +              "type": "number"
      +            },
      +            {
      +              "const": 5000,
      +              "type": "number"
      +            },
      +            {
      +              "const": 10000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "availability_only": {
      +          "type": "boolean"
      +        },
      +        "basis": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "best_from_usd": {
      +          "anyOf": [
      +            {
      +              "type": "null"
      +            },
      +            {
      +              "const": 50,
      +              "type": "number"
      +            },
      +            {
      +              "const": 100,
      +              "type": "number"
      +            },
      +            {
      +              "const": 250,
      +              "type": "number"
      +            },
      +            {
      +              "const": 500,
      +              "type": "number"
      +            },
      +            {
      +              "const": 1000,
      +              "type": "number"
      +            },
      +            {
      +              "const": 2500,
      +              "type": "number"
      +            },
      +            {
      +              "const": 5000,
      +              "type": "number"
      +            },
      +            {
      +              "const": 10000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "best_from_verified": {
      +          "type": "boolean"
      +        },
      +        "confidence": {
      +          "enum": [
      +            "paired_all_in_snapshot",
      +            "availability_only_no_price_claim"
      +          ],
      +          "type": "string"
      +        },
      +        "fresh_quote_required": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "not_a_best_price_guarantee": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "not_an_execution_minimum": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "public_activation_status": {
      +          "enum": [
      +            "active_price_verified",
      +            "active_availability_only"
      +          ],
      +          "type": "string"
      +        },
      +        "public_active": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "recommendation_status": {
      +          "enum": [
      +            "active_price_verified",
      +            "active_availability_only"
      +          ],
      +          "type": "string"
      +        },
      +        "recommended_action": {
      +          "enum": [
      +            "use_assetfare_first_at_or_above_best_from",
      +            "use_assetfare_when_route_availability_is_required_without_price_claim"
      +          ],
      +          "type": "string"
      +        },
      +        "tested_amounts_usd": {
      +          "items": {
      +            "exclusiveMinimum": 0,
      +            "type": "integer"
      +          },
      +          "maxItems": 8,
      +          "minItems": 8,
      +          "type": "array"
      +        },
      +        "tested_ceiling_usd": {
      +          "const": 10000,
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "advisory_start_usd",
      +        "best_from_usd",
      +        "best_from_verified",
      +        "availability_only",
      +        "public_activation_status",
      +        "public_active",
      +        "recommendation_status",
      +        "recommended_action",
      +        "confidence",
      +        "basis",
      +        "tested_amounts_usd",
      +        "tested_ceiling_usd",
      +        "not_an_execution_minimum",
      +        "not_a_best_price_guarantee",
      +        "fresh_quote_required"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "quote_id",
      -  "status",
      -  "as_of",
      -  "ttl_seconds",
      -  "intent",
      -  "offer",
      -  "cost_summary",
      -  "eta",
      -  "route",
      -  "direct_route_summary",
      -  "continuation_v3",
      -  "risk",
      -  "execution",
      -  "caller_action_plan_handoff"
      -]New value: +[
      +  "quote_id",
      +  "status",
      +  "as_of",
      +  "ttl_seconds",
      +  "intent",
      +  "offer",
      +  "cost_summary",
      +  "eta",
      +  "economic_guidance",
      +  "route",
      +  "direct_route_summary",
      +  "continuation_v3",
      +  "risk",
      +  "execution",
      +  "caller_action_plan_handoff"
      +]
  5. Changed10 schema fields changedv1.10.0
    • changedInput schema / properties / amount_usd / description
      Previous value: -"Requested input value in USD, minimum 1. USD 1 is reachability/schema smoke only; USD 50 is the native-USDC economic-comparison start based on dated 2026-09-23 evidence, not a cheapest guarantee; USD 1,000 is the primary representative amount. SOL input includes a swap. Always quote the actual intended amount."New value: +"Requested input value in USD, minimum 1. USD 1 is reachability/schema smoke only. A USD 50 competitive bucket was observed only for dated 2026-09-23 Solana USDC to Base USDC evidence and must not be generalized to another corridor. USD 1,000 is the primary representative amount. SOL input includes a swap. Always quote the actual intended amount."
    • addedOutput schema / properties / direct_route_summary / properties / economic_eligibility
      Added value: +{
      +  "enum": [
      +    "not_asserted_by_capability",
      +    "coverage_only_not_primary"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / direct_route_summary / properties / mode / enum
      Previous value: -[
      -  "cctp_direct_composition",
      -  "optimism_source_cctp",
      -  "polygon_source_cctp",
      -  "robinhood_across_ingress_composition",
      -  "robinhood_paxos_egress_composition",
      -  "same_chain_direct",
      -  "same_chain_direct_composition"
      -]New value: +[
      +  "cctp_direct_composition",
      +  "optimism_source_cctp",
      +  "polygon_source_cctp",
      +  "robinhood_across_ingress_composition",
      +  "robinhood_paxos_egress_composition",
      +  "robinhood_paxos_ingress_composition",
      +  "same_chain_direct",
      +  "same_chain_direct_composition"
      +]
    • addedOutput schema / properties / direct_route_summary / properties / primary_selection_eligible
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / direct_route_summary / properties / product_classification
      Added value: +{
      +  "enum": [
      +    "primary_direct",
      +    "external_coverage_only"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / direct_route_summary / properties / public_execution_eligible
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / direct_route_summary / properties / route_minimum_guard_bps
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 500,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / direct_route_summary / properties / steps / items / properties / action / enum
      Previous value: -[
      -  "swap",
      -  "bridge"
      -]New value: +[
      +  "swap",
      +  "bridge",
      +  "receive"
      +]
    • addedOutput schema / properties / direct_route_summary / properties / steps / items / properties / minimum_guard_bps
      Added value: +{
      +  "maximum": 500,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedOutput schema / properties / direct_route_summary / properties / steps / items / properties / provider / enum
      Previous value: -[
      -  "raydium_clmm",
      -  "orca_whirlpool",
      -  "uniswap_v3",
      -  "circle_cctp",
      -  "paxos_usdg_layerzero_oft",
      -  "across_intent_bridge"
      -]New value: +[
      +  "raydium_clmm",
      +  "orca_whirlpool",
      +  "uniswap_v3",
      +  "circle_cctp",
      +  "circle_cctp_receive",
      +  "paxos_usdg_layerzero_oft",
      +  "across_intent_bridge"
      +]
  6. Changed3 schema fields changedv1.2.0
    • addedOutput schema / properties / continuation_v3
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "allowed_modes": {
      +      "items": {
      +        "enum": [
      +          "one_shot",
      +          "session"
      +        ],
      +        "type": "string"
      +      },
      +      "maxItems": 2,
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "approval_v3_required_fields": {
      +      "items": [
      +        {
      +          "const": "direct_route_summary_sha256",
      +          "type": "string"
      +        },
      +        {
      +          "const": "idempotency_key",
      +          "type": "string"
      +        },
      +        {
      +          "const": "maximum_input_base",
      +          "type": "string"
      +        },
      +        {
      +          "const": "minimum_output_base",
      +          "type": "string"
      +        },
      +        {
      +          "const": "quote_fingerprint",
      +          "type": "string"
      +        },
      +        {
      +          "const": "quote_id",
      +          "type": "string"
      +        },
      +        {
      +          "const": "selected_mode",
      +          "type": "string"
      +        },
      +        {
      +          "const": "selection_status",
      +          "type": "string"
      +        },
      +        {
      +          "const": "version",
      +          "type": "string"
      +        }
      +      ],
      +      "maxItems": 9,
      +      "minItems": 9,
      +      "type": "array"
      +    },
      +    "automatic_selection_forbidden": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "caller_approved_boolean_is_not_human_proof": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "direct_route_summary_sha256": {
      +      "$ref": "#/properties/continuation_v3/properties/quote_fingerprint"
      +    },
      +    "enforcement": {
      +      "const": "server_enforced_quote_binding",
      +      "type": "string"
      +    },
      +    "event_signer_public_required": {
      +      "type": "boolean"
      +    },
      +    "expires_at": {
      +      "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/issued_at"
      +    },
      +    "idempotency": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "field": {
      +          "const": "idempotency_key",
      +          "type": "string"
      +        },
      +        "pattern": {
      +          "const": "^[A-Za-z0-9._:-]{8,128}$",
      +          "type": "string"
      +        },
      +        "required": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "scope": {
      +          "const": "quote_and_selected_mode",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "required",
      +        "field",
      +        "pattern",
      +        "scope"
      +      ],
      +      "type": "object"
      +    },
      +    "input_base_bounds": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "maximum": {
      +          "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/ttl_seconds"
      +        },
      +        "minimum": {
      +          "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/ttl_seconds"
      +        }
      +      },
      +      "required": [
      +        "minimum",
      +        "maximum"
      +      ],
      +      "type": "object"
      +    },
      +    "intent": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "amount_usd": {
      +          "type": "number"
      +        },
      +        "estimated_input_base": {
      +          "exclusiveMinimum": 0,
      +          "type": "integer"
      +        },
      +        "from": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "to": {
      +          "minLength": 1,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "from",
      +        "to",
      +        "amount_usd",
      +        "estimated_input_base"
      +      ],
      +      "type": "object"
      +    },
      +    "issued_at": {
      +      "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/issued_at"
      +    },
      +    "legacy_handoff_enforcement": {
      +      "const": "legacy_advisory",
      +      "type": "string"
      +    },
      +    "minimum_output_base": {
      +      "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/ttl_seconds"
      +    },
      +    "quote_fingerprint": {
      +      "pattern": "^[0-9a-f]{64}$",
      +      "type": "string"
      +    },
      +    "quote_fingerprint_claim": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "allowed_modes": {
      +          "items": {
      +            "enum": [
      +              "one_shot",
      +              "session"
      +            ],
      +            "type": "string"
      +          },
      +          "maxItems": 2,
      +          "minItems": 1,
      +          "type": "array"
      +        },
      +        "direct_route_summary_sha256": {
      +          "$ref": "#/properties/continuation_v3/properties/quote_fingerprint"
      +        },
      +        "event_signer_public_required": {
      +          "type": "boolean"
      +        },
      +        "expires_at": {
      +          "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/issued_at"
      +        },
      +        "input_base_bounds": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "maximum": {
      +              "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/ttl_seconds"
      +            },
      +            "minimum": {
      +              "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/ttl_seconds"
      +            }
      +          },
      +          "required": [
      +            "minimum",
      +            "maximum"
      +          ],
      +          "type": "object"
      +        },
      +        "intent": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "amount_usd_decimal": {
      +              "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]+)?$",
      +              "type": "string"
      +            },
      +            "estimated_input_base": {
      +              "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/ttl_seconds"
      +            },
      +            "from": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "to": {
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "from",
      +            "to",
      +            "amount_usd_decimal",
      +            "estimated_input_base"
      +          ],
      +          "type": "object"
      +        },
      +        "issued_at": {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "minimum_output_base": {
      +          "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/ttl_seconds"
      +        },
      +        "quote_id": {
      +          "$ref": "#/properties/continuation_v3/properties/quote_id"
      +        },
      +        "quote_payload_sha256": {
      +          "$ref": "#/properties/continuation_v3/properties/quote_fingerprint"
      +        },
      +        "quote_payload_sha256_spec": {
      +          "const": "sha256(AssetFare typed-canonical-v1 bytes of the quote without continuation_v3 after exact base-unit substitution: n=null; t/f=boolean; d=<IEEE-754 binary64 big-endian 16 lowercase hex> for each finite JSON number; s=<UTF-8 byte length>:<Unicode scalar text with lone surrogates forbidden>; a=<count>:[items]; o=<count>:{UTF-8-byte-sorted string-key/value pairs}; every non-substituted integral JSON number must be within +/-9007199254740991; substituted paths are intent.estimated_input_base, route.input_base, route.expected_output_base, route.minimum_output_base, and every route.steps[i].expected_input_base/floor_input_base/expected_output_base/minimum_output_base from direct_route_summary exact decimal strings)",
      +          "type": "string"
      +        },
      +        "required_wallet_chains": {
      +          "items": {
      +            "enum": [
      +              "arbitrum",
      +              "base",
      +              "optimism",
      +              "polygon",
      +              "robinhood",
      +              "solana"
      +            ],
      +            "type": "string"
      +          },
      +          "maxItems": 6,
      +          "minItems": 1,
      +          "type": "array"
      +        },
      +        "server_signing": {
      +          "const": false,
      +          "type": "boolean"
      +        },
      +        "server_submission": {
      +          "const": false,
      +          "type": "boolean"
      +        },
      +        "step_count": {
      +          "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/ttl_seconds"
      +        },
      +        "ttl_seconds": {
      +          "pattern": "^[1-9][0-9]*$",
      +          "type": "string"
      +        },
      +        "version": {
      +          "const": "assetfare-quote-bound-continuation-v3",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "version",
      +        "quote_id",
      +        "issued_at",
      +        "expires_at",
      +        "ttl_seconds",
      +        "intent",
      +        "direct_route_summary_sha256",
      +        "quote_payload_sha256",
      +        "quote_payload_sha256_spec",
      +        "input_base_bounds",
      +        "minimum_output_base",
      +        "required_wallet_chains",
      +        "event_signer_public_required",
      +        "step_count",
      +        "allowed_modes",
      +        "server_signing",
      +        "server_submission"
      +      ],
      +      "type": "object"
      +    },
      +    "quote_fingerprint_spec": {
      +      "const": "sha256(UTF-8 sorted-key compact JSON of quote_fingerprint_claim; every numeric claim is a non-exponent decimal string)",
      +      "type": "string"
      +    },
      +    "quote_id": {
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "quote_payload_sha256": {
      +      "$ref": "#/properties/continuation_v3/properties/quote_fingerprint"
      +    },
      +    "quote_payload_sha256_spec": {
      +      "const": "sha256(AssetFare typed-canonical-v1 bytes of the quote without continuation_v3 after exact base-unit substitution: n=null; t/f=boolean; d=<IEEE-754 binary64 big-endian 16 lowercase hex> for each finite JSON number; s=<UTF-8 byte length>:<Unicode scalar text with lone surrogates forbidden>; a=<count>:[items]; o=<count>:{UTF-8-byte-sorted string-key/value pairs}; every non-substituted integral JSON number must be within +/-9007199254740991; substituted paths are intent.estimated_input_base, route.input_base, route.expected_output_base, route.minimum_output_base, and every route.steps[i].expected_input_base/floor_input_base/expected_output_base/minimum_output_base from direct_route_summary exact decimal strings)",
      +      "type": "string"
      +    },
      +    "recommended_mode": {
      +      "enum": [
      +        "session",
      +        "one_shot_or_session"
      +      ],
      +      "type": "string"
      +    },
      +    "required_wallet_chains": {
      +      "items": {
      +        "$ref": "#/properties/continuation_v3/properties/quote_fingerprint_claim/properties/required_wallet_chains/items"
      +      },
      +      "maxItems": 6,
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "selection_status": {
      +      "const": "unranked_candidate",
      +      "type": "string"
      +    },
      +    "server_signing": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "server_submission": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "session_header": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "caller_generated": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "minimum_entropy_bits": {
      +          "const": 256,
      +          "type": "number"
      +        },
      +        "name": {
      +          "const": "X-AssetFare-Session-Token",
      +          "type": "string"
      +        },
      +        "required_for": {
      +          "const": "session",
      +          "type": "string"
      +        },
      +        "server_returns_raw_value": {
      +          "const": false,
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "name",
      +        "required_for",
      +        "caller_generated",
      +        "minimum_entropy_bits",
      +        "server_returns_raw_value"
      +      ],
      +      "type": "object"
      +    },
      +    "step_count": {
      +      "maximum": 8,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "ttl_seconds": {
      +      "maximum": 60,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "version": {
      +      "const": "assetfare-quote-bound-continuation-v3",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "version",
      +    "enforcement",
      +    "selection_status",
      +    "automatic_selection_forbidden",
      +    "caller_approved_boolean_is_not_human_proof",
      +    "quote_id",
      +    "quote_fingerprint",
      +    "quote_fingerprint_spec",
      +    "quote_fingerprint_claim",
      +    "issued_at",
      +    "expires_at",
      +    "ttl_seconds",
      +    "intent",
      +    "direct_route_summary_sha256",
      +    "quote_payload_sha256",
      +    "quote_payload_sha256_spec",
      +    "input_base_bounds",
      +    "minimum_output_base",
      +    "required_wallet_chains",
      +    "event_signer_public_required",
      +    "step_count",
      +    "recommended_mode",
      +    "allowed_modes",
      +    "session_header",
      +    "idempotency",
      +    "approval_v3_required_fields",
      +    "legacy_handoff_enforcement",
      +    "server_signing",
      +    "server_submission"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / direct_route_summary
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "assetfare_fee_bps": {
      +      "const": 1,
      +      "type": "number"
      +    },
      +    "classification": {
      +      "enum": [
      +        "direct_protocol_only",
      +        "external_intent"
      +      ],
      +      "type": "string"
      +    },
      +    "external_intent_protocol_used": {
      +      "type": "boolean"
      +    },
      +    "fee_collection_step_index": {
      +      "maximum": 7,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "from": {
      +      "enum": [
      +        "solana:SOL",
      +        "solana:USDC",
      +        "solana:USDG",
      +        "base:ETH",
      +        "base:USDC",
      +        "arbitrum:ETH",
      +        "arbitrum:USDC",
      +        "robinhood:ETH",
      +        "robinhood:USDG",
      +        "polygon:USDC",
      +        "optimism:USDC"
      +      ],
      +      "type": "string"
      +    },
      +    "mode": {
      +      "enum": [
      +        "cctp_direct_composition",
      +        "optimism_source_cctp",
      +        "polygon_source_cctp",
      +        "robinhood_across_ingress_composition",
      +        "robinhood_paxos_egress_composition",
      +        "same_chain_direct",
      +        "same_chain_direct_composition"
      +      ],
      +      "type": "string"
      +    },
      +    "provider_internal_dex_aggregation_possible": {
      +      "type": "boolean"
      +    },
      +    "route": {
      +      "enum": [
      +        "solana:SOL->solana:USDC",
      +        "solana:SOL->solana:USDG",
      +        "solana:SOL->base:ETH",
      +        "solana:SOL->base:USDC",
      +        "solana:SOL->arbitrum:ETH",
      +        "solana:SOL->arbitrum:USDC",
      +        "solana:SOL->robinhood:ETH",
      +        "solana:SOL->robinhood:USDG",
      +        "solana:USDC->solana:SOL",
      +        "solana:USDC->solana:USDG",
      +        "solana:USDC->base:ETH",
      +        "solana:USDC->base:USDC",
      +        "solana:USDC->arbitrum:ETH",
      +        "solana:USDC->arbitrum:USDC",
      +        "solana:USDC->robinhood:ETH",
      +        "solana:USDC->robinhood:USDG",
      +        "solana:USDG->solana:SOL",
      +        "solana:USDG->solana:USDC",
      +        "solana:USDG->base:ETH",
      +        "solana:USDG->base:USDC",
      +        "solana:USDG->arbitrum:ETH",
      +        "solana:USDG->arbitrum:USDC",
      +        "solana:USDG->robinhood:ETH",
      +        "solana:USDG->robinhood:USDG",
      +        "base:ETH->solana:SOL",
      +        "base:ETH->solana:USDC",
      +        "base:ETH->solana:USDG",
      +        "base:ETH->base:USDC",
      +        "base:ETH->arbitrum:ETH",
      +        "base:ETH->arbitrum:USDC",
      +        "base:ETH->robinhood:ETH",
      +        "base:ETH->robinhood:USDG",
      +        "base:USDC->solana:SOL",
      +        "base:USDC->solana:USDC",
      +        "base:USDC->solana:USDG",
      +        "base:USDC->base:ETH",
      +        "base:USDC->arbitrum:ETH",
      +        "base:USDC->arbitrum:USDC",
      +        "base:USDC->robinhood:ETH",
      +        "base:USDC->robinhood:USDG",
      +        "arbitrum:ETH->solana:SOL",
      +        "arbitrum:ETH->solana:USDC",
      +        "arbitrum:ETH->solana:USDG",
      +        "arbitrum:ETH->base:ETH",
      +        "arbitrum:ETH->base:USDC",
      +        "arbitrum:ETH->arbitrum:USDC",
      +        "arbitrum:ETH->robinhood:ETH",
      +        "arbitrum:ETH->robinhood:USDG",
      +        "arbitrum:USDC->solana:SOL",
      +        "arbitrum:USDC->solana:USDC",
      +        "arbitrum:USDC->solana:USDG",
      +        "arbitrum:USDC->base:ETH",
      +        "arbitrum:USDC->base:USDC",
      +        "arbitrum:USDC->arbitrum:ETH",
      +        "arbitrum:USDC->robinhood:ETH",
      +        "arbitrum:USDC->robinhood:USDG",
      +        "robinhood:ETH->solana:SOL",
      +        "robinhood:ETH->solana:USDC",
      +        "robinhood:ETH->solana:USDG",
      +        "robinhood:ETH->base:ETH",
      +        "robinhood:ETH->base:USDC",
      +        "robinhood:ETH->arbitrum:ETH",
      +        "robinhood:ETH->arbitrum:USDC",
      +        "robinhood:ETH->robinhood:USDG",
      +        "robinhood:USDG->solana:SOL",
      +        "robinhood:USDG->solana:USDC",
      +        "robinhood:USDG->solana:USDG",
      +        "robinhood:USDG->base:ETH",
      +        "robinhood:USDG->base:USDC",
      +        "robinhood:USDG->arbitrum:ETH",
      +        "robinhood:USDG->arbitrum:USDC",
      +        "robinhood:USDG->robinhood:ETH",
      +        "polygon:USDC->base:USDC",
      +        "polygon:USDC->arbitrum:USDC",
      +        "optimism:USDC->base:USDC",
      +        "optimism:USDC->arbitrum:USDC"
      +      ],
      +      "type": "string"
      +    },
      +    "route_aggregator_used": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "server_signing": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "server_submission": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "step_count": {
      +      "maximum": 8,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "steps": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "action": {
      +            "enum": [
      +              "swap",
      +              "bridge"
      +            ],
      +            "type": "string"
      +          },
      +          "aggregator_api_used": {
      +            "const": false,
      +            "type": "boolean"
      +          },
      +          "assetfare_fee_bps": {
      +            "enum": [
      +              0,
      +              1
      +            ],
      +            "type": "number"
      +          },
      +          "direct_protocol": {
      +            "type": "boolean"
      +          },
      +          "expected_input_base": {
      +            "pattern": "^[1-9][0-9]*$",
      +            "type": "string"
      +          },
      +          "expected_output_base": {
      +            "pattern": "^[1-9][0-9]*$",
      +            "type": "string"
      +          },
      +          "external_intent_protocol": {
      +            "type": "boolean"
      +          },
      +          "from": {
      +            "enum": [
      +              "solana:SOL",
      +              "solana:USDC",
      +              "solana:USDG",
      +              "base:ETH",
      +              "base:USDC",
      +              "arbitrum:ETH",
      +              "arbitrum:USDC",
      +              "robinhood:ETH",
      +              "robinhood:USDG",
      +              "polygon:USDC",
      +              "optimism:USDC"
      +            ],
      +            "type": "string"
      +          },
      +          "index": {
      +            "maximum": 7,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "minimum_input_base": {
      +            "pattern": "^[1-9][0-9]*$",
      +            "type": "string"
      +          },
      +          "minimum_output_base": {
      +            "pattern": "^[1-9][0-9]*$",
      +            "type": "string"
      +          },
      +          "provider": {
      +            "enum": [
      +              "raydium_clmm",
      +              "orca_whirlpool",
      +              "uniswap_v3",
      +              "circle_cctp",
      +              "paxos_usdg_layerzero_oft",
      +              "across_intent_bridge"
      +            ],
      +            "type": "string"
      +          },
      +          "to": {
      +            "enum": [
      +              "solana:SOL",
      +              "solana:USDC",
      +              "solana:USDG",
      +              "base:ETH",
      +              "base:USDC",
      +              "arbitrum:ETH",
      +              "arbitrum:USDC",
      +              "robinhood:ETH",
      +              "robinhood:USDG"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "index",
      +          "action",
      +          "provider",
      +          "from",
      +          "to",
      +          "expected_input_base",
      +          "minimum_input_base",
      +          "expected_output_base",
      +          "minimum_output_base",
      +          "assetfare_fee_bps",
      +          "direct_protocol",
      +          "external_intent_protocol",
      +          "aggregator_api_used"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 8,
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "to": {
      +      "enum": [
      +        "solana:SOL",
      +        "solana:USDC",
      +        "solana:USDG",
      +        "base:ETH",
      +        "base:USDC",
      +        "arbitrum:ETH",
      +        "arbitrum:USDC",
      +        "robinhood:ETH",
      +        "robinhood:USDG"
      +      ],
      +      "type": "string"
      +    },
      +    "version": {
      +      "const": "assetfare-direct-route-summary-v1",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "version",
      +    "route",
      +    "from",
      +    "to",
      +    "classification",
      +    "mode",
      +    "route_aggregator_used",
      +    "external_intent_protocol_used",
      +    "provider_internal_dex_aggregation_possible",
      +    "assetfare_fee_bps",
      +    "fee_collection_step_index",
      +    "server_signing",
      +    "server_submission",
      +    "step_count",
      +    "steps"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "quote_id",
      -  "status",
      -  "as_of",
      -  "ttl_seconds",
      -  "intent",
      -  "offer",
      -  "cost_summary",
      -  "eta",
      -  "route",
      -  "risk",
      -  "execution",
      -  "caller_action_plan_handoff"
      -]New value: +[
      +  "quote_id",
      +  "status",
      +  "as_of",
      +  "ttl_seconds",
      +  "intent",
      +  "offer",
      +  "cost_summary",
      +  "eta",
      +  "route",
      +  "direct_route_summary",
      +  "continuation_v3",
      +  "risk",
      +  "execution",
      +  "caller_action_plan_handoff"
      +]
  7. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations by disclosing the lifecycle constraint (quote remains an unranked_candidate until a separate explicit approval selects a mode), that no economic acknowledgement field is required, and that the adapter validates hashes, path, bounds, and TTL while never creating approval, preparing, signing, or submitting. This is meaningful context an agent cannot infer from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and return contents, followed by an example and then the guardrails. Dense terminology (unranked_candidate, continuation_v3, unsigned_prepare_requirements) is used without definition, but every sentence carries a distinct constraint rather than restating the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description does not need to explain return shapes, and it is complete on the operational side: validation scope, non-mutating guarantees, and the approval-gating rule are all stated. The only shortfall is that it does not explicitly route the agent to the sibling needed after quoting (prepare or selected-candidate).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema itself carries the substantive detail (amount_usd guidance on USD 1 vs 1,000, source-only chain exclusion on from_chain). The description adds only the 'amount-specific' framing and a single example corridor, so it neither repeats nor meaningfully extends the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource ('Get one fresh AssetFare quote') with an enumeration of what the response carries (economic_guidance, direct_route_summary, continuation_v3, unsigned_prepare_requirements). It also distinguishes itself from the selection path by noting the quote stays an unranked_candidate, though it never names assetfare_v2_quote_selected_candidate or assetfare_v2_route_selection explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an example corridor and a caveat that price_recommended_for_amount is advisory and alternatives should be compared when price matters, which implies usage but does not say when to call this versus the selected-candidate or route-selection siblings. The 'compare alternatives' instruction is given without naming the tool that does the comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.