assetfare_v2_route_selection
Quote an exact cross-chain amount and compare up to three route options, returning up to two all-in verified unsigned or external handoff choices; never approves or submits.
Instructions
Quote the recent top two plus the best AssetFare graph at the exact amount; return up to two all-in choices labeled assetfare_verified_unsigned or external_provider_handoff. AssetFare cost, ETA and rank are always present; a recent winning range needs two supporting higher buckets and disappears on conflict. Example: compare Solana USDC to Base USDC at USD 347.25 with balanced (60s). Fast is 30s; balanced and explicit economy are 60s. The 60-second ceiling is absolute for recommendations; slower routes are reference-only. Never approves, prepares, signs, or submits.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Time policy: fast (30s), balanced (60s default), or explicit economy (60s). Every recommendation profile has an absolute 60-second ceiling. | |
| to_chain | Yes | Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations. | |
| to_token | Yes | Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities. | |
| amount_usd | Yes | 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. | |
| from_chain | Yes | 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. | |
| from_token | Yes | Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities. | |
| max_eta_seconds | No | Optional stricter maximum ETA in seconds; it cannot exceed 60 or the selected profile limit. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | Yes | ||
| intent | Yes | ||
| safety | Yes | ||
| status | Yes | ||
| coverage | Yes | ||
| shadow_only | Yes | ||
| reference_only | Yes | ||
| schema_version | Yes | ||
| recommendations | Yes | ||
| selection_policy | Yes | ||
| selection_receipt | Yes | ||
| public_api_changed | Yes | ||
| exact_quote_failures | Yes | ||
| assetfare_amount_guidance | Yes | ||
| shortlisted_candidate_ids | Yes | ||
| assetfare_direct_reference | Yes | ||
| selection_quote_expires_at | Yes | ||
| precompute_amounts_used_usd | Yes | ||
| shortlisted_candidate_count | Yes | ||
| precompute_latest_evidence_at | Yes | ||
| request_amount_quoted_exactly | Yes | ||
| request_time_exact_quote_count | Yes | ||
| automatic_reselection_forbidden | Yes | ||
| expired_selection_refresh_scope | Yes | ||
| selection_quote_reused_while_valid | Yes | ||
| selection_grants_execution_authority | Yes | ||
| precompute_used_for_shortlisting_only | Yes | ||
| fresh_requote_required_after_selection | Yes |