Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 5 more
Read all98100 technically available routes, live provider readiness, route-specific ⟨10 unchanged words⟩ price-recommended only at or above their published threshold;5456 have no current price recommendation. Example: call ⟨38 unchanged words⟩
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":22,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.11.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location…before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict one-shot approval copied from the exact unexpired selected quote; its bounds may only be strengthened.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"one_shot","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held one-shot context copied from the selected quote, approval and public wallets. It is verified before prepare and never forwarded upstream.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-one-shot-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","verification_context"],"type":"object"}⟨85 unchanged words⟩ Monad, Avalanche, Cronos, Injective, Linea, Aptos, Unichain, andAptosInk are source-only and cannot be used as to_chain. ⟨14 unchanged words⟩ ","cronos","injective","linea","aptos","unichain","ink"],"type":"string"},"from_token": ⟨79 unchanged words⟩
⟨1288 unchanged words⟩ injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"mode":{ ⟨317 unchanged words⟩ ,"aptos:USDC->solana:USDC","aptos:USDC->base:USDC","unichain:USDC->solana:USDC","ink:USDC->solana:USDC"],"type":"string"},"route_aggregator_used":{ ⟨116 unchanged words⟩ ","injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"index ⟨835 unchanged words⟩
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","session_token","idempotency_key","verification_context"],"type":"object"}⟨253 unchanged words⟩ injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"mode":{ ⟨317 unchanged words⟩ ,"aptos:USDC->solana:USDC","aptos:USDC->base:USDC","unichain:USDC->solana:USDC","ink:USDC->solana:USDC"],"type":"string"},"route_aggregator_used":{ ⟨116 unchanged words⟩ injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"index":{ ⟨276 unchanged words⟩ Monad, Avalanche, Cronos, Injective, Linea, Aptos, Unichain, andAptosInk are source-only and cannot be used as to_chain. ⟨14 unchanged words⟩ ,"cronos","injective","linea","aptos","unichain","ink"],"type":"string"},"from_token":{ ⟨165 unchanged words⟩ ","cronos","injective","linea","aptos","unichain","ink"]},"type":"object"}},"required ⟨15 unchanged words⟩
⟨322 unchanged words⟩ injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"mode":{ ⟨317 unchanged words⟩ ,"aptos:USDC->solana:USDC","aptos:USDC->base:USDC","unichain:USDC->solana:USDC","ink:USDC->solana:USDC"],"type":"string"},"route_aggregator_used":{ ⟨116 unchanged words⟩ injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"index":{ ⟨276 unchanged words⟩ Monad, Avalanche, Cronos, Injective, Linea, Aptos, Unichain, andAptosInk are source-only and cannot be used as to_chain. ⟨14 unchanged words⟩ ,"cronos","injective","linea","aptos","unichain","ink"],"type":"string"},"from_token":{ ⟨165 unchanged words⟩ ","cronos","injective","linea","aptos","unichain","ink"]},"type":"object"}},"required ⟨16 unchanged words⟩
⟨328 unchanged words⟩ injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"mode":{ ⟨317 unchanged words⟩ ,"aptos:USDC->solana:USDC","aptos:USDC->base:USDC","unichain:USDC->solana:USDC","ink:USDC->solana:USDC"],"type":"string"},"route_aggregator_used":{ ⟨116 unchanged words⟩ injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"index":{ ⟨276 unchanged words⟩ Monad, Avalanche, Cronos, Injective, Linea, Aptos, Unichain, andAptosInk are source-only and cannot be used as to_chain. ⟨14 unchanged words⟩ ,"cronos","injective","linea","aptos","unichain","ink"],"type":"string"},"from_token":{ ⟨165 unchanged words⟩ ","cronos","injective","linea","aptos","unichain","ink"]},"type":"object"}},"required ⟨17 unchanged words⟩
⟨292 unchanged words⟩ injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"mode":{ ⟨317 unchanged words⟩ ,"aptos:USDC->solana:USDC","aptos:USDC->base:USDC","unichain:USDC->solana:USDC","ink:USDC->solana:USDC"],"type":"string"},"route_aggregator_used":{ ⟨116 unchanged words⟩ injective:USDC","linea:USDC","aptos:USDC","unichain:USDC","ink:USDC"],"type":"string"},"index":{ ⟨276 unchanged words⟩ Monad, Avalanche, Cronos, Injective, Linea, Aptos, Unichain, andAptosInk are source-only and cannot be used as to_chain. ⟨14 unchanged words⟩ ,"cronos","injective","linea","aptos","unichain","ink"],"type":"string"},"from_token":{ ⟨165 unchanged words⟩ ","cronos","injective","linea","aptos","unichain","ink"]},"type":"object"}},"required ⟨16 unchanged words⟩
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 1 more
Readthe 54 active routes,all4498economicallytechnicallyinactiveavailable routes, liveavailabilityprovider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting. Forty-fouractiverouteshaveareaprice-recommendedverifiedonly
Changed the definition of "assetfare_v2_capabilities" and "assetfare_v2_quote"
⟨1714 unchanged words⟩ ⟨661 unchanged words⟩ ,"type":"object"},"cost_summary":{"anyOf":[{"additionalProperties":false,"properties":{"all_in_estimate_complete":{"type":"boolean"},"assetfare_service_fee":{"additionalProperties":false,"properties":{" ⟨24 unchanged words⟩ ,"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 ⟨11 unchanged words⟩
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 5 more
Read the4254 active routes,4844 economically inactive routes, live availability, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting.FortyForty-four active routes have a verified best-from amount;two Seiten routes areactive for unique availabilityavailability-only without apricecheapest-pricethreshold.claim. Example: call once before requesting an exact ⟨23 unchanged words⟩
Changed the definition of "assetfare_v2_capabilities"
⟨1541 unchanged words⟩ policy_schema","wallet_adapter_contract_version"],"type":"object"}]},{"chainsadditionalProperties":{false,"itemsproperties":{"enuma2a_remote_skill":["solana","base","arbitrum","robinhood","polygon",{"optimism$ref",:"ethereum#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 5 more
Read the80-route42matrixactive routes, 48 economically inactive routes, live availability, route-specificbest-from amountsguidance, direct_route_summary, and continuation_v3 contracts before quoting.AtFortyoractiveaboveroutesadvisory_start_usd,haveuseaAssetFare
Changed the definition of "assetfare_v2_capabilities" and "assetfare_v2_quote"
Read the 80-route matrix, live availability,non-enforcing datedroute-specificeconomicbest-fromguidanceamounts, direct_route_summary, and continuation_v3 contracts before quoting.GuidanceAtneverorrejectsaboveanadvisory_start_usd,amountuseandAssetFare
Changed the definition of "assetfare_v2_capabilities" and "assetfare_v2_quote"
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":13,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.11.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"}]},"continuation_v3":{"additionalProperties":false,"properties":{"automatic_selection_forbidden":{"const":true,"type":"boolean"},"cache_scope":{"const":"bounded_process_local_ttl_restart_fails_closed","type":"string"},"caller_approved_boolean_is_not_human_proof":{"const":true,"type":"boolean"},"enforcement":{"const":"server_enforced_quote_binding","type":"string"},"future_actions_requote_and_enforce_original_step_minimums":{"const":true,"type":"boolean"},"maximum_cache_records":{"const":2048,"type":"number"},"maximum_ttl_seconds":{"const":60,"type":"number"},"multistep_allowed_modes":{"items":[{"const":"session","type":"string"}],"maxItems":1,"minItems":1,"type":"array"},"one_step_allowed_modes":{"items":[{"const":"one_shot","type":"string"},{"const":"session","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"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_on_every_quote":{"const":true,"type":"boolean"},"selection_status":{"const":"unranked_candidate","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_owner_binding":{"const":"sha256_of_caller_generated_session_token_raw_token_never_stored","type":"string"},"version":{"const":"assetfare-quote-bound-continuation-v3","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","required_on_every_quote","enforcement","selection_status","automatic_selection_forbidden","caller_approved_boolean_is_not_human_proof","cache_scope","maximum_ttl_seconds","maximum_cache_records","multistep_allowed_modes","one_step_allowed_modes","session_owner_binding","whole_session_path_and_bounds_enforced","future_actions_requote_and_enforce_original_step_minimums","quote_payload_sha256_spec","server_signing","server_submission"],"type":"object"},"currently_prepare_ready_routes":{"maximum":80,"minimum":0,"type":"integer"},"direct_route_summary":{"anyOf":[{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"external_intent":{"const":"Across only for Robinhood ingress; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":172,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":9,"type":"number"},"external_intent":{"const":"Across only for nine Robinhood ingress coverage routes; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":67,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":170,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":0,"type":"number"},"external_intent":{"const":"No public route uses an external intent protocol; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":76,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":184,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":0,"type":"number"},"external_intent":{"const":"No public route uses an external intent protocol; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":80,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":80,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":188,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"}]},"directed_conversion_routes":{"enum":[76,80],"type":"number"},"economic_guidance":{"additionalProperties":false,"properties":{"advisory_start_distribution":{"additionalProperties":false,"properties":{"100":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"1000":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"10000":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"250":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"2500":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"50":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"500":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"5000":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"}},"required":["50","100","250","500","1000","2500","5000","10000"],"type":"object"},"amount_is_never_rejected_by_economic_guidance":{"const":true,"type":"boolean"},"as_of":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"confidence_counts":{"additionalProperties":false,"properties":{"coverage_only_retest":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"measured_route_specific":{"$ref":"#/properties/economic_guidance/properties/confidence_c…Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 5 more
Read the76-route80-route matrix, live availability, non-enforcing dated economic guidance, direct_route_summary, and continuation_v3 contracts before quoting.continuation_v3Guidanceisneverrestart-fail-closedrejects an amount andbindsisthenotfullaquotemarket-ranking
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 5 more
⟨897 unchanged words⟩ policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 5 more
⟨542 unchanged words⟩ policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"
Changed the definition of "assetfare_v2_capabilities"
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":11,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"continuation_v3":{"additionalProperties":false,"properties":{"automatic_selection_forbidden":{"const":true,"type":"boolean"},"cache_scope":{"const":"bounded_process_local_ttl_restart_fails_closed","type":"string"},"caller_approved_boolean_is_not_human_proof":{"const":true,"type":"boolean"},"enforcement":{"const":"server_enforced_quote_binding","type":"string"},"future_actions_requote_and_enforce_original_step_minimums":{"const":true,"type":"boolean"},"maximum_cache_records":{"const":2048,"type":"number"},"maximum_ttl_seconds":{"const":60,"type":"number"},"multistep_allowed_modes":{"items":[{"const":"session","type":"string"}],"maxItems":1,"minItems":1,"type":"array"},"one_step_allowed_modes":{"items":[{"const":"one_shot","type":"string"},{"const":"session","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"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_on_every_quote":{"const":true,"type":"boolean"},"selection_status":{"const":"unranked_candidate","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_owner_binding":{"const":"sha256_of_caller_generated_session_token_raw_token_never_stored","type":"string"},"version":{"const":"assetfare-quote-bound-continuation-v3","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","required_on_every_quote","enforcement","selection_status","automatic_selection_forbidden","caller_approved_boolean_is_not_human_proof","cache_scope","maximum_ttl_seconds","maximum_cache_records","multistep_allowed_modes","one_step_allowed_modes","session_owner_binding","whole_session_path_and_bounds_enforced","future_actions_requote_and_enforce_original_step_minimums","quote_payload_sha256_spec","server_signing","server_submission"],"type":"object"},"currently_prepare_ready_routes":{"maximum":76,"minimum":0,"type":"integer"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"external_intent":{"const":"Across only for Robinhood ingress; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":168,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},"directed_conversion_routes":{"const":76,"type":"number"},"execution_availability":{"additionalProperties":true,"properties":{"guarantees_future_availability":{"const":false,"type":"boolean"},"provider":{"const":"circle_iris","type":"string"},"provider_dependent_routes":{"maximum":76,"minimum":0,"type":"integer"},"recent_fee_snapshot_usable":{"type":"boolean"},"status":{"enum":["available","degraded","unknown"],"type":"string"}},"required":["status","provider","provider_dependent_routes","recent_fee_snapshot_usable","guarantees_future_availability"],"type":"object"},"execution_implemented_routes":{"const":76,"type":"number"},"execution_ready_routes":{"const":76,"type":"number"},"phase_b_blocked_routes":{"const":0,"type":"number"},"public_api_enabled":{"const":true,"type":"boolean"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"source_only_asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["polygon","optimism"],"type":"string"},"token":{"const":"USDC","type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":2,"minItems":2,"type":"array"},"source_only_routes":{"items":{"enum":["polygon:USDC->base:USDC","polygon:USDC->arbitrum:USDC","optimism:USDC->base:USDC","optimism:USDC->arbitrum:USDC"],"type":"string"},"maxItems":4,"minItems":4,"type":"array"},"status":{"const":"capped_public_agent_release","type":"string"},"temporarily_unavailable_route_count":{"maximum":76,"minimum":0,"type":"integer"},"temporarily_unavailable_routes":{"items":{"minLength":1,"type":"string"},"maxItems":76,"type":"array"},"unsigned_route_plans_ready":{"const":76,"type":"number"}},"required":["status","public_api_enabled","asset_endpoints","source_only_asset_endpoints","source_only_routes","directed_conversion_routes","unsigned_route_plans_ready","execution_ready_routes","direct_route_summary","continuation_v3","action_lifetime","phase_b_blocked_routes","blocked_source_only_routes","server_signing","server_submission"],"type":"object"}Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 5 more
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false," ⟨507 unchanged words⟩ ","unsigned_route_plans_ready","execution_ready_routes","direct_route_summary","continuation_v3","action_lifetime","phase_b_blocked_routes","blocked_source_only_routes","server_signing","server_submission ⟨2 unchanged words⟩
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 5 more
Read the 76-route matrix, live availability,anddirect_route_summary,requiredanddirect_route_summarycontinuation_v3contractcontracts before quoting.Example:continuation_v3confirmissolana:USDC->base:USDCrestart-fail-closedisandreadybinds the full quote payload
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 1 more
Read thecurrent76-routecapabilitymatrix, live availability, andlive-availabilityrequiredmatrixdirect_route_summary contract before quoting. Example: confirm solana:USDC->base:USDC isprepare-readyready, ordered provider-path summaries are required, andserver_signing/server_submissionsigning/submission are false. Read-only; creates no wallet login, session, or action.
Removed "assetfare_create_session", "assetfare_finish_wallet_auth", "assetfare_observe_cctp" and 9 more; changed the definition of "assetfare_manifest", "assetfare_v2_capabilities", "assetfare_v2_prepare" and 6 more (21 tools before, 9 now)
Read the Ed25519-signedcapability,releasecontract,manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release,andmainnet-evidencecontractmanifest.pins; it never creates state, signs, or submits.
{"$schema":"http://json-schema.org/draft-07/schema#","Removed "assetfare_v2_new_session_capability"; changed the definition of "assetfare_v2_prepare", "assetfare_v2_session_create", "assetfare_v2_session_get" and 3 more (22 tools before, 21 now)
⟨21 unchanged words⟩ manual first-action handling; for a receipt-driven multi-step workflowusegenerateassetfare_v2_new_session_capabilitya 256-bit base64url session capability locally, thenassetfare_v2_session_createuseinsteadassetfare_v2_session_create, and never call both modes for one ⟨29 unchanged words⟩
Changed the definition of "assetfare_create_session", "assetfare_finish_wallet_auth", "assetfare_observe_cctp" and 18 more
Lockaone freshquotelegacy assetfare_quote into a wallet-bound v1 execution session.ThisUsecreatesonlynoaftertransaction,legacybutwallet authentication for the original Solana-SOL-to-Base/Arbitrum-ETH workflow; for a v2 quote use assetfare_v2_session_create instead. Makes a network request and
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 1 more
AssetFareNon-custodialsupportscross-chain bridge and swap capabilities: Solana SOL to Base USDC and 75 otherexecution-readyroutes:across six chains,and eleven source endpoints,flat 1bp,with Polygon/Optimism native-USDC source-only routes. Read live availability, thelivefeematrixmodel (AssetFare service fee 1bp; Circle/provider/network fees additional),
Changed the definition of "assetfare_v2_capabilities" and "assetfare_v2_quote"
PrimaryAssetFarecurrentsupportssix-chainSolanasourceSOLdiscoverytotool.BaseReadUSDCtheandlive75elevenother
Changed the definition of "assetfare_status", "assetfare_v2_capabilities" and "assetfare_v2_prepare"
⟨6 unchanged words⟩ original-corridor safety gates. Use assetfare_v2_capabilities for the primaryfive-chainsix-chain source quote and execution surface.
⟨5 unchanged words⟩ tool. Read the live eleven source endpoints,76 directed quote routes,all7276 execution-ready
Added "assetfare_v2_new_session_capability", "assetfare_v2_prepare", "assetfare_v2_session_create" and 4 more; changed the definition of "assetfare_status", "assetfare_v2_capabilities" and "assetfare_v2_quote" (15 tools before, 22 now)
⟨6 unchanged words⟩ original-corridor safety gates. Use assetfare_v2_capabilities for the primaryfour-chainfive-chain source quote surface.
Primary currentfour-chainsix-chain source discovery tool. Read the livenineeleven
Added "assetfare_v2_capabilities" and "assetfare_v2_quote"; changed the definition of "assetfare_quote" and "assetfare_status" (13 tools before, 15 now)
GetLegacyav1fee-inclusiveoriginal-corridor quote for Solana SOL to Base or ArbitrumETHETH.quote.UseThisonlydoeswithnotthecreatelegacy
Changed the definition of "assetfare_quote"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨6 unchanged words⟩ {"amount_usd":{"maximum":1000,"minimum":2501,"type":"integer"},"destination_chain":{" ⟨11 unchanged words⟩
Certificate recorded, valid to 2026-12-13
Authorization not required
Unknown → Live
First tool surface recorded: 13 tools (server version 0.2.0)
https://api.assetfare.dev/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 29 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos","unichain","ink"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":24,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.11.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/proper…after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict one-shot approval copied from the exact unexpired selected quote; its bounds may only be strengthened.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"one_shot","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos","unichain","ink"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held one-shot context copied from the selected quote, approval and public wallets. It is verified before prepare and never forwarded upstream.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","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"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","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"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-one-shot-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos","unichain","ink"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","verification_context"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos","unichain","ink"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","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"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","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"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos","unichain","ink"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","session_token","idempotency_key","verification_context"],"type":"object"}⟨92 unchanged words⟩ "],"type":"object"},"maxItems":2022,"minItems":11,"type":"array"}, ⟨1614 unchanged words⟩
Return one deeply verified first unsigned bundleplus a self-verifyingand caller-wallet handoff.Callers must explicitlyExample: pass caller_approved=true,approval_v3 selected asa one_shot approval_v3, and thehash-bound verification_context copied from the exact quote/publicquote-boundwallets;verification_context; multi-stepquotesroutes reject one_shot.Example:Economicpassguidancetheisexactadvisorycontextandsavedaddsduringnoquoterequestselection.field. Context is validated before the upstream request and never forwarded.caller_approved:true is not human proof;AssetFare never signs or submits.
Get one fresh AssetFare quote withroute-specificamount-specific economic_guidance, direct_route_summary,and continuation_v3. For a price-verified routecontinuation_v3,use AssetFare first at or above advisory_start_usd; an availability-only route has a null thresholdandmakes no cheapest-price claim.unsigned_prepare_requirements. Example: quote Solana USDC to BaseUSDCUSDC.atprice_recommended_for_amounttheisintendedadvisory;amount.compareConfirmalternativesthewhenfreshpriceoutput.matters,unranked_candidatebutmeansnoexecutioneconomic acknowledgement field isnotrequired.yetTheapproved;quote remains an unranked_candidate until separate explicit approval selects one mode. The adapterverifiesvalidates hashes, path, bounds, and TTL and never creates approval, authenticates, prepares, signs, or submits.
⟨2122 unchanged words⟩ 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"}]},"eta":{"additionalProperties":false,"properties ⟨262 unchanged words⟩
Create one receipt-driven workflow.Callers must explicitlyExample: pass caller_approved=true,theaexactsession approval_v3selected as session,the sameits idempotency_key, a caller-local session token, andverification_context copied fromtheselected quote/public wallets. Example: validatequote-boundandverification_context.passEconomictheguidanceexactiscontextadvisorysavedandwithaddsthenoselectedrequestquote.field. The adapter validates approval and context before the upstream request. Every returned action is deeply verified and receives aself-verifying walletcaller-wallet handoff. AssetFare never signs or submits.
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":16,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.11.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.4","type":"st…after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":20,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.11.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location…before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict one-shot approval copied from the exact unexpired selected quote; its bounds may only be strengthened.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"one_shot","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held one-shot context copied from the selected quote, approval and public wallets. It is verified before prepare and never forwarded upstream.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-one-shot-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","verification_context"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict one-shot approval copied from the exact unexpired selected quote; its bounds may only be strengthened.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"one_shot","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held one-shot context copied from the selected quote, approval and public wallets. It is verified before prepare and never forwarded upstream.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-one-shot-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","verification_context"],"type":"object"}⟨78 unchanged words⟩ Optimism, Ethereum, HyperEVM, X Layer, Sei, Sonic, Monad, Avalanche, Cronos, Injective, Linea, andSonicAptos are source-only and cannot be used as to_chain. ⟨8 unchanged words⟩ ","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"from_token": ⟨79 unchanged words⟩
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"as_of":{"maxLength":64,"minLength":1,"type":"string"},"caller_action_plan_handoff":{"additionalProperties":true,"properties":{},"type":"object"},"continuation_v3":{"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","ethereum","hyperevm","optimism","polygon","robinhood","sei","solana","sonic","xlayer"],"type":"string"},"maxItems":11,"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":11,"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"},"cost_summary":{"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"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"economic_guidance":{"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":{"const":"paired_all_in_snapshot","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_unique_availability"],"type":"string"},"public_active":{"const":true,"type":"boolean"},"recommendation_status":{"enum":["active_price_verified","active_unique_availability"],"type":"string"},"recommended_action":{"enum":["use_assetfare_first_at_or_above_best_from","use_assetfare_when_route_availability_is_required"],"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"}]},"eta":{"additionalProperties":false,"properties":{"complete_route_estimate":{"type":"boolean"},"estimated_time_range_seconds":{"anyOf":[{"items":[{"minimum":0,"type":"integer"},{"exclusiveMinimum":0,"type":"integer"}],"maxItems":2,"minItems":2,"type":"array"},{"type":"null"}]},"estimated_time_seconds":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}]},"note":{"minLength":1,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"}},"required":["estimated_time_seconds","estimated_time_range_seconds","complete_route_estimate","sources","note"],"type":"object"},"execution":{"additionalProperties":true,"properties":{"first_unsigned_action_supported":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["supported","first_unsigned_action_supported"],"type":"object"},"intent":{"additionalProperties":true,"properties":{"amount_usd":{"type":"number"},"estimated_input_base":{"exclusiveMinimum":0,"type":"integer"},"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to","amount_usd","estimated_input_base"],"type":"object"},"offer":{"additionalProperties":true,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"estimated_min_receive_amount":{"exclusiveMinimum":0,"type":"number"},"estimated_min_receive_usd":{"minimum":0,"type":"number"},"estimated_time_seconds":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}]},"expected_receive_amount":{"exclusiveMinimum":0,"type":"number"},"expected_receive_usd":{"minimum":0,"type":"number"},"fee_collectible_now":{"const":true,"type":"boolean"},"fee_collection":{"const":"only_on_eligible_successful_executor_step","type":"string"},"fee_collection_steps":{"items":{"minimum":0,"type":"integer"},"maxItems":1,"minItems":1,"type":"array"},"fee_modeled_bps":{"const":1,"type":"number"},"output_symbol":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["expected_receive_amount","estimated_min_receive_amount","expected_receive_usd","estimated_min_receive_usd","output_symbol","estimated_time_seconds","assetfare_fee_bps","fee_modeled_bps","fee_collectible_now","fee_collection_steps","fee_collection"],"type":"object"},"quote_id":{"format":"uuid","type":"string"},"risk":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"}},"required":["server_signing","server_submission"],"type":"object"},"route":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"steps":{"items":{"additionalProperties":{},"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["steps","server_signing","server_submission"],"type":"object"},"status":{"const":"capped_public_agent_release","type":"string"},"ttl_seconds":{"exclusiveMinimum":0,"maximum":60,"type":"integer"}},"required":["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"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"as_of":{"maxLength":64,"minLength":1,"type":"string"},"caller_action_plan_handoff":{"additionalProperties":true,"properties":{},"type":"object"},"continuation_v3":{"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":["aptos","arbitrum","avalanche","base","cronos","ethereum","hyperevm","injective","linea","monad","optimism","polygon","robinhood","sei","solana","sonic","xlayer"],"type":"string"},"maxItems":17,"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":17,"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"},"cost_summary":{"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"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"economic_guidance":{"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"}]},"eta":{"additionalProperties":false,"properties":{"complete_route_estimate":{"type":"boolean"},"estimated_time_range_seconds":{"anyOf":[{"items":[{"minimum":0,"type":"integer"},{"exclusiveMinimum":0,"type":"integer"}],"maxItems":2,"minItems":2,"type":"array"},{"type":"null"}]},"estimated_time_seconds":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}]},"note":{"minLength":1,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"}},"required":["estimated_time_seconds","estimated_time_range_seconds","complete_route_estimate","sources","note"],"type":"object"},"execution":{"additionalProperties":true,"properties":{"first_unsigned_action_supported":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["supported","first_unsigned_action_supported"],"type":"object"},"intent":{"additionalProperties":true,"properties":{"amount_usd":{"type":"number"},"estimated_input_base":{"exclusiveMinimum":0,"type":"integer"},"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to","amount_usd","estimated_input_base"],"type":"object"},"offer":{"additionalProperties":true,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"estimated_min_receive_amount":{"exclusiveMinimum":0,"type":"number"},"estimated_min_receive_usd":{"minimum":0,"type":"number"},"estimated_time_seconds":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}]},"expected_receive_amount":{"exclusiveMinimum":0,"type":"number"},"expected_receive_usd":{"minimum":0,"type":"number"},"fee_collectible_now":{"const":true,"type":"boolean"},"fee_collection":{"const":"only_on_eligible_successful_executor_step","type":"string"},"fee_collection_steps":{"items":{"minimum":0,"type":"integer"},"maxItems":1,"minItems":1,"type":"array"},"fee_modeled_bps":{"const":1,"type":"number"},"output_symbol":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["expected_receive_amount","estimated_min_receive_amount","expected_receive_usd","estimated_min_receive_usd","output_symbol","estimated_time_seconds","assetfare_fee_bps","fee_modeled_bps","fee_collectible_now","fee_collection_steps","fee_collection"],"type":"object"},"quote_id":{"format":"uuid","type":"string"},"risk":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"}},"required":["server_signing","server_submission"],"type":"object"},"route":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"steps":{"items":{"additionalProperties":{},"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["steps","server_signing","server_submission"],"type":"object"},"status":{"const":"capped_public_agent_release","type":"string"},"ttl_seconds":{"exclusiveMinimum":0,"maximum":60,"type":"integer"}},"required":["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"],"type":"object"}before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","session_token","idempotency_key","verification_context"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","session_token","idempotency_key","verification_context"],"type":"object"}⟨241 unchanged words⟩ xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"mode":{"enum":["aptos_move_cctp_direct","cctp_direct_composition","optimism_source_cctp","polygon_source_cctp","robinhood_across_ingress_composition"," ⟨275 unchanged words⟩ ,"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"],"type":"string"},"route_aggregator_used":{ ⟨104 unchanged words⟩ xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"index":{ ⟨269 unchanged words⟩ Optimism, Ethereum, HyperEVM, X Layer, Sei, Sonic, Monad, Avalanche, Cronos, Injective, Linea, andSonicAptos are source-only and cannot be used as to_chain. ⟨8 unchanged words⟩ ,"hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"from_token":{ ⟨99 unchanged words⟩ 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide ⟨38 unchanged words⟩ ","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"]},"type":"object"}},"required ⟨15 unchanged words⟩
⟨310 unchanged words⟩ xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"mode":{"enum":["aptos_move_cctp_direct","cctp_direct_composition","optimism_source_cctp","polygon_source_cctp","robinhood_across_ingress_composition"," ⟨275 unchanged words⟩ ,"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"],"type":"string"},"route_aggregator_used":{ ⟨104 unchanged words⟩ xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"index":{ ⟨269 unchanged words⟩ Optimism, Ethereum, HyperEVM, X Layer, Sei, Sonic, Monad, Avalanche, Cronos, Injective, Linea, andSonicAptos are source-only and cannot be used as to_chain. ⟨8 unchanged words⟩ ,"hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"from_token":{ ⟨99 unchanged words⟩ 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide ⟨38 unchanged words⟩ ","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"]},"type":"object"}},"required ⟨16 unchanged words⟩
⟨316 unchanged words⟩ xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"mode":{"enum":["aptos_move_cctp_direct","cctp_direct_composition","optimism_source_cctp","polygon_source_cctp","robinhood_across_ingress_composition"," ⟨275 unchanged words⟩ ,"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"],"type":"string"},"route_aggregator_used":{ ⟨104 unchanged words⟩ xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"index":{ ⟨269 unchanged words⟩ Optimism, Ethereum, HyperEVM, X Layer, Sei, Sonic, Monad, Avalanche, Cronos, Injective, Linea, andSonicAptos are source-only and cannot be used as to_chain. ⟨8 unchanged words⟩ ,"hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"from_token":{ ⟨99 unchanged words⟩ 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide ⟨38 unchanged words⟩ ","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"]},"type":"object"}},"required ⟨17 unchanged words⟩
⟨280 unchanged words⟩ xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"mode":{"enum":["aptos_move_cctp_direct","cctp_direct_composition","optimism_source_cctp","polygon_source_cctp","robinhood_across_ingress_composition"," ⟨275 unchanged words⟩ ,"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"],"type":"string"},"route_aggregator_used":{ ⟨104 unchanged words⟩ xlayer:USDC","sei:USDC","sonic:USDC","monad:USDC","avalanche:USDC","cronos:USDC","injective:USDC","linea:USDC","aptos:USDC"],"type":"string"},"index":{ ⟨269 unchanged words⟩ Optimism, Ethereum, HyperEVM, X Layer, Sei, Sonic, Monad, Avalanche, Cronos, Injective, Linea, andSonicAptos are source-only and cannot be used as to_chain. ⟨8 unchanged words⟩ ,"hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"],"type":"string"},"from_token":{ ⟨99 unchanged words⟩ 0x plus 40 hex characters for EVM, 0x plus 64 hex characters for Aptos, or 32-44 base58 characters for Solana. Never provide ⟨38 unchanged words⟩ ","hyperevm","xlayer","sei","sonic","monad","avalanche","cronos","injective","linea","aptos"]},"type":"object"}},"required ⟨16 unchanged words⟩
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":13,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.11.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"}]},"continuation_v3":{"additionalProperties":false,"properties":{"automatic_selection_forbidden":{"const":true,"type":"boolean"},"cache_scope":{"const":"bounded_process_local_ttl_restart_fails_closed","type":"string"},"caller_approved_boolean_is_not_human_proof":{"const":true,"type":"boolean"},"enforcement":{"const":"server_enforced_quote_binding","type":"string"},"future_actions_requote_and_enforce_original_step_minimums":{"const":true,"type":"boolean"},"maximum_cache_records":{"const":2048,"type":"number"},"maximum_ttl_seconds":{"const":60,"type":"number"},"multistep_allowed_modes":{"items":[{"const":"session","type":"string"}],"maxItems":1,"minItems":1,"type":"array"},"one_step_allowed_modes":{"items":[{"const":"one_shot","type":"string"},{"const":"session","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"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_on_every_quote":{"const":true,"type":"boolean"},"selection_status":{"const":"unranked_candidate","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_owner_binding":{"const":"sha256_of_caller_generated_session_token_raw_token_never_stored","type":"string"},"version":{"const":"assetfare-quote-bound-continuation-v3","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","required_on_every_quote","enforcement","selection_status","automatic_selection_forbidden","caller_approved_boolean_is_not_human_proof","cache_scope","maximum_ttl_seconds","maximum_cache_records","multistep_allowed_modes","one_step_allowed_modes","session_owner_binding","whole_session_path_and_bounds_enforced","future_actions_requote_and_enforce_original_step_minimums","quote_payload_sha256_spec","server_signing","server_submission"],"type":"object"},"currently_prepare_ready_routes":{"maximum":80,"minimum":0,"type":"integer"},"direct_route_summary":{"anyOf":[{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"external_intent":{"const":"Across only for Robinhood ingress; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":172,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":9,"type":"number"},"external_intent":{"const":"Across only for nine Robinhood ingress coverage routes; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":67,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":170,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":0,"type":"number"},"external_intent":{"const":"No public route uses an external intent protocol; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":76,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":184,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server…after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":16,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.11.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.14.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"}]},"chains":{"items":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"maxItems":11,"minItems":6,"type":"array"},"continuation_v3":{"additionalProperties":false,"properties":{"automatic_selection_forbidden":{"const":true,"type":"boolean"},"cache_scope":{"const":"bounded_process_local_ttl_restart_fails_closed","type":"string"},"caller_approved_boolean_is_not_human_proof":{"const":true,"type":"boolean"},"enforcement":{"const":"server_enforced_quote_binding","type":"string"},"future_actions_requote_and_enforce_original_step_minimums":{"const":true,"type":"boolean"},"maximum_cache_records":{"const":2048,"type":"number"},"maximum_ttl_seconds":{"const":60,"type":"number"},"multistep_allowed_modes":{"items":[{"const":"session","type":"string"}],"maxItems":1,"minItems":1,"type":"array"},"one_step_allowed_modes":{"items":[{"const":"one_shot","type":"string"},{"const":"session","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"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_on_every_quote":{"const":true,"type":"boolean"},"selection_status":{"const":"unranked_candidate","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_owner_binding":{"const":"sha256_of_caller_generated_session_token_raw_token_never_stored","type":"string"},"version":{"const":"assetfare-quote-bound-continuation-v3","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","required_on_every_quote","enforcement","selection_status","automatic_selection_forbidden","caller_approved_boolean_is_not_human_proof","cache_scope","maximum_ttl_seconds","maximum_cache_records","multistep_allowed_modes","one_step_allowed_modes","session_owner_binding","whole_session_path_and_bounds_enforced","future_actions_requote_and_enforce_original_step_minimums","quote_payload_sha256_spec","server_signing","server_submission"],"type":"object"},"currently_prepare_ready_routes":{"maximum":80,"minimum":0,"type":"integer"},"direct_route_summary":{"anyOf":[{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"external_intent":{"const":"Across only for Robinhood ingress; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":172,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfa…before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict one-shot approval copied from the exact unexpired selected quote; its bounds may only be strengthened.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"one_shot","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon, Optimism, Ethereum and HyperEVM are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held one-shot context copied from the selected quote, approval and public wallets. It is verified before prepare and never forwarded upstream.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-one-shot-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to eight entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","verification_context"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict one-shot approval copied from the exact unexpired selected quote; its bounds may only be strengthened.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"one_shot","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held one-shot context copied from the selected quote, approval and public wallets. It is verified before prepare and never forwarded upstream.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-one-shot-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","verification_context"],"type":"object"}Get one fresh AssetFare quote with route-specific economic_guidance, direct_route_summary, and continuation_v3.AtFororaaboveprice-verifiedadvisory_start_usdroute, use AssetFare first at or above advisory_start_usd; an availability-only route has a null threshold andconfirmmakesthenofreshcheapest-priceoutput.claim. Example: quote Solana USDC to Base USDC at the intended amount. Confirm the fresh output. unranked_candidate means execution is not yet approved; separate ⟨22 unchanged words⟩
⟨73 unchanged words⟩ for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei andHyperEVMSonic are source-only and cannot be used as to_chain. ⟨5 unchanged words⟩ ","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"from_token": ⟨79 unchanged words⟩
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"as_of":{"maxLength":64,"minLength":1,"type":"string"},"caller_action_plan_handoff":{"additionalProperties":true,"properties":{},"type":"object"},"continuation_v3":{"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","ethereum","hyperevm","optimism","polygon","robinhood","solana"],"type":"string"},"maxItems":8,"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":8,"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"},"cost_summary":{"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"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"economic_guidance":{"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"},"eta":{"additionalProperties":false,"properties":{"complete_route_estimate":{"type":"boolean"},"estimated_time_range_seconds":{"anyOf":[{"items":[{"minimum":0,"type":"integer"},{"exclusiveMinimum":0,"type":"integer"}],"maxItems":2,"minItems":2,"type":"array"},{"type":"null"}]},"estimated_time_seconds":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}]},"note":{"minLength":1,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"}},"required":["estimated_time_seconds","estimated_time_range_seconds","complete_route_estimate","sources","note"],"type":"object"},"execution":{"additionalProperties":true,"properties":{"first_unsigned_action_supported":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["supported","first_unsigned_action_supported"],"type":"object"},"intent":{"additionalProperties":true,"properties":{"amount_usd":{"type":"number"},"estimated_input_base":{"exclusiveMinimum":0,"type":"integer"},"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to","amount_usd","estimated_input_base"],"type":"object"},"offer":{"additionalProperties":true,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"estimated_min_receive_amount":{"exclusiveMinimum":0,"type":"number"},"estimated_min_receive_usd":{"minimum":0,"type":"number"},"estimated_time_seconds":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}]},"expected_receive_amount":{"exclusiveMinimum":0,"type":"number"},"expected_receive_usd":{"minimum":0,"type":"number"},"fee_collectible_now":{"const":true,"type":"boolean"},"fee_collection":{"const":"only_on_eligible_successful_executor_step","type":"string"},"fee_collection_steps":{"items":{"minimum":0,"type":"integer"},"maxItems":1,"minItems":1,"type":"array"},"fee_modeled_bps":{"const":1,"type":"number"},"output_symbol":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["expected_receive_amount","estimated_min_receive_amount","expected_receive_usd","estimated_min_receive_usd","output_symbol","estimated_time_seconds","assetfare_fee_bps","fee_modeled_bps","fee_collectible_now","fee_collection_steps","fee_collection"],"type":"object"},"quote_id":{"format":"uuid","type":"string"},"risk":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"}},"required":["server_signing","server_submission"],"type":"object"},"route":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"steps":{"items":{"additionalProperties":{},"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["steps","server_signing","server_submission"],"type":"object"},"status":{"const":"capped_public_agent_release","type":"string"},"ttl_seconds":{"exclusiveMinimum":0,"maximum":60,"type":"integer"}},"required":["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"],"type":"object"}before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon, Optimism, Ethereum and HyperEVM are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to eight entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","session_token","idempotency_key","verification_context"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"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.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","session_token","idempotency_key","verification_context"],"type":"object"}⟨235 unchanged words⟩ optimism:USDC","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{ ⟨262 unchanged words⟩ ,"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"],"type":"string"},"route_aggregator_used":{ ⟨98 unchanged words⟩ optimism:USDC","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{ ⟨264 unchanged words⟩ for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei andHyperEVMSonic are source-only and cannot be used as to_chain. ⟨5 unchanged words⟩ ,"polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"from_token":{ ⟨129 unchanged words⟩ caller's public wallet address. Include public addresses only;one to eight entries,never private keys or seed phrases.","propertyNames" ⟨5 unchanged words⟩ ","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"]},"type":"object"}},"required ⟨15 unchanged words⟩
⟨304 unchanged words⟩ optimism:USDC","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{ ⟨262 unchanged words⟩ ,"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"],"type":"string"},"route_aggregator_used":{ ⟨98 unchanged words⟩ optimism:USDC","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{ ⟨264 unchanged words⟩ for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei andHyperEVMSonic are source-only and cannot be used as to_chain. ⟨5 unchanged words⟩ ,"polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"from_token":{ ⟨129 unchanged words⟩ caller's public wallet address. Include public addresses only;one to eight entries,never private keys or seed phrases.","propertyNames" ⟨5 unchanged words⟩ ","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"]},"type":"object"}},"required ⟨16 unchanged words⟩
⟨310 unchanged words⟩ optimism:USDC","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{ ⟨262 unchanged words⟩ ,"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"],"type":"string"},"route_aggregator_used":{ ⟨98 unchanged words⟩ optimism:USDC","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{ ⟨264 unchanged words⟩ for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei andHyperEVMSonic are source-only and cannot be used as to_chain. ⟨5 unchanged words⟩ ,"polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"from_token":{ ⟨129 unchanged words⟩ caller's public wallet address. Include public addresses only;one to eight entries,never private keys or seed phrases.","propertyNames" ⟨5 unchanged words⟩ ","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"]},"type":"object"}},"required ⟨17 unchanged words⟩
⟨274 unchanged words⟩ optimism:USDC","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{ ⟨262 unchanged words⟩ ,"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"],"type":"string"},"route_aggregator_used":{ ⟨98 unchanged words⟩ optimism:USDC","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{ ⟨264 unchanged words⟩ for the v2 route. Polygon, Optimism, Ethereum, HyperEVM, X Layer, Sei andHyperEVMSonic are source-only and cannot be used as to_chain. ⟨5 unchanged words⟩ ,"polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"],"type":"string"},"from_token":{ ⟨129 unchanged words⟩ caller's public wallet address. Include public addresses only;one to eight entries,never private keys or seed phrases.","propertyNames" ⟨5 unchanged words⟩ ","polygon","optimism","ethereum","hyperevm","xlayer","sei","sonic"]},"type":"object"}},"required ⟨16 unchanged words⟩
⟨1325 unchanged words⟩ policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"}]},"continuation_v3":{"additionalProperties":false,"properties": ⟨587 unchanged words⟩ product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":0,"type":"number"},"external_intent":{"const":"No public route uses an external intent protocol; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":80,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":80,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":188,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classifica…server…
Get oneunrankedfreshcandidateAssetFarewithquoterequiredwith route-specific economic_guidance, direct_route_summary, and continuation_v3.advisory_start_usdAtisordatedaboveguidanceadvisory_start_usd,never auseminimumAssetFareorfirstranking;andcatalog:confirmhttps://assetfare.dev/route-economics.json.theThefreshadapteroutput.verifiesExample:guidance,quotetheSolanafull-quoteUSDChash,topath,Basebounds,USDCmodes,atandtheTTLintendedandamount.neverunranked_candidateauto-selects.meanscaller_approved:trueexecution is nothumanyetproof.approved;Example:separatequoteexplicitsolanaapprovalUSDCselectstooneBasemode.USDCTheatadaptertheverifiescaller'shashes,actualpath,amount.bounds,Read-only;and TTL and never creates approval, authenticates, prepares, signs, or submits.
after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":13,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.11.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.13.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"}]},"continuation_v3":{"additionalProperties":false,"properties":{"automatic_selection_forbidden":{"const":true,"type":"boolean"},"cache_scope":{"const":"bounded_process_local_ttl_restart_fails_closed","type":"string"},"caller_approved_boolean_is_not_human_proof":{"const":true,"type":"boolean"},"enforcement":{"const":"server_enforced_quote_binding","type":"string"},"future_actions_requote_and_enforce_original_step_minimums":{"const":true,"type":"boolean"},"maximum_cache_records":{"const":2048,"type":"number"},"maximum_ttl_seconds":{"const":60,"type":"number"},"multistep_allowed_modes":{"items":[{"const":"session","type":"string"}],"maxItems":1,"minItems":1,"type":"array"},"one_step_allowed_modes":{"items":[{"const":"one_shot","type":"string"},{"const":"session","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"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_on_every_quote":{"const":true,"type":"boolean"},"selection_status":{"const":"unranked_candidate","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_owner_binding":{"const":"sha256_of_caller_generated_session_token_raw_token_never_stored","type":"string"},"version":{"const":"assetfare-quote-bound-continuation-v3","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","required_on_every_quote","enforcement","selection_status","automatic_selection_forbidden","caller_approved_boolean_is_not_human_proof","cache_scope","maximum_ttl_seconds","maximum_cache_records","multistep_allowed_modes","one_step_allowed_modes","session_owner_binding","whole_session_path_and_bounds_enforced","future_actions_requote_and_enforce_original_step_minimums","quote_payload_sha256_spec","server_signing","server_submission"],"type":"object"},"currently_prepare_ready_routes":{"maximum":80,"minimum":0,"type":"integer"},"direct_route_summary":{"anyOf":[{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"external_intent":{"const":"Across only for Robinhood ingress; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":172,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":9,"type":"number"},"external_intent":{"const":"Across only for nine Robinhood ingress coverage routes; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":67,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":170,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":0,"type":"number"},"external_intent":{"const":"No public route uses an external intent protocol; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":76,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":184,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":0,"type":"number"},"external_intent":{"const":"No public route uses an external intent protocol; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":80,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":80,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":188,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classifica…Get one unranked fresh candidate with required route-specific economic_guidance, direct_route_summary, and continuation_v3.Theadvisory_start_usdadapterisverifiesdatedtheguidance,canonicalneverfull-quoteahash,minimumroute-summaryorhash,ranking;fingerprintcatalog:claimhttps://assetfare.dev/route-economics.json. The adapter verifies guidance,wallet/signertherequirementsfull-quote hash, path, bounds, modes, andTTL.TTLItand neverauto-selects or treatsauto-selects. caller_approved:trueasis not human proof. Example: quote solana USDC to Base USDC atUSDthe1000.caller's actual amount. Read-only; never authenticates, prepares, signs, or submits.
⟨1717 unchanged words⟩ intent","offer","cost_summary","eta","economic_guidance","route","direct_route_summary","continuation_v3","risk"," ⟨4 unchanged words⟩
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":11,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"}]},"continuation_v3":{"additionalProperties":false,"properties":{"automatic_selection_forbidden":{"const":true,"type":"boolean"},"cache_scope":{"const":"bounded_process_local_ttl_restart_fails_closed","type":"string"},"caller_approved_boolean_is_not_human_proof":{"const":true,"type":"boolean"},"enforcement":{"const":"server_enforced_quote_binding","type":"string"},"future_actions_requote_and_enforce_original_step_minimums":{"const":true,"type":"boolean"},"maximum_cache_records":{"const":2048,"type":"number"},"maximum_ttl_seconds":{"const":60,"type":"number"},"multistep_allowed_modes":{"items":[{"const":"session","type":"string"}],"maxItems":1,"minItems":1,"type":"array"},"one_step_allowed_modes":{"items":[{"const":"one_shot","type":"string"},{"const":"session","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"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_on_every_quote":{"const":true,"type":"boolean"},"selection_status":{"const":"unranked_candidate","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_owner_binding":{"const":"sha256_of_caller_generated_session_token_raw_token_never_stored","type":"string"},"version":{"const":"assetfare-quote-bound-continuation-v3","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","required_on_every_quote","enforcement","selection_status","automatic_selection_forbidden","caller_approved_boolean_is_not_human_proof","cache_scope","maximum_ttl_seconds","maximum_cache_records","multistep_allowed_modes","one_step_allowed_modes","session_owner_binding","whole_session_path_and_bounds_enforced","future_actions_requote_and_enforce_original_step_minimums","quote_payload_sha256_spec","server_signing","server_submission"],"type":"object"},"currently_prepare_ready_routes":{"maximum":76,"minimum":0,"type":"integer"},"direct_route_summary":{"anyOf":[{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"external_intent":{"const":"Across only for Robinhood ingress; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":172,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":9,"type":"number"},"external_intent":{"const":"Across only for nine Robinhood ingress coverage routes; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":67,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":170,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":0,"type":"number"},"external_intent":{"const":"No public route uses an external intent protocol; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":76,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":184,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"}]},"directed_conversion_routes":{"const":76,"type":"number"},"execution_availability":{"additionalProperties":true,"properties":{"guarantees_future_availability":{"const":false,"type":"boolean"},"provider":{"const":"circle_iris","type":"string"},"provider_dependent_routes":{"maximum":76,"minimum":0,"type":"integer"},"recent_fee_snapshot_usable":{"type":"boolean"},"status":{"enum":["available","degraded","unknown"],"type":"string"}},"required":["status","provider","provider_dependent_routes","recent_fee_snapshot_usable","guarantees_future_availability"],"type":"object"},"execution_implemented_routes":{"const":76,"type":"number"},"execution_ready_routes":{"const":76,"type":"number"},"phase_b_blocked_routes":{"const":0,"type":"number"},"public_api_enabled":{"const":true,"type":"boolean"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"source_only_asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["polygon","optimism"],"type":"string"},"token":{"const":"USDC","type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":2,"minItems":2,"type":"array"},"source_only_routes":{"items":{"enum":["polygon:USDC->base:USDC","polygon:USDC->arbitrum:USDC","optimism:USDC->base:USDC","optimism:USDC->arbitrum:USDC"],"type":"string"},"maxItems":4,"minItems":4,"type":"array"},"status":{"const":"capped_public_agent_release","type":"string"},"temporarily_unavailable_route_count":{"maximum":76,"minimum":0,"type":"integer"},"temporarily_unavailable_routes":{"items":{"minLength":1,"type":"string"},"maxItems":76,"type":"array"},"unsigned_route_plans_ready":{"const":76,"type":"number"}},"required":["status","public_api_enabled","asset_endpoints","source_only_asset_endpoints","source_only_routes","directed_conversion_routes","unsigned_route_plans_ready","execution_ready_routes","direct_route_summary","continuation_v3","action_lifetime","caller_owned_agent_execution","phase_b_blocked_routes","blocked_source_only_routes","server_signing","server_submission"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":13,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.3","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.8.4","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.9.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.10.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.11.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.12.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"}]},"continuation_v3":{"additionalProperties":false,"properties":{"automatic_selection_forbidden":{"const":true,"type":"boolean"},"cache_scope":{"const":"bounded_process_local_ttl_restart_fails_closed","type":"string"},"caller_approved_boolean_is_not_human_proof":{"const":true,"type":"boolean"},"enforcement":{"const":"server_enforced_quote_binding","type":"string"},"future_actions_requote_and_enforce_original_step_minimums":{"const":true,"type":"boolean"},"maximum_cache_records":{"const":2048,"type":"number"},"maximum_ttl_seconds":{"const":60,"type":"number"},"multistep_allowed_modes":{"items":[{"const":"session","type":"string"}],"maxItems":1,"minItems":1,"type":"array"},"one_step_allowed_modes":{"items":[{"const":"one_shot","type":"string"},{"const":"session","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"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_on_every_quote":{"const":true,"type":"boolean"},"selection_status":{"const":"unranked_candidate","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_owner_binding":{"const":"sha256_of_caller_generated_session_token_raw_token_never_stored","type":"string"},"version":{"const":"assetfare-quote-bound-continuation-v3","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","required_on_every_quote","enforcement","selection_status","automatic_selection_forbidden","caller_approved_boolean_is_not_human_proof","cache_scope","maximum_ttl_seconds","maximum_cache_records","multistep_allowed_modes","one_step_allowed_modes","session_owner_binding","whole_session_path_and_bounds_enforced","future_actions_requote_and_enforce_original_step_minimums","quote_payload_sha256_spec","server_signing","server_submission"],"type":"object"},"currently_prepare_ready_routes":{"maximum":80,"minimum":0,"type":"integer"},"direct_route_summary":{"anyOf":[{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"external_intent":{"const":"Across only for Robinhood ingress; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":172,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":9,"type":"number"},"external_intent":{"const":"Across only for nine Robinhood ingress coverage routes; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":67,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":170,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":0,"type":"number"},"external_intent":{"const":"No public route uses an external intent protocol; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":76,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":184,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"economic_eligibility_is_route_and_amount_conditioned":{"const":true,"type":"boolean"},"external_coverage_only_route_count":{"const":0,"type":"number"},"external_intent":{"const":"No public route uses an external intent protocol; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"primary_direct_route_count":{"const":80,"type":"number"},"product_classification_values":{"items":[{"const":"primary_direct","type":"string"},{"const":"external_coverage_only","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":80,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":188,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","primary_direct_route_count","external_coverage_only_route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","product_classification_values","economic_eligibility_is_route_and_amount_conditioned","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"}]},"directed_conversion_routes":{"enum":[76,80],"type":"number"},"economic_guidance":{"additionalProperties":false,"properties":{"advisory_start_distribution":{"additionalProperties":false,"properties":{"100":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"1000":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"10000":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"250":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"2500":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"50":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"500":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"5000":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"}},"required":["50","100","250","500","1000","2500","5000","10000"],"type":"object"},"amount_is_never_rejected_by_economic_guidance":{"const":true,"type":"boolean"},"as_of":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"confidence_counts":{"additionalProperties":false,"properties":{"coverage_only_retest":{"$ref":"#/properties/economic_guidance/properties/confidence_counts/properties/measured_two_day"},"measured_route_specific":{"$ref":"#/properties/economic_guidance/properties/confidence_c…⟨215 unchanged words⟩ ":"Source chain for the v2 route. Polygon, Optimism, Ethereum andOptimismHyperEVM are source-only and cannot be used as to_chain. ⟨3 unchanged words⟩ ,"arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"from_token":{ ⟨30 unchanged words⟩ Solana, Base, Arbitrum, or Robinhood Chain.Polygon andSource-onlyOptimismchains are not destinations.","enum":["solana" ⟨147 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{ ⟨250 unchanged words⟩ ,"optimism:USDC->base:USDC","optimism:USDC->arbitrum:USDC","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{ ⟨94 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{ ⟨256 unchanged words⟩ wallet address. Include public addresses only; one tosixeight entries, never private keys or seed phrases." ⟨4 unchanged words⟩ ","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"]},"type":"object"}},"required ⟨11 unchanged words⟩
⟨71 unchanged words⟩ ":"Source chain for the v2 route. Polygon, Optimism, Ethereum andOptimismHyperEVM are source-only and cannot be used as to_chain. ⟨3 unchanged words⟩ ,"arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"from_token":{ ⟨30 unchanged words⟩ Solana, Base, Arbitrum, or Robinhood Chain.Polygon andSource-onlyOptimismchains are not destinations.","enum":["solana" ⟨36 unchanged words⟩
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"as_of":{"maxLength":64,"minLength":1,"type":"string"},"caller_action_plan_handoff":{"additionalProperties":true,"properties":{},"type":"object"},"continuation_v3":{"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"},"cost_summary":{"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"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","robinhood_paxos_ingress_composition","same_chain_direct","same_chain_direct_composition"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"eta":{"additionalProperties":false,"properties":{"complete_route_estimate":{"type":"boolean"},"estimated_time_range_seconds":{"anyOf":[{"items":[{"minimum":0,"type":"integer"},{"exclusiveMinimum":0,"type":"integer"}],"maxItems":2,"minItems":2,"type":"array"},{"type":"null"}]},"estimated_time_seconds":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}]},"note":{"minLength":1,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"}},"required":["estimated_time_seconds","estimated_time_range_seconds","complete_route_estimate","sources","note"],"type":"object"},"execution":{"additionalProperties":true,"properties":{"first_unsigned_action_supported":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["supported","first_unsigned_action_supported"],"type":"object"},"intent":{"additionalProperties":true,"properties":{"amount_usd":{"type":"number"},"estimated_input_base":{"exclusiveMinimum":0,"type":"integer"},"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to","amount_usd","estimated_input_base"],"type":"object"},"offer":{"additionalProperties":true,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"estimated_min_receive_amount":{"exclusiveMinimum":0,"type":"number"},"estimated_min_receive_usd":{"minimum":0,"type":"number"},"estimated_time_seconds":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}]},"expected_receive_amount":{"exclusiveMinimum":0,"type":"number"},"expected_receive_usd":{"minimum":0,"type":"number"},"fee_collectible_now":{"const":true,"type":"boolean"},"fee_collection":{"const":"only_on_eligible_successful_executor_step","type":"string"},"fee_collection_steps":{"items":{"minimum":0,"type":"integer"},"maxItems":1,"minItems":1,"type":"array"},"fee_modeled_bps":{"const":1,"type":"number"},"output_symbol":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["expected_receive_amount","estimated_min_receive_amount","expected_receive_usd","estimated_min_receive_usd","output_symbol","estimated_time_seconds","assetfare_fee_bps","fee_modeled_bps","fee_collectible_now","fee_collection_steps","fee_collection"],"type":"object"},"quote_id":{"format":"uuid","type":"string"},"risk":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"}},"required":["server_signing","server_submission"],"type":"object"},"route":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"steps":{"items":{"additionalProperties":{},"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["steps","server_signing","server_submission"],"type":"object"},"status":{"const":"capped_public_agent_release","type":"string"},"ttl_seconds":{"exclusiveMinimum":0,"maximum":60,"type":"integer"}},"required":["quote_id","status","as_of","ttl_seconds","intent","offer","cost_summary","eta","route","direct_route_summary","continuation_v3","risk","execution","caller_action_plan_handoff"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"as_of":{"maxLength":64,"minLength":1,"type":"string"},"caller_action_plan_handoff":{"additionalProperties":true,"properties":{},"type":"object"},"continuation_v3":{"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","ethereum","hyperevm","optimism","polygon","robinhood","solana"],"type":"string"},"maxItems":8,"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":8,"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"},"cost_summary":{"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"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"economic_guidance":{"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"},"eta":{"additionalProperties":false,"properties":{"complete_route_estimate":{"type":"boolean"},"estimated_time_range_seconds":{"anyOf":[{"items":[{"minimum":0,"type":"integer"},{"exclusiveMinimum":0,"type":"integer"}],"maxItems":2,"minItems":2,"type":"array"},{"type":"null"}]},"estimated_time_seconds":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}]},"note":{"minLength":1,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"}},"required":["estimated_time_seconds","estimated_time_range_seconds","complete_route_estimate","sources","note"],"type":"object"},"execution":{"additionalProperties":true,"properties":{"first_unsigned_action_supported":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["supported","first_unsigned_action_supported"],"type":"object"},"intent":{"additionalProperties":true,"properties":{"amount_usd":{"type":"number"},"estimated_input_base":{"exclusiveMinimum":0,"type":"integer"},"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to","amount_usd","estimated_input_base"],"type":"object"},"offer":{"additionalProperties":true,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"estimated_min_receive_amount":{"exclusiveMinimum":0,"type":"number"},"estimated_min_receive_usd":{"minimum":0,"type":"number"},"estimated_time_seconds":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}]},"expected_receive_amount":{"exclusiveMinimum":0,"type":"number"},"expected_receive_usd":{"minimum":0,"type":"number"},"fee_collectible_now":{"const":true,"type":"boolean"},"fee_collection":{"const":"only_on_eligible_successful_executor_step","type":"string"},"fee_collection_steps":{"items":{"minimum":0,"type":"integer"},"maxItems":1,"minItems":1,"type":"array"},"fee_modeled_bps":{"const":1,"type":"number"},"output_symbol":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["expected_receive_amount","estimated_min_receive_amount","expected_receive_usd","estimated_min_receive_usd","output_symbol","estimated_time_seconds","assetfare_fee_bps","fee_modeled_bps","fee_collectible_now","fee_collection_steps","fee_collection"],"type":"object"},"quote_id":{"format":"uuid","type":"string"},"risk":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"}},"required":["server_signing","server_submission"],"type":"object"},"route":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"steps":{"items":{"additionalProperties":{},"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["steps","server_signing","server_submission"],"type":"object"},"status":{"const":"capped_public_agent_release","type":"string"},"ttl_seconds":{"exclusiveMinimum":0,"maximum":60,"type":"integer"}},"required":["quote_id","status","as_of","ttl_seconds","intent","offer","cost_summary","eta","route","direct_route_summary","continuation_v3","risk","execution","caller_action_plan_handoff"],"type":"object"}before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","robinhood_paxos_ingress_composition","same_chain_direct","same_chain_direct_composition"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","session_token","idempotency_key","verification_context"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon, Optimism, Ethereum and HyperEVM are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to eight entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","session_token","idempotency_key","verification_context"],"type":"object"}⟨231 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{ ⟨250 unchanged words⟩ ,"optimism:USDC->base:USDC","optimism:USDC->arbitrum:USDC","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{ ⟨94 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{ ⟨262 unchanged words⟩ ":"Source chain for the v2 route. Polygon, Optimism, Ethereum andOptimismHyperEVM are source-only and cannot be used as to_chain. ⟨3 unchanged words⟩ ,"arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"from_token":{ ⟨30 unchanged words⟩ Solana, Base, Arbitrum, or Robinhood Chain.Polygon andSource-onlyOptimismchains are not destinations.","enum":["solana" ⟨88 unchanged words⟩ wallet address. Include public addresses only; one tosixeight entries, never private keys or seed phrases." ⟨4 unchanged words⟩ ","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"]},"type":"object"}},"required ⟨15 unchanged words⟩
⟨300 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{ ⟨250 unchanged words⟩ ,"optimism:USDC->base:USDC","optimism:USDC->arbitrum:USDC","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{ ⟨94 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{ ⟨262 unchanged words⟩ ":"Source chain for the v2 route. Polygon, Optimism, Ethereum andOptimismHyperEVM are source-only and cannot be used as to_chain. ⟨3 unchanged words⟩ ,"arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"from_token":{ ⟨30 unchanged words⟩ Solana, Base, Arbitrum, or Robinhood Chain.Polygon andSource-onlyOptimismchains are not destinations.","enum":["solana" ⟨88 unchanged words⟩ wallet address. Include public addresses only; one tosixeight entries, never private keys or seed phrases." ⟨4 unchanged words⟩ ","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"]},"type":"object"}},"required ⟨16 unchanged words⟩
⟨306 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{ ⟨250 unchanged words⟩ ,"optimism:USDC->base:USDC","optimism:USDC->arbitrum:USDC","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{ ⟨94 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{ ⟨262 unchanged words⟩ ":"Source chain for the v2 route. Polygon, Optimism, Ethereum andOptimismHyperEVM are source-only and cannot be used as to_chain. ⟨3 unchanged words⟩ ,"arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"from_token":{ ⟨30 unchanged words⟩ Solana, Base, Arbitrum, or Robinhood Chain.Polygon andSource-onlyOptimismchains are not destinations.","enum":["solana" ⟨88 unchanged words⟩ wallet address. Include public addresses only; one tosixeight entries, never private keys or seed phrases." ⟨4 unchanged words⟩ ","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"]},"type":"object"}},"required ⟨17 unchanged words⟩
⟨270 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"mode":{ ⟨250 unchanged words⟩ ,"optimism:USDC->base:USDC","optimism:USDC->arbitrum:USDC","ethereum:USDC->solana:USDC","ethereum:USDC->base:USDC","hyperevm:USDC->solana:USDC","hyperevm:USDC->base:USDC"],"type":"string"},"route_aggregator_used":{ ⟨94 unchanged words⟩ robinhood:USDG","polygon:USDC","optimism:USDC","ethereum:USDC","hyperevm:USDC"],"type":"string"},"index":{ ⟨262 unchanged words⟩ ":"Source chain for the v2 route. Polygon, Optimism, Ethereum andOptimismHyperEVM are source-only and cannot be used as to_chain. ⟨3 unchanged words⟩ ,"arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"],"type":"string"},"from_token":{ ⟨30 unchanged words⟩ Solana, Base, Arbitrum, or Robinhood Chain.Polygon andSource-onlyOptimismchains are not destinations.","enum":["solana" ⟨88 unchanged words⟩ wallet address. Include public addresses only; one tosixeight entries, never private keys or seed phrases." ⟨4 unchanged words⟩ ","arbitrum","robinhood","polygon","optimism","ethereum","hyperevm"]},"type":"object"}},"required ⟨16 unchanged words⟩
⟨396 unchanged words⟩ ,"external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"type":"string"},"external_intent_protocol_used":{"type":"boolean"},"fee_collection_step_index" ⟨35 unchanged words⟩ 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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"type":"boolean"},"route":{"enum":["solana:SOL->solana:USDC" ⟨228 unchanged words⟩ "const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean ⟨83 unchanged words⟩ "index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"type":"integer"},"minimum_input_base":{" ⟨280 unchanged words⟩
⟨822 unchanged words⟩ ,"external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"type":"string"},"external_intent_protocol_used":{"type":"boolean"},"fee_collection_step_index" ⟨35 unchanged words⟩ 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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"type":"boolean"},"route":{"enum":["solana:SOL->solana:USDC" ⟨228 unchanged words⟩ "const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean ⟨83 unchanged words⟩ "index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"type":"integer"},"minimum_input_base":{" ⟨380 unchanged words⟩
⟨492 unchanged words⟩ ,"external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"type":"string"},"external_intent_protocol_used":{"type":"boolean"},"fee_collection_step_index" ⟨35 unchanged words⟩ 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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"type":"boolean"},"route":{"enum":["solana:SOL->solana:USDC" ⟨228 unchanged words⟩ "const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean ⟨83 unchanged words⟩ "index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"type":"integer"},"minimum_input_base":{" ⟨282 unchanged words⟩
⟨194 unchanged words⟩ ,"external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"type":"string"},"external_intent_protocol_used":{"type":"boolean"},"fee_collection_step_index" ⟨35 unchanged words⟩ 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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"type":"boolean"},"route":{"enum":["solana:SOL->solana:USDC" ⟨228 unchanged words⟩ "const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean ⟨83 unchanged words⟩ "index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"type":"integer"},"minimum_input_base":{" ⟨449 unchanged words⟩
⟨263 unchanged words⟩ ,"external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"type":"string"},"external_intent_protocol_used":{"type":"boolean"},"fee_collection_step_index" ⟨35 unchanged words⟩ 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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"type":"boolean"},"route":{"enum":["solana:SOL->solana:USDC" ⟨228 unchanged words⟩ "const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean ⟨83 unchanged words⟩ "index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"type":"integer"},"minimum_input_base":{" ⟨450 unchanged words⟩
⟨269 unchanged words⟩ ,"external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"type":"string"},"external_intent_protocol_used":{"type":"boolean"},"fee_collection_step_index" ⟨35 unchanged words⟩ 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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"type":"boolean"},"route":{"enum":["solana:SOL->solana:USDC" ⟨228 unchanged words⟩ "const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean ⟨83 unchanged words⟩ "index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"type":"integer"},"minimum_input_base":{" ⟨451 unchanged words⟩
⟨233 unchanged words⟩ ,"external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"type":"string"},"external_intent_protocol_used":{"type":"boolean"},"fee_collection_step_index" ⟨35 unchanged words⟩ 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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"type":"boolean"},"route":{"enum":["solana:SOL->solana:USDC" ⟨228 unchanged words⟩ "const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean ⟨83 unchanged words⟩ "index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"type":"integer"},"minimum_input_base":{" ⟨450 unchanged words⟩
⟨708 unchanged words⟩ action":{"enum":["swap","bridge","receive"],"type":"string"},"aggregator_api_used":{ ⟨83 unchanged words⟩ :["raydium_clmm","orca_whirlpool","uniswap_v3","circle_cctp","circle_cctp_receive","paxos_usdg_layerzero_oft","across_intent_bridge"],"type":" ⟨255 unchanged words⟩
⟨1134 unchanged words⟩ action":{"enum":["swap","bridge","receive"],"type":"string"},"aggregator_api_used":{ ⟨83 unchanged words⟩ :["raydium_clmm","orca_whirlpool","uniswap_v3","circle_cctp","circle_cctp_receive","paxos_usdg_layerzero_oft","across_intent_bridge"],"type":" ⟨355 unchanged words⟩
⟨804 unchanged words⟩ action":{"enum":["swap","bridge","receive"],"type":"string"},"aggregator_api_used":{ ⟨83 unchanged words⟩ :["raydium_clmm","orca_whirlpool","uniswap_v3","circle_cctp","circle_cctp_receive","paxos_usdg_layerzero_oft","across_intent_bridge"],"type":" ⟨257 unchanged words⟩
⟨506 unchanged words⟩ action":{"enum":["swap","bridge","receive"],"type":"string"},"aggregator_api_used":{ ⟨83 unchanged words⟩ :["raydium_clmm","orca_whirlpool","uniswap_v3","circle_cctp","circle_cctp_receive","paxos_usdg_layerzero_oft","across_intent_bridge"],"type":" ⟨424 unchanged words⟩
⟨575 unchanged words⟩ action":{"enum":["swap","bridge","receive"],"type":"string"},"aggregator_api_used":{ ⟨83 unchanged words⟩ :["raydium_clmm","orca_whirlpool","uniswap_v3","circle_cctp","circle_cctp_receive","paxos_usdg_layerzero_oft","across_intent_bridge"],"type":" ⟨425 unchanged words⟩
⟨581 unchanged words⟩ action":{"enum":["swap","bridge","receive"],"type":"string"},"aggregator_api_used":{ ⟨83 unchanged words⟩ :["raydium_clmm","orca_whirlpool","uniswap_v3","circle_cctp","circle_cctp_receive","paxos_usdg_layerzero_oft","across_intent_bridge"],"type":" ⟨426 unchanged words⟩
⟨545 unchanged words⟩ action":{"enum":["swap","bridge","receive"],"type":"string"},"aggregator_api_used":{ ⟨83 unchanged words⟩ :["raydium_clmm","orca_whirlpool","uniswap_v3","circle_cctp","circle_cctp_receive","paxos_usdg_layerzero_oft","across_intent_bridge"],"type":" ⟨425 unchanged words⟩
after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_lifetime":{"additionalProperties":false,"properties":{"action_bundle_ttl_seconds":{"const":180,"type":"number"},"onchain_deadline_seconds":{"const":240,"type":"number"},"quote_ttl_seconds":{"const":60,"type":"number"},"refresh_policy":{"const":"expired_unsubmitted_only","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"wallet_ready_minimum_remaining_seconds":{"const":120,"type":"number"}},"required":["quote_ttl_seconds","action_bundle_ttl_seconds","onchain_deadline_seconds","wallet_ready_minimum_remaining_seconds","refresh_policy","server_signing","server_submission"],"type":"object"},"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":11,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"caller_owned_agent_execution":{"anyOf":[{"additionalProperties":false,"properties":{"a2a_remote_skill":{"const":false,"type":"boolean"},"assetfare_server_key_access":{"const":false,"type":"boolean"},"assetfare_server_signing":{"const":false,"type":"boolean"},"assetfare_server_submission":{"const":false,"type":"boolean"},"command":{"const":"assetfare-agent-runner","type":"string"},"key_location":{"const":"caller_wallet_adapter_only","type":"string"},"minimum_package_version":{"const":"1.5.0","type":"string"},"package":{"const":"assetfare-mcp","type":"string"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v1.json","type":"string"},"remote_mcp_tool":{"const":false,"type":"boolean"},"scope":{"const":"caller_process_only","type":"string"},"supported":{"const":true,"type":"boolean"},"version":{"const":"assetfare-caller-owned-agent-execution-v1","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v1","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.6.2","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.0","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"},{"additionalProperties":false,"properties":{"a2a_remote_skill":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/a2a_remote_skill"},"assetfare_server_key_access":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_key_access"},"assetfare_server_signing":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_signing"},"assetfare_server_submission":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/assetfare_server_submission"},"command":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/command"},"key_location":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/key_location"},"minimum_package_version":{"const":"1.7.1","type":"string"},"package":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/package"},"policy_schema":{"const":"https://assetfare.dev/schemas/caller-owned-execution-policy-v2.json","type":"string"},"remote_mcp_tool":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/remote_mcp_tool"},"scope":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/scope"},"supported":{"$ref":"#/properties/caller_owned_agent_execution/anyOf/0/properties/supported"},"version":{"const":"assetfare-caller-owned-agent-execution-v2","type":"string"},"wallet_adapter_contract_version":{"const":"assetfare-caller-wallet-adapter-v2","type":"string"}},"required":["supported","scope","package","command","key_location","remote_mcp_tool","a2a_remote_skill","assetfare_server_key_access","assetfare_server_signing","assetfare_server_submission","version","minimum_package_version","policy_schema","wallet_adapter_contract_version"],"type":"object"}]},"continuation_v3":{"additionalProperties":false,"properties":{"automatic_selection_forbidden":{"const":true,"type":"boolean"},"cache_scope":{"const":"bounded_process_local_ttl_restart_fails_closed","type":"string"},"caller_approved_boolean_is_not_human_proof":{"const":true,"type":"boolean"},"enforcement":{"const":"server_enforced_quote_binding","type":"string"},"future_actions_requote_and_enforce_original_step_minimums":{"const":true,"type":"boolean"},"maximum_cache_records":{"const":2048,"type":"number"},"maximum_ttl_seconds":{"const":60,"type":"number"},"multistep_allowed_modes":{"items":[{"const":"session","type":"string"}],"maxItems":1,"minItems":1,"type":"array"},"one_step_allowed_modes":{"items":[{"const":"one_shot","type":"string"},{"const":"session","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"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_on_every_quote":{"const":true,"type":"boolean"},"selection_status":{"const":"unranked_candidate","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_owner_binding":{"const":"sha256_of_caller_generated_session_token_raw_token_never_stored","type":"string"},"version":{"const":"assetfare-quote-bound-continuation-v3","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","required_on_every_quote","enforcement","selection_status","automatic_selection_forbidden","caller_approved_boolean_is_not_human_proof","cache_scope","maximum_ttl_seconds","maximum_cache_records","multistep_allowed_modes","one_step_allowed_modes","session_owner_binding","whole_session_path_and_bounds_enforced","future_actions_requote_and_enforce_original_step_minimums","quote_payload_sha256_spec","server_signing","server_submission"],"type":"object"},"currently_prepare_ready_routes":{"maximum":76,"minimum":0,"type":"integer"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"external_intent":{"const":"Across only for Robinhood ingress; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":168,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},"directed_conversion_routes":{"const":76,"type":"number"},"execution_availability":{"additionalProperties":true,"properties":{"guarantees_future_availability":{"const":false,"type":"boolean"},"provider":{"const":"circle_iris","type":"string"},"provider_dependent_routes":{"maximum":76,"minimum":0,"type":"integer"},"recent_fee_snapshot_usable":{"type":"boolean"},"status":{"enum":["available","degraded","unknown"],"type":"string"}},"required":["status","provider","provider_dependent_routes","recent_fee_snapshot_usable","guarantees_future_availability"],"type":"object"},"execution_implemented_routes":{"const":76,"type":"number"},"execution_ready_routes":{"const":76,"type":"number"},"phase_b_blocked_routes":{"const":0,"type":"number"},"public_api_enabled":{"const":true,"type":"boolean"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"source_only_asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["polygon","optimism"],"type":"string"},"token":{"const":"USDC","type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":2,"minItems":2,"type":"array"},"source_only_routes":{"items":{"enum":["polygon:USDC->base:USDC","polygon:USDC->arbitrum:USDC","optimism:USDC->base:USDC","optimism:USDC->arbitrum:USDC"],"type":"string"},"maxItems":4,"minItems":4,"type":"array"},"status":{"const":"capped_public_agent_release","type":"string"},"temporarily_unavailable_route_count":{"maximum":76,"minimum":0,"type":"integer"},"temporarily_unavailable_routes":{"items":{"minLength":1,"type":"string"},"maxItems":76,"type":"array"},"unsigned_route_plans_ready":{"const":76,"type":"number"}},"required":["status","public_api_enabled","asset_endpoints","source_only_asset_endpoints","source_only_routes","directed_conversion_routes","unsigned_route_plans_ready","execution_ready_routes","direct_route_summary","continuation_v3","action_lifetime","caller_owned_agent_execution","phase_b_blocked_routes","blocked_source_only_routes","server_signing","server_submission"],"type":"object"}Returntheoneexactdeeplyvalidatedverified first unsignedbundle.bundleForplusserver-enforcedabinding,self-verifying caller-wallet handoff. Callers must explicitly pass caller_approved=trueplus an, approval_v3 selected as one_shot, and the hash-bound verification_context copied from the exactquote;quote/public wallets; multi-step quotes reject one_shot. Example:usepass theapproval fileexactproducedcontextbysavedassetfare-selectduringforquoteaselection.one-stepContextquote.isOmittingvalidatedapproval_v3beforeusesthelegacy_advisoryupstreamonly,request and never forwarded. caller_approved:true is not humanproof. No field is auto-inserted;proof; AssetFare never signs or submits.
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Optional strict Core 2.4.1 one_shot quote-bound selection. Omit only for the explicitly legacy_advisory path.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"one_shot","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets"],"type":"object"}{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"action_verification":{"additionalProperties":{},"description":"Fail-closed semantic and approval-bound verification result; it never authorizes a signature by itself.","type":"object"},"bundle":{"additionalProperties":true,"description":"Exact Core bundle whose payload_sha256 remains scoped only to this nested object.","properties":{"action_id":{"format":"uuid" ⟨92 unchanged words⟩ ","server_signing","server_submission","signed","submitted"],"type":"object"},"caller_wallet_handoff":{"additionalProperties":{},"description":"Fresh self-verifying EIP-1193 or Solana Wallet Standard handoff. The caller still simulates, confirms, signs and submits.","type":"object"},"semantic_verification":{"const":true,"description":"True only after full decoded action, intent, receipt, payload and caller-bound verification.","type":"boolean"}},"required":["bundle","semantic_verification","action_verification","caller_wallet_handoff"],"type":"object"}
⟨13 unchanged words⟩ , minimum 1. USD 1 is reachability/schema smokeonly;only. A USD 50is thecompetitivenative-USDCbucketeconomic-comparisonwasstartobservedbasedonlyonfor dated 2026-09-23 Solana USDC to Base USDC evidence,and must notabecheapestgeneralizedguarantee;to another corridor. USD 1,000 is the primary representative amount. ⟨124 unchanged words⟩
Create one receipt-driven workflow.For server-enforcedCallersbinding,must explicitly pass caller_approved=true, the exact approval_v3 selected as session, the same idempotency_key,anda caller-local sessiontoken.token, and verification_context copied from the selected quote/public wallets. Example:selectvalidatesessionandforpassanythemulti-stepexact context saved with the selected quote.OmittingTheapproval_v3adapterusesvalidateslegacy_advisoryapprovalonly.and context before the upstream request. Every returned action is deeply verified and receives a self-verifying wallet handoff. AssetFare never signs or submits.
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Optional strict Core 2.4.1 session quote-bound selection. Omit only for legacy_advisory.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","session_token","idempotency_key"],"type":"object"}Read an existing v2 workflowand current unsigned actionwithout advancing it. Example: passthesession_id, session_token, anditsthecaller-ownedoriginalsession_tokenverification_context after restart. The adapter deeply verifies any current_action and emits arestart.self-verifying wallet handoff, or fails closed. Read-only; never signs or submits.
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"}},"required":["session_token","session_id"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/verification_context/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/verification_context/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/verification_context/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"]},"type":"object"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"}},"required":["session_token","session_id","verification_context"],"type":"object"}⟨5 unchanged words⟩ destination output, then advance the workflow. Example:transaction_hash='<caller-or-provider-output-hash>'passwiththeidempotency_key='output-0001'.outputAssetFarehash,observesabutnew idempotency key, and the original verification_context. Any next current_action is deeply verified and receives a wallet handoff. AssetFare never signs or submits.
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"transaction_hash":{"description":"Optional bridge or destination transaction hash already produced outside AssetFare. Omit only when the provider output can be observed without a hash.","maxLength":128,"minLength":16,"type":"string"}},"required":["session_token","session_id","idempotency_key"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"transaction_hash":{"description":"Optional bridge or destination transaction hash already produced outside AssetFare. Omit only when the provider output can be observed without a hash.","maxLength":128,"minLength":16,"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/verification_context/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/verification_context/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/verification_context/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"]},"type":"object"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"}},"required":["session_token","session_id","idempotency_key","verification_context"],"type":"object"}⟨7 unchanged words⟩ and submitted, then advance the workflow. Example:transaction_hashes=['<finalized-source-hash>']passwithoneidempotency_key='source-0001'.finalizedNeversourcepasshash,anaunsignednewhash;idempotencyAssetFarekey,observesandbutthe original verification_context. Any next current_action is deeply verified and receives a wallet handoff. AssetFare never signs or submits.
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"transaction_hashes":{"description":"One to eight hashes for source transactions the caller already signed and submitted. Do not provide unsigned payloads or destination hashes.","items":{"maxLength":128,"minLength":16,"type":"string"},"maxItems":8,"minItems":1,"type":"array"}},"required":["session_token","session_id","idempotency_key","transaction_hashes"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"transaction_hashes":{"description":"One to eight hashes for source transactions the caller already signed and submitted. Do not provide unsigned payloads or destination hashes.","items":{"maxLength":128,"minLength":16,"type":"string"},"maxItems":8,"minItems":1,"type":"array"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/verification_context/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/verification_context/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/verification_context/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"]},"type":"object"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"}},"required":["session_token","session_id","idempotency_key","transaction_hashes","verification_context"],"type":"object"}⟨6 unchanged words⟩ it remains unsubmitted. Example: pass the existingsession_idsession,session_tokena new idempotency key, andidempotency_key='refresh-0001'.the original verification_context. The refreshed action is deeply verified and receives a wallet handoff. Never refresh a submitted step; AssetFare never signs or submits.
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"}},"required":["session_token","session_id","idempotency_key"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/verification_context/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/verification_context/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/verification_context/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"]},"type":"object"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"}},"required":["session_token","session_id","idempotency_key","verification_context"],"type":"object"}⟨45 unchanged words⟩ "minItems":0,"type":"array"},"continuation_v3":{"additionalProperties":false,"properties":{"automatic_selection_forbidden":{"const":true,"type":"boolean"},"cache_scope":{"const":"bounded_process_local_ttl_restart_fails_closed","type":"string"},"caller_approved_boolean_is_not_human_proof":{"const":true,"type":"boolean"},"enforcement":{"const":"server_enforced_quote_binding","type":"string"},"future_actions_requote_and_enforce_original_step_minimums":{"const":true,"type":"boolean"},"maximum_cache_records":{"const":2048,"type":"number"},"maximum_ttl_seconds":{"const":60,"type":"number"},"multistep_allowed_modes":{"items":[{"const":"session","type":"string"}],"maxItems":1,"minItems":1,"type":"array"},"one_step_allowed_modes":{"items":[{"const":"one_shot","type":"string"},{"const":"session","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"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_on_every_quote":{"const":true,"type":"boolean"},"selection_status":{"const":"unranked_candidate","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_owner_binding":{"const":"sha256_of_caller_generated_session_token_raw_token_never_stored","type":"string"},"version":{"const":"assetfare-quote-bound-continuation-v3","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","required_on_every_quote","enforcement","selection_status","automatic_selection_forbidden","caller_approved_boolean_is_not_human_proof","cache_scope","maximum_ttl_seconds","maximum_cache_records","multistep_allowed_modes","one_step_allowed_modes","session_owner_binding","whole_session_path_and_bounds_enforced","future_actions_requote_and_enforce_original_step_minimums","quote_payload_sha256_spec","server_signing","server_submission"],"type":"object"},"currently_prepare_ready_routes":{"maximum":76,"minimum":0, ⟨266 unchanged words⟩ ","directed_conversion_routes","unsigned_route_plans_ready","execution_ready_routes","direct_route_summary","continuation_v3","phase_b_blocked_routes","blocked_source_only_routes","server_signing","server_submission ⟨2 unchanged words⟩
Return the exact validatedversioned Core bundle for thefirstcaller-approvedunsignedaction afterbundle.aForfreshserver-enforcedre-quote.binding,Itsexplicitlypayload_sha256passcoverscaller_approved=truetheplusCoreanbundleapproval_v3withselectedonlyaspayload_sha256one_shotomitted;from theMCP adapter does not appendexactfieldsquote;tomulti-stepthatquoteshashrejectscope.one_shot. Example:pass caller_approved=true,use theexact route, public wallets,approvalandfileaproducedcaller-ownedbySolanaassetfare-selecteventforsignerapublicone-stepkeyquote.whenOmittingrequired.approval_v3Useusesinsteadlegacy_advisoryofonly,sessionandmodecaller_approved:trueforisone-shotnotpreview;humanneverproof.callNobothfieldmodes,isandauto-inserted; AssetFare never signs or submits.
⟨56 unchanged words⟩ "minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Optional strict Core 2.4.1 one_shot quote-bound selection. Omit only for the explicitly legacy_advisory path.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"one_shot","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"ExplicitLegacyconfirmationcaller assertion thattheMUSTcallerbeapprovedsuppliedthisexplicitly.state-changingItpreparationis
Getaonefreshunrankedfee-inclusivefreshquotecandidatepluswith direct_route_summary:ordered provider/from/to steps, base-unit bounds,andthecontinuation_v3.AssetFareThefeeadapterstep.verifiesdirect_protocol_onlythemeanscanonicaldisclosedfull-quotedirecthash,protocols;route-summaryexternal_intenthash,marksfingerprintAcrossclaim,Robinhoodwallet/signeringressrequirements,wherepath,provider-internalbounds,sourcingmodes,mayandoccur.TTL.route_aggregator_used=falseItscopesneveronlyauto-selectsAssetFare'sorengine.treatsExamplecaller_approved:from_chain='solana',truefrom_token='USDC',asto_chain='base',humanto_token='USDC',proof.amount_usd=1000.Example:USDquote1solanaisUSDCsmoke-only;tocompareBasefreshUSDC atthe intendedUSDamount.1000. Read-only; never authenticates, prepares, signs, or submits.
before
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"as_of":{"maxLength":64,"minLength":1,"type":"string"},"caller_action_plan_handoff":{"additionalProperties":true,"properties":{},"type":"object"},"cost_summary":{"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"},"direct_route_summary":{"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"},"eta":{"additionalProperties":false,"properties":{"complete_route_estimate":{"type":"boolean"},"estimated_time_range_seconds":{"anyOf":[{"items":[{"minimum":0,"type":"integer"},{"exclusiveMinimum":0,"type":"integer"}],"maxItems":2,"minItems":2,"type":"array"},{"type":"null"}]},"estimated_time_seconds":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}]},"note":{"minLength":1,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"}},"required":["estimated_time_seconds","estimated_time_range_seconds","complete_route_estimate","sources","note"],"type":"object"},"execution":{"additionalProperties":true,"properties":{"first_unsigned_action_supported":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["supported","first_unsigned_action_supported"],"type":"object"},"intent":{"additionalProperties":true,"properties":{"amount_usd":{"type":"number"},"estimated_input_base":{"exclusiveMinimum":0,"type":"integer"},"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to","amount_usd","estimated_input_base"],"type":"object"},"offer":{"additionalProperties":true,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"estimated_min_receive_amount":{"exclusiveMinimum":0,"type":"number"},"estimated_min_receive_usd":{"minimum":0,"type":"number"},"estimated_time_seconds":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}]},"expected_receive_amount":{"exclusiveMinimum":0,"type":"number"},"expected_receive_usd":{"minimum":0,"type":"number"},"fee_collectible_now":{"const":true,"type":"boolean"},"fee_collection":{"const":"only_on_eligible_successful_executor_step","type":"string"},"fee_collection_steps":{"items":{"minimum":0,"type":"integer"},"maxItems":1,"minItems":1,"type":"array"},"fee_modeled_bps":{"const":1,"type":"number"},"output_symbol":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["expected_receive_amount","estimated_min_receive_amount","expected_receive_usd","estimated_min_receive_usd","output_symbol","estimated_time_seconds","assetfare_fee_bps","fee_modeled_bps","fee_collectible_now","fee_collection_steps","fee_collection"],"type":"object"},"quote_id":{"format":"uuid","type":"string"},"risk":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"}},"required":["server_signing","server_submission"],"type":"object"},"route":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"steps":{"items":{"additionalProperties":{},"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["steps","server_signing","server_submission"],"type":"object"},"status":{"const":"capped_public_agent_release","type":"string"},"ttl_seconds":{"exclusiveMinimum":0,"maximum":60,"type":"integer"}},"required":["quote_id","status","as_of","ttl_seconds","intent","offer","cost_summary","eta","route","direct_route_summary","risk","execution","caller_action_plan_handoff"],"type":"object"}Create onecaller-approvedreceipt-drivenworkflow and return itsworkflow.currentForunsignedserver-enforcedaction.binding,Example:explicitly passacaller_approved=true,locallythegeneratedexact256-bitapproval_v3base64urlselectedsession_tokenas session,publicthewalletssame idempotency_key, andidempotency_key='create-0001'.aUsecaller-local session token. Example: select session for any multi-stepexecution,quote.neverOmittingalongsideapproval_v3one-shotusesprepare;legacy_advisory only. AssetFare never signs or submits.
⟨56 unchanged words⟩ "minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Optional strict Core 2.4.1 session quote-bound selection. Omit only for legacy_advisory.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"ExplicitLegacyconfirmationcaller assertion thattheMUSTcallerbeapprovedsuppliedthisexplicitly.state-changingItpreparationis
⟨115 unchanged words⟩ "},{"type":"null"}]},"quote_binding":{"anyOf":[{"additionalProperties":false,"properties":{"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"assetfare-quote-bound-session-constraints-v1","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","quote_id","quote_fingerprint","selected_mode","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"legacy_advisory","type":"string"},"whole_session_path_and_bounds_enforced":{"const":false,"type":"boolean"}},"required":["version","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type": ⟨17 unchanged words⟩ :["session_id","status","action_available","current_action","quote_binding","server_signing","server_submission","signed","submitted ⟨2 unchanged words⟩
⟨115 unchanged words⟩ "},{"type":"null"}]},"quote_binding":{"anyOf":[{"additionalProperties":false,"properties":{"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"assetfare-quote-bound-session-constraints-v1","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","quote_id","quote_fingerprint","selected_mode","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"legacy_advisory","type":"string"},"whole_session_path_and_bounds_enforced":{"const":false,"type":"boolean"}},"required":["version","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type": ⟨17 unchanged words⟩ :["session_id","status","action_available","current_action","quote_binding","server_signing","server_submission","signed","submitted ⟨2 unchanged words⟩
⟨22 unchanged words⟩ choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type ⟨103 unchanged words⟩
⟨115 unchanged words⟩ "},{"type":"null"}]},"quote_binding":{"anyOf":[{"additionalProperties":false,"properties":{"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"assetfare-quote-bound-session-constraints-v1","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","quote_id","quote_fingerprint","selected_mode","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"legacy_advisory","type":"string"},"whole_session_path_and_bounds_enforced":{"const":false,"type":"boolean"}},"required":["version","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type": ⟨17 unchanged words⟩ :["session_id","status","action_available","current_action","quote_binding","server_signing","server_submission","signed","submitted ⟨2 unchanged words⟩
⟨22 unchanged words⟩ choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type ⟨110 unchanged words⟩
⟨115 unchanged words⟩ "},{"type":"null"}]},"quote_binding":{"anyOf":[{"additionalProperties":false,"properties":{"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"assetfare-quote-bound-session-constraints-v1","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","quote_id","quote_fingerprint","selected_mode","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"legacy_advisory","type":"string"},"whole_session_path_and_bounds_enforced":{"const":false,"type":"boolean"}},"required":["version","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type": ⟨17 unchanged words⟩ :["session_id","status","action_available","current_action","quote_binding","server_signing","server_submission","signed","submitted ⟨2 unchanged words⟩
⟨22 unchanged words⟩ choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type ⟨73 unchanged words⟩
⟨115 unchanged words⟩ "},{"type":"null"}]},"quote_binding":{"anyOf":[{"additionalProperties":false,"properties":{"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"assetfare-quote-bound-session-constraints-v1","type":"string"},"whole_session_path_and_bounds_enforced":{"const":true,"type":"boolean"}},"required":["version","quote_id","quote_fingerprint","selected_mode","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"},{"additionalProperties":false,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"version":{"const":"legacy_advisory","type":"string"},"whole_session_path_and_bounds_enforced":{"const":false,"type":"boolean"}},"required":["version","whole_session_path_and_bounds_enforced","server_signing","server_submission"],"type":"object"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type": ⟨17 unchanged words⟩ :["session_id","status","action_available","current_action","quote_binding","server_signing","server_submission","signed","submitted ⟨2 unchanged words⟩
⟨52 unchanged words⟩ "minimum":0,"type":"integer"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_step_bound":{"const":true,"type":"boolean"},"base_unit_amounts_are_decimal_strings":{"const":true,"type":"boolean"},"classification_values":{"items":[{"const":"direct_protocol_only","type":"string"},{"const":"external_intent","type":"string"}],"maxItems":2,"minItems":2,"type":"array"},"external_intent":{"const":"Across only for Robinhood ingress; provider-internal liquidity sourcing or aggregation remains possible","type":"string"},"normalized_chain_asset_endpoints":{"const":true,"type":"boolean"},"ordered_provider_path":{"const":true,"type":"boolean"},"required_on_every_quote":{"const":true,"type":"boolean"},"route_aggregator_used_scope":{"const":"assetfare_engine_only","type":"string"},"route_count":{"const":76,"type":"number"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"step_count":{"const":168,"type":"number"},"version":{"const":"assetfare-direct-route-summary-v1","type":"string"}},"required":["version","required_on_every_quote","route_count","step_count","ordered_provider_path","normalized_chain_asset_endpoints","base_unit_amounts_are_decimal_strings","assetfare_fee_step_bound","classification_values","route_aggregator_used_scope","external_intent","server_signing","server_submission"],"type":"object"},"directed_conversion_routes":{"const":76,"type":"number ⟨151 unchanged words⟩ ","source_only_routes","directed_conversion_routes","unsigned_route_plans_ready","execution_ready_routes","direct_route_summary","phase_b_blocked_routes","blocked_source_only_routes","server_signing","server_submission ⟨2 unchanged words⟩
⟨8 unchanged words⟩ "Requested input value in USD, minimum 1.ObtainUSDa1freshisquotereachability/schemabecausesmokeavailabilityonly; USD 50 is the native-USDC economic-comparison start based on dated 2026-09-23 evidence,feesnot a cheapest guarantee; USD 1,000andisreceivetheamountsprimarycanrepresentativechange.amount. SOL input includes a swap. Always quote the actual intended amount.","minimum":1,"type":"number"} ⟨232 unchanged words⟩
Getonea fresh fee-inclusive quote plus direct_route_summary: ordered provider/from/to steps, base-unit bounds, andcaller-operatedtheunsigned-planAssetFarehandoff.fee step. direct_protocol_only means disclosed direct protocols; external_intent marks Across Robinhood ingress, where provider-internal sourcing may occur. route_aggregator_used=false scopes only AssetFare's engine. Example: from_chain='solana', from_token='USDC', to_chain='base', to_token='USDC',amount_usd=250.amount_usd=1000. USD 1 is smoke-only; compare fresh at the intended amount. Read-only; never authenticates, prepares, signs, or submits.
⟨8 unchanged words⟩ "Requested input value in USD, minimum 1.ObtainUSDa1freshisquotereachability/schemabecausesmokeavailabilityonly; USD 50 is the native-USDC economic-comparison start based on dated 2026-09-23 evidence,feesnot a cheapest guarantee; USD 1,000andisreceivetheamountsprimarycanrepresentativechange.amount. SOL input includes a swap. Always quote the actual intended amount.","minimum":1,"type":"number"} ⟨109 unchanged words⟩
⟨174 unchanged words⟩ ,"warning"],"type":"object"},"direct_route_summary":{"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"},"
⟨8 unchanged words⟩ "Requested input value in USD, minimum 1.ObtainUSDa1freshisquotereachability/schemabecausesmokeavailabilityonly; USD 50 is the native-USDC economic-comparison start based on dated 2026-09-23 evidence,feesnot a cheapest guarantee; USD 1,000andisreceivetheamountsprimarycanrepresentativechange.amount. SOL input includes a swap. Always quote the actual intended amount.","minimum":1,"type":"number"} ⟨305 unchanged words⟩
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"execution":{"additionalProperties":{},"type":"object"},"release_commit":{"pattern":"^[0-9a-f]{40}$","type":"string"},"safety_bundle":{"additionalProperties":true,"properties":{"canonicalization":{"minLength":1,"type":"string"},"schema":{"format":"uri","type":"string"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"url":{"format":"uri","type":"string"}},"required":["schema","url","sha256","canonicalization"],"type":"object"},"service":{"const":"AssetFare","type":"string"},"signature":{"additionalProperties":true,"properties":{"algorithm":{"const":"Ed25519","type":"string"},"key_id":{"minLength":1,"type":"string"},"public_key_url":{"format":"uri","type":"string"},"value":{"minLength":1,"type":"string"}},"required":["algorithm","key_id","public_key_url","value"],"type":"object"}},"required":["service","release_commit","execution","safety_bundle","signature"],"type":"object"}Readcurrent non-custodial bridge/swap capabilities, route availability, fee policy, andtheno-sign/no-submit boundary for 76 routes acrosscurrentsix76-routechainscapability andeleven endpoints.live-availabilityUsematrix beforeassetfare_v2_quote for a new v2 evaluation;quoting.doExample:notconfirmusesolana:USDC->base:USDClegacyisassetfare_statusprepare-readytoanddecideserver_signing/server_submissionv2areavailability.false. Read-only;makes a network request andcreates no wallet login, session, or action.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"token":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":11,"minItems":11,"type":"array"},"blocked_source_only_routes":{"items":{"not":{}},"maxItems":0,"minItems":0,"type":"array"},"currently_prepare_ready_routes":{"maximum":76,"minimum":0,"type":"integer"},"directed_conversion_routes":{"const":76,"type":"number"},"execution_availability":{"additionalProperties":true,"properties":{"guarantees_future_availability":{"const":false,"type":"boolean"},"provider":{"const":"circle_iris","type":"string"},"provider_dependent_routes":{"maximum":76,"minimum":0,"type":"integer"},"recent_fee_snapshot_usable":{"type":"boolean"},"status":{"enum":["available","degraded","unknown"],"type":"string"}},"required":["status","provider","provider_dependent_routes","recent_fee_snapshot_usable","guarantees_future_availability"],"type":"object"},"execution_implemented_routes":{"const":76,"type":"number"},"execution_ready_routes":{"const":76,"type":"number"},"phase_b_blocked_routes":{"const":0,"type":"number"},"public_api_enabled":{"const":true,"type":"boolean"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"source_only_asset_endpoints":{"items":{"additionalProperties":false,"properties":{"chain":{"enum":["polygon","optimism"],"type":"string"},"token":{"const":"USDC","type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":2,"minItems":2,"type":"array"},"source_only_routes":{"items":{"enum":["polygon:USDC->base:USDC","polygon:USDC->arbitrum:USDC","optimism:USDC->base:USDC","optimism:USDC->arbitrum:USDC"],"type":"string"},"maxItems":4,"minItems":4,"type":"array"},"status":{"const":"capped_public_agent_release","type":"string"},"temporarily_unavailable_route_count":{"maximum":76,"minimum":0,"type":"integer"},"temporarily_unavailable_routes":{"items":{"minLength":1,"type":"string"},"maxItems":76,"type":"array"},"unsigned_route_plans_ready":{"const":76,"type":"number"}},"required":["status","public_api_enabled","asset_endpoints","source_only_asset_endpoints","source_only_routes","directed_conversion_routes","unsigned_route_plans_ready","execution_ready_routes","phase_b_blocked_routes","blocked_source_only_routes","server_signing","server_submission"],"type":"object"}PrepareReturnonethecaller-approved,exactone-shotvalidatedfirstversionedunsignedCoreactionbundle forathev2firstroutecaller-approvedthatunsigned action after a freshquotere-quote.reportsItsavailable.payload_sha256UsecoversforthepreviewCoreorbundlemanualwithfirst-actiononlyhandling;payload_sha256foromitted;athereceipt-drivenMCPmulti-stepadapterworkflowdoesgeneratenotaappend256-bitfieldsbase64urltosessionthatcapabilityhashlocally,scope.thenExample:usepassassetfare_v2_session_createcaller_approved=true,and never call both modes for onethetransfer.exactSolana-CCTProute,routespublicrequirewallets,onlyand afreshcaller-owned Solana event signer publickey.keyMakeswhenarequired.networkUserequestinsteadandofpreparessessionanmodeaction,forbutone-shotAssetFarepreview; neverreceivescallprivatebothkeysmodes, and AssetFare never signs,or submits.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_id":{"format":"uuid","type":"string"},"expires_at":{"minLength":1,"type":"string"},"payload_sha256":{"description":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"const":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"signed":{"const":false,"type":"boolean"},"step_index":{"minimum":0,"type":"integer"},"submitted":{"const":false,"type":"boolean"},"unsigned_action":{"additionalProperties":{},"type":"object"},"version":{"const":"assetfare-direct-multichain-action-v2","type":"string"},"workflow_id":{"format":"uuid","type":"string"}},"required":["version","workflow_id","action_id","step_index","expires_at","unsigned_action","payload_sha256","payload_sha256_spec","server_signing","server_submission","signed","submitted"],"type":"object"}Get one freshread-only AssetFare bridge/swapfee-inclusive quotefor a selected v2 route, including total token-path cost, live availability,andancaller-operatedunsigned-actionunsigned-plan handoff.Use for every new six-chain evaluation after assetfare_v2_capabilities; use legacy assetfare_quote only for the unversioned Solana-SOL-to-Base/Arbitrum-ETH workflow. AssetFare charges 1bp plus Circle/provider/network fees. ThisExample:callfrom_chain='solana',makesfrom_token='USDC',ato_chain='base',networkto_token='USDC',requestamount_usd=250.butRead-only; never authenticates,creates a session,preparesan action, signs, or submits.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"as_of":{"maxLength":64,"minLength":1,"type":"string"},"caller_action_plan_handoff":{"additionalProperties":true,"properties":{},"type":"object"},"cost_summary":{"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"},"eta":{"additionalProperties":false,"properties":{"complete_route_estimate":{"type":"boolean"},"estimated_time_range_seconds":{"anyOf":[{"items":[{"minimum":0,"type":"integer"},{"exclusiveMinimum":0,"type":"integer"}],"maxItems":2,"minItems":2,"type":"array"},{"type":"null"}]},"estimated_time_seconds":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}]},"note":{"minLength":1,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"}},"required":["estimated_time_seconds","estimated_time_range_seconds","complete_route_estimate","sources","note"],"type":"object"},"execution":{"additionalProperties":true,"properties":{"first_unsigned_action_supported":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["supported","first_unsigned_action_supported"],"type":"object"},"intent":{"additionalProperties":true,"properties":{"amount_usd":{"type":"number"},"estimated_input_base":{"exclusiveMinimum":0,"type":"integer"},"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to","amount_usd","estimated_input_base"],"type":"object"},"offer":{"additionalProperties":true,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"estimated_min_receive_amount":{"exclusiveMinimum":0,"type":"number"},"estimated_min_receive_usd":{"minimum":0,"type":"number"},"estimated_time_seconds":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}]},"expected_receive_amount":{"exclusiveMinimum":0,"type":"number"},"expected_receive_usd":{"minimum":0,"type":"number"},"fee_collectible_now":{"const":true,"type":"boolean"},"fee_collection":{"const":"only_on_eligible_successful_executor_step","type":"string"},"fee_collection_steps":{"items":{"minimum":0,"type":"integer"},"maxItems":1,"minItems":1,"type":"array"},"fee_modeled_bps":{"const":1,"type":"number"},"output_symbol":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["expected_receive_amount","estimated_min_receive_amount","expected_receive_usd","estimated_min_receive_usd","output_symbol","estimated_time_seconds","assetfare_fee_bps","fee_modeled_bps","fee_collectible_now","fee_collection_steps","fee_collection"],"type":"object"},"quote_id":{"format":"uuid","type":"string"},"risk":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"}},"required":["server_signing","server_submission"],"type":"object"},"route":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"steps":{"items":{"additionalProperties":{},"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["steps","server_signing","server_submission"],"type":"object"},"status":{"const":"capped_public_agent_release","type":"string"},"ttl_seconds":{"exclusiveMinimum":0,"maximum":60,"type":"integer"}},"required":["quote_id","status","as_of","ttl_seconds","intent","offer","cost_summary","eta","route","risk","execution","caller_action_plan_handoff"],"type":"object"}Create one caller-approved,receipt-drivenv2workflowsessionand return its current unsigned action.Use for multi-step execution after a fresh available quote; for a one-shot preview/manual first action use assetfare_v2_prepare instead, and never start both modes for one transfer.Example:Requirespass a locally generatedsession capability token, exact256-bitpublic-walletbase64urlmapsession_token,idempotencypublickeywallets, andon Solana-CCTP routes an event signer public key.idempotency_key='create-0001'.MakesUseafornetworkmulti-steprequestexecution,andnevercreatesalongsidesessionone-shotstate,prepare;butAssetFare never signs or submits.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"current_action":{"anyOf":[{"additionalProperties":true,"properties":{"action_id":{"format":"uuid","type":"string"},"expires_at":{"minLength":1,"type":"string"},"payload_sha256":{"description":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"const":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"signed":{"const":false,"type":"boolean"},"step_index":{"minimum":0,"type":"integer"},"submitted":{"const":false,"type":"boolean"},"unsigned_action":{"additionalProperties":{},"type":"object"},"version":{"const":"assetfare-direct-multichain-action-v2","type":"string"},"workflow_id":{"format":"uuid","type":"string"}},"required":["version","workflow_id","action_id","step_index","expires_at","unsigned_action","payload_sha256","payload_sha256_spec","server_signing","server_submission","signed","submitted"],"type":"object"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false,"type":"boolean"},"status":{"minLength":1,"type":"string"},"submitted":{"const":false,"type":"boolean"}},"required":["session_id","status","action_available","current_action","server_signing","server_submission","signed","submitted"],"type":"object"}Reada v2 session's current workflow state and unsigned action using its caller-owned capability token. Use to resume or inspectan existing v2session; doworkflownotandusecurrentlegacyunsignedassetfare_read_sessionactionorwithoutuseadvancingthisit.callExample:topassreporttheasession_idnewandreceipt.itsRead-onlycaller-ownedandsession_tokenmakesafter anetworkrestart.request;Read-only; neveradvances the workflow,signs,or submits.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"current_action":{"anyOf":[{"additionalProperties":true,"properties":{"action_id":{"format":"uuid","type":"string"},"expires_at":{"minLength":1,"type":"string"},"payload_sha256":{"description":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"const":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"signed":{"const":false,"type":"boolean"},"step_index":{"minimum":0,"type":"integer"},"submitted":{"const":false,"type":"boolean"},"unsigned_action":{"additionalProperties":{},"type":"object"},"version":{"const":"assetfare-direct-multichain-action-v2","type":"string"},"workflow_id":{"format":"uuid","type":"string"}},"required":["version","workflow_id","action_id","step_index","expires_at","unsigned_action","payload_sha256","payload_sha256_spec","server_signing","server_submission","signed","submitted"],"type":"object"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false,"type":"boolean"},"status":{"minLength":1,"type":"string"},"submitted":{"const":false,"type":"boolean"}},"required":["session_id","status","action_available","current_action","server_signing","server_submission","signed","submitted"],"type":"object"}Record an already-produced bridge or destination outputfor an existing v2 session,andthen advanceits server-side workflow state. Use only afterthecaller or provider produced the expected output; use assetfare_v2_session_get for read-only inspection and assetfare_v2_session_observe_source for source hashes. Requires the session capability and anworkflow.idempotencyExample:key;transaction_hash='<caller-or-provider-output-hash>'makeswithaidempotency_key='output-0001'.networkAssetFarerequestobserves but never signs or submits.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"current_action":{"anyOf":[{"additionalProperties":true,"properties":{"action_id":{"format":"uuid","type":"string"},"expires_at":{"minLength":1,"type":"string"},"payload_sha256":{"description":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"const":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"signed":{"const":false,"type":"boolean"},"step_index":{"minimum":0,"type":"integer"},"submitted":{"const":false,"type":"boolean"},"unsigned_action":{"additionalProperties":{},"type":"object"},"version":{"const":"assetfare-direct-multichain-action-v2","type":"string"},"workflow_id":{"format":"uuid","type":"string"}},"required":["version","workflow_id","action_id","step_index","expires_at","unsigned_action","payload_sha256","payload_sha256_spec","server_signing","server_submission","signed","submitted"],"type":"object"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false,"type":"boolean"},"status":{"minLength":1,"type":"string"},"submitted":{"const":false,"type":"boolean"}},"required":["session_id","status","action_available","current_action","server_signing","server_submission","signed","submitted"],"type":"object"}Recordalready-submittedsourcetransactionhashesfor an existing v2 session and advance its server-side workflow state. Use only afterthe callerindependently submitted the current source action; use assetfare_v2_session_get for inspection withoutalreadyadvancementsigned andneversubmitted,passthenunsignedadvanceortheunsubmittedworkflow.hashes.Example:Requirestransaction_hashes=['<finalized-source-hash>']thewithsessionidempotency_key='source-0001'.capabilityNeverandpass anidempotency key; makesunsignedahash;networkAssetFarerequestobserves but never signs or submits.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"current_action":{"anyOf":[{"additionalProperties":true,"properties":{"action_id":{"format":"uuid","type":"string"},"expires_at":{"minLength":1,"type":"string"},"payload_sha256":{"description":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"const":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"signed":{"const":false,"type":"boolean"},"step_index":{"minimum":0,"type":"integer"},"submitted":{"const":false,"type":"boolean"},"unsigned_action":{"additionalProperties":{},"type":"object"},"version":{"const":"assetfare-direct-multichain-action-v2","type":"string"},"workflow_id":{"format":"uuid","type":"string"}},"required":["version","workflow_id","action_id","step_index","expires_at","unsigned_action","payload_sha256","payload_sha256_spec","server_signing","server_submission","signed","submitted"],"type":"object"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false,"type":"boolean"},"status":{"minLength":1,"type":"string"},"submitted":{"const":false,"type":"boolean"}},"required":["session_id","status","action_available","current_action","server_signing","server_submission","signed","submitted"],"type":"object"}ReplaceRefresh an expired,still-unsubmitted unsignedactionin an existing v2 session with a fresh quote-bound action. Useonlybefore the caller submits thewhileexpireditaction;remainsuseunsubmitted.assetfare_v2_session_getExample:whenpass thecurrent action is still valid and never refresh an already-submitted step. Requires theexistingsessionsession_id,capabilitysession_token, andanidempotency_key='refresh-0001'.idempotencyNeverkey;refreshadvancesasessionsubmittedstatestep;butAssetFare never signs or submits.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"current_action":{"anyOf":[{"additionalProperties":true,"properties":{"action_id":{"format":"uuid","type":"string"},"expires_at":{"minLength":1,"type":"string"},"payload_sha256":{"description":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"const":"sha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)","type":"string"},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"signed":{"const":false,"type":"boolean"},"step_index":{"minimum":0,"type":"integer"},"submitted":{"const":false,"type":"boolean"},"unsigned_action":{"additionalProperties":{},"type":"object"},"version":{"const":"assetfare-direct-multichain-action-v2","type":"string"},"workflow_id":{"format":"uuid","type":"string"}},"required":["version","workflow_id","action_id","step_index","expires_at","unsigned_action","payload_sha256","payload_sha256_spec","server_signing","server_submission","signed","submitted"],"type":"object"},{"type":"null"}]},"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false,"type":"boolean"},"status":{"minLength":1,"type":"string"},"submitted":{"const":false,"type":"boolean"}},"required":["session_id","status","action_available","current_action","server_signing","server_submission","signed","submitted"],"type":"object"}Lock one fresh legacy assetfare_quote into a wallet-bound v1 execution session. Use only after legacy wallet authentication for the original Solana-SOL-to-Base/Arbitrum-ETH workflow; for a v2 quote use assetfare_v2_session_create instead. Makes a network request and reserves the caller's one active legacy session slot, but creates no blockchain transaction and never signs or submits.
Verify the caller's signature over the exact legacy login challenge and return a sensitive wallet-bound access token. Use only after assetfare_start_wallet_auth; do not use for a v2 session, transaction signature, or arbitrary message. Makes a network request and consumes login-challenge state, but never signs or submits.
Verify Circle attestation and the forwarded Base or Arbitrum USDC mint for a caller-submitted legacy v1 burn, then advance the session record. Use only after the CCTP burn is submitted; use assetfare_read_session for inspection without advancement and a v2 session observe tool for v2 routes. Makes a network request but never signs or submits.
Verify an already-submitted destination UserOperation receipt and finalize the legacy v1 workflow record. Use only after the caller independently submits assetfare_prepare_destination_action; for v2 output observation use assetfare_v2_session_observe_output instead. Makes a network request and advances session state, but never signs or submits.
Prepare the unsigned CCTP burn for the current legacy v1 session using a caller-owned event signer public key. Use only when the legacy workflow reports this as the next action; for v2 routes use assetfare_v2_prepare or assetfare_v2_session_create instead. Requires caller approval and advances preparation state, but never receives the event signer private key, signs, or submits.
Prepare the exact-cap permit and unsigned ERC-4337 destination settlement plan for the current legacy v1 session. Use only when the legacy workflow reports the destination step and after caller approval; v2 sessions expose their current action through assetfare_v2_session_get. Makes a network request and advances preparation state, but never signs or submits.
Prepare the bounded unsigned Solana source action for the current legacy v1 session step. Use only after assetfare_create_session and explicit caller approval; for a v2 route use assetfare_v2_prepare or assetfare_v2_session_create instead. Makes a network request and advances preparation state, but never signs or submits.
Legacy v1 original-corridor quote: get Solana SOL to Base or Arbitrum ETH pricing. Use only with the unversioned legacy wallet-auth/session tools; for every new or six-chain evaluation use assetfare_v2_quote instead. Read-only; makes a network request and never authenticates, creates a session, prepares an action, signs, or submits.
Read a legacy v1 session summary, workflow state, receipt, or current unsigned action. Use to inspect or resume a session created by assetfare_create_session; for a v2 session use assetfare_v2_session_get instead and do not use this call to advance state. Read-only and makes a network request; never signs or submits.
Create a short-lived, non-transactional Solana signMessage challenge for the legacy v1 workflow. Use only after selecting a fresh legacy assetfare_quote and obtaining caller approval; v2 quote and session tools do not use wallet authentication. Makes a network request and creates login-challenge state, but cannot move funds, sign, or submit.
Read legacy v1 compatibility status and original-corridor safety gates. Use only before the unversioned Solana-SOL-to-Base/Arbitrum-ETH workflow; for every six-chain v2 route use assetfare_v2_capabilities instead. Read-only; makes a network request and never authenticates, signs, submits, or advances a session.
Verify a finalized Solana source signature already submitted by the caller and advance the legacy v1 workflow. Use only after the caller independently submits assetfare_prepare_source_action; for a v2 session use assetfare_v2_session_observe_source instead. Requires caller approval and makes a network request, but never signs or submits.
⟨167 unchanged words⟩ string"},"session_token":{"description":"Sensitivecaller-ownedcaller-generated v2 session capability:fromatassetfare_v2_new_session_capability,least 32 CSPRNG bytes encoded as 43-128 URL-safecharacters.base64Nevercharacters.logGenerate it,andlocally; never log it or substitute a private key or legacy access token. ⟨135 unchanged words⟩
⟨30 unchanged words⟩ string"},"session_token":{"description":"Sensitivecaller-ownedcaller-generated v2 session capability:fromatassetfare_v2_new_session_capability,least 32 CSPRNG bytes encoded as 43-128 URL-safecharacters.base64Nevercharacters.logGenerate it,andlocally; never log it or substitute a private key or legacy access token. ⟨13 unchanged words⟩
⟨60 unchanged words⟩ string"},"session_token":{"description":"Sensitivecaller-ownedcaller-generated v2 session capability:fromatassetfare_v2_new_session_capability,least 32 CSPRNG bytes encoded as 43-128 URL-safecharacters.base64Nevercharacters.logGenerate it,andlocally; never log it or substitute a private key or legacy access token. ⟨44 unchanged words⟩
⟨60 unchanged words⟩ string"},"session_token":{"description":"Sensitivecaller-ownedcaller-generated v2 session capability:fromatassetfare_v2_new_session_capability,least 32 CSPRNG bytes encoded as 43-128 URL-safecharacters.base64Nevercharacters.logGenerate it,andlocally; never log it or substitute a private key or legacy access token. ⟨51 unchanged words⟩
⟨60 unchanged words⟩ string"},"session_token":{"description":"Sensitivecaller-ownedcaller-generated v2 session capability:fromatassetfare_v2_new_session_capability,least 32 CSPRNG bytes encoded as 43-128 URL-safecharacters.base64Nevercharacters.logGenerate it,andlocally; never log it or substitute a private key or legacy access token. ⟨14 unchanged words⟩
Generate one caller-owned 256-bit session capability for the receipt-driven v2 workflow. Use immediately before assetfare_v2_session_create and reuse it only for that session's get/observe/refresh calls; do not use it with legacy tools or create one for the one-shot assetfare_v2_prepare path. Local-only and non-idempotent: makes no network call or server-side change. The token is a sensitive bearer capability, never a private key.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"access_token":{"description":"Sensitive legacy v1 wallet-bound bearer token returned by assetfare_finish_wallet_auth. Use only with unversioned legacy session tools; never log or use it as a v2 session capability.","maxLength":512,"minLength":20,"type":"string"},"destination_wallet":{"description":"Caller-owned Base or Arbitrum EVM destination address as 0x plus 40 hex characters. Public address only; never provide a private key.","pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"quote_id":{"description":"Fresh legacy v1 quote UUID returned by assetfare_quote. A v2 quote ID is invalid here.","format":"uuid","type":"string"},"source_wallet":{"description":"Caller-owned Solana public wallet address for the legacy v1 source. Public address only; never provide a seed phrase or private key.","maxLength":64,"minLength":32,"type": ⟨9 unchanged words⟩
Verifyathewalletcaller's signature over the exactchallengelegacymessagelogin challenge and return a sensitive wallet-bound access token.RequiresUsecalleronlyapproval;aftertheassetfare_start_wallet_auth;returneddotokennotisusesensitive.for a v2 session, transaction signature, or arbitrary message. Makes a network request and consumes login-challenge state, but never signs or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"challenge_id":{"description":"Short-lived legacy wallet-login challenge UUID returned by assetfare_start_wallet_auth.","format":"uuid","type":"string"},"signature":{"description":"Caller-produced Solana signature for the exact indicated legacy message or transaction. Never provide a seed phrase, private key, or signed transaction payload.","maxLength":128,"minLength":64,"type":"string"},"source_wallet":{"description":"Caller-owned Solana public wallet address for the legacy v1 source. Public address only; never provide a seed phrase or private key.","maxLength":64,"minLength":32,"type":"string"},"terms_version":{"description":"Exact terms version supplied in the legacy wallet-login challenge; copy it unchanged from that challenge.","maxLength":160,"minLength":1,"type": ⟨8 unchanged words⟩
Verify Circle attestation and the forwarded Base or Arbitrum USDC mint foran already-submittedaburn.caller-submittedRead-onlylegacyonv1chainburn,butthenadvancesadvance the session record. Use only after the CCTP burn is submitted; use assetfare_read_session for inspection without advancement and a v2 session observe tool for v2 routes. Makes a network request but never signs or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"access_token":{"description":"Sensitive legacy v1 wallet-bound bearer token returned by assetfare_finish_wallet_auth. Use only with unversioned legacy session tools; never log or use it as a v2 session capability.","maxLength":512,"minLength":20,"type":"string"},"burn_signature":{"description":"Finalized Solana burn signature already submitted by the caller for this legacy CCTP step.","maxLength":128,"minLength":64,"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"Legacy v1 session UUID returned by assetfare_create_session. Use only with the unversioned legacy workflow; do not pass a v2 session ID.","format":"uuid","type":"string"} ⟨7 unchanged words⟩
Verify an already-submitted destination UserOperation receipt and finalize theworkflow.legacyRequiresv1callerworkflowapproval;record.itUseneveronly after the caller independently submits assetfare_prepare_destination_action; for v2 output observation use assetfare_v2_session_observe_output instead. Makes atransaction.network request and advances session state, but never signs or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"access_token":{"description":"Sensitive legacy v1 wallet-bound bearer token returned by assetfare_finish_wallet_auth. Use only with unversioned legacy session tools; never log or use it as a v2 session capability.","maxLength":512,"minLength":20,"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"Legacy v1 session UUID returned by assetfare_create_session. Use only with the unversioned legacy workflow; do not pass a v2 session ID.","format":"uuid","type":"string"},"transaction_hash":{"description":"Destination EVM transaction hash already submitted by the caller, formatted as 0x plus 64 hex characters.","pattern":"^0x[0-9a-fA-F]{64}$"," ⟨9 unchanged words⟩
Prepareanthe unsigned CCTP burnactionfor the current legacy v1 session using acaller-generatedcaller-owned event signer public key. Use only when the legacy workflow reports this as the next action; for v2 routes use assetfare_v2_prepare or assetfare_v2_session_create instead. Requires callerapproval;approvalitand advances preparation state, but never receives the event signer private key, signs, or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"access_token":{"description":"Sensitive legacy v1 wallet-bound bearer token returned by assetfare_finish_wallet_auth. Use only with unversioned legacy session tools; never log or use it as a v2 session capability.","maxLength":512,"minLength":20,"type":"string"},"event_signer_public":{"description":"Fresh caller-generated ephemeral Solana event signer public key for the legacy CCTP burn. Keep the matching private key client-side; never send it.","maxLength":64,"minLength":32,"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"Legacy v1 session UUID returned by assetfare_create_session. Use only with the unversioned legacy workflow; do not pass a v2 session ID.","format":"uuid","type":"string"} ⟨7 unchanged words⟩
Prepare the exact-cap permit and unsigned ERC-4337 destination settlementplan.planRequiresfor the current legacy v1 session. Use only when the legacy workflow reports the destination step and after caller approval;itv2 sessions expose their current action through assetfare_v2_session_get. Makes a network request and advances preparation state, but never signs or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"access_token":{"description":"Sensitive legacy v1 wallet-bound bearer token returned by assetfare_finish_wallet_auth. Use only with unversioned legacy session tools; never log or use it as a v2 session capability.","maxLength":512,"minLength":20,"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"Legacy v1 session UUID returned by assetfare_create_session. Use only with the unversioned legacy workflow; do not pass a v2 session ID.","format":"uuid","type":"string"} ⟨6 unchanged words⟩
Prepareathe bounded unsigned Solana sourceaction.actionRequiresfor the current legacy v1 session step. Use only after assetfare_create_session and explicit caller approval;itfor a v2 route use assetfare_v2_prepare or assetfare_v2_session_create instead. Makes a network request and advances preparation state, but never signs or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"access_token":{"description":"Sensitive legacy v1 wallet-bound bearer token returned by assetfare_finish_wallet_auth. Use only with unversioned legacy session tools; never log or use it as a v2 session capability.","maxLength":512,"minLength":20,"type":"string"},"session_id":{"description":"Legacy v1 session UUID returned by assetfare_create_session. Use only with the unversioned legacy workflow; do not pass a v2 session ID.","format":"uuid","type":"string"} ⟨5 unchanged words⟩
Legacy v1 original-corridor quote:forget Solana SOL to Base or ArbitrumETH.ETH pricing. Use only with the unversioned legacy wallet-auth/sessionworkflow;tools;preferfor every new or six-chain evaluation use assetfare_v2_quoteforinstead.newRead-only;evaluations.makes a network request and never authenticates, creates a session, prepares an action, signs, or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"amount_usd":{"maximumdescription":1000"Whole-dollar input value for the legacy Solana SOL route, minimum 1. Use assetfare_v2_quote for fractional amounts or any v2 route.","minimum":1,"type":"integer"},"destination_chain":{"default":"base","description":"Legacy destination chain for SOL-to-ETH only: base or arbitrum. Use a v2 route tool for any other destination or token.","enum":["base","arbitrum"], ⟨6 unchanged words⟩
Read awallet-boundlegacy v1 session summary, workflow state, receipt, or current unsigned action.Read-only.Use to inspect or resume a session created by assetfare_create_session; for a v2 session use assetfare_v2_session_get instead and do not use this call to advance state. Read-only and makes a network request; never signs or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"access_token":{"description":"Sensitive legacy v1 wallet-bound bearer token returned by assetfare_finish_wallet_auth. Use only with unversioned legacy session tools; never log or use it as a v2 session capability.","maxLength":512,"minLength":20,"type":"string"},"session_id":{"description":"Legacy v1 session UUID returned by assetfare_create_session. Use only with the unversioned legacy workflow; do not pass a v2 session ID.","format":"uuid","type":"string"},"view":{"default":"session","description":"Legacy read projection: session summary, workflow state, receipt, or next_action. This selection never advances the workflow.","enum":["session","workflow"," ⟨9 unchanged words⟩
Create a short-lived, non-transactional Solana signMessagechallenge.challengeRequiresfor the legacy v1 workflow. Use only after selecting a fresh legacy assetfare_quote and obtaining callerapprovalapproval;becausev2itquotecreatesand session tools do not use wallet authentication. Makes ashort-livednetworkloginrequestchallenge;anditcreates login-challenge state, but cannot movefunds.funds, sign, or submit.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"source_wallet":{"description":"Caller-owned Solana public wallet address for the legacy v1 source. Public address only; never provide a seed phrase or private key.","maxLength":64,"minLength":32,"type":" ⟨5 unchanged words⟩
Read legacy v1 compatibility status and original-corridor safety gates. Useassetfare_v2_capabilitiesonlyforbefore theprimaryunversioned Solana-SOL-to-Base/Arbitrum-ETH workflow; for every six-chainsourcev2quoteroute use assetfare_v2_capabilities instead. Read-only; makes a network request andexecutionneversurface.authenticates, signs, submits, or advances a session.
Non-custodial cross-chainReadbridgecurrentandnon-custodialswapbridge/swap capabilities: Solana,SOLroutetoavailability,BasefeeUSDCpolicy, and75theotherno-sign/no-submit boundary for 76 routes across six chains and elevensourceendpoints.endpoints,UsewithbeforePolygon/Optimismassetfare_v2_quotenative-USDCforsource-onlyaroutes.newReadv2liveevaluation;availability,dothenotfeeusemodellegacy(AssetFareassetfare_statusservicetofeedecide1bp;v2Circle/provider/networkavailability.feesRead-only;additional),makes a network request andthecreatesno-sign/no-submitnoboundarywalletbeforelogin,quoting.session, or action.
Local-only: generateGenerate one caller-ownedhigh-entropy256-bit session capabilitytokenfor(>=256-bittheCSPRNG,receipt-drivenurl-safe,v243-128workflow.chars).UseMakesimmediatelyNObeforenetworkassetfare_v2_session_createcall.andStorereuse itasonlyaforSENSITIVEthatcapabilitysession's(neverget/observe/refreshacalls;privatedokey);notpassuse itintowithassetfare_v2_session_createlegacy tools or create one for the one-shot assetfare_v2_prepare path. Local-only andeverynon-idempotent:sessionmakesread/observe/refresh.no network call or server-side change. The token is a sensitive bearer capability, never a private key.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"is_private_key":{"const":false,"description":"Always false: this capability is not a wallet private key and cannot sign transactions.","type":"boolean"},"sensitivity":{"const":"sensitive_capability","description":"Classification showing that the token is a sensitive bearer capability.","type":"string"},"server_signing":{"const":false,"description":"Always false: AssetFare never signs caller transactions.","type":"boolean"},"server_submission":{"const":false,"description":"Always false: AssetFare never submits caller transactions.","type":"boolean"},"session_token":{"description":"New 256-bit, URL-safe caller-owned bearer capability. Treat as sensitive and never log, share, or persist it in plaintext.","pattern":"^[A-Za-z0-9_-]{43}$","type":"string"},"token_bits":{"const":256,"description":"Entropy size of the generated CSPRNG token in bits.","type":"number"},"token_length":{"const":43,"description":"Length of the unpadded base64url token in characters.","type":"number"},"usage":{"description":"Handling and tool-use instructions for the capability.","minLength":1,"type":"string"}},"required":["session_token","token_bits","token_length","sensitivity","is_private_key","usage","server_signing","server_submission"],"type":"object"}ExplicitPrepare one caller-approved, one-shot:POSTfirst/v2/prepareunsigned action for a v2 routethethatlivea fresh quote reports available.Solana-CCTPUseroutesforrequirepreviewevent_signer_public:orgeneratemanual first-action handling; for afreshreceipt-drivenephemeralmulti-stepSolanaworkflowkeypairuselocallyassetfare_v2_new_session_capability then assetfare_v2_session_create instead,passandonlyneveritscallpublicbothkey,modeskeepforitsoneprivatetransfer.keySolana-CCTPclient-side,routesandrequireco-signonlytheareturnedfreshunsignedcaller-ownedevent-accounteventtransaction.signerNeverpublicauto-called;key. Makes a network request and prepares an action, but AssetFare never receives private keys, signs, or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"amount_usd":{"maximumdescription":1000"Requested input value in USD, minimum 1. Obtain a fresh quote because availability, fees, and receive amounts can change.","minimum":1,"type":"number"},"caller_approved":{"const":true,"description":"Explicit confirmation that the caller approved this state-changing preparation or session creation. A quote alone is not approval.","type":"boolean"},"event_signer_public":{"$ref" ⟨26 unchanged words⟩ send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum", ⟨3 unchanged words⟩ ,"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC", ⟨2 unchanged words⟩ "string"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","
Get one freshAssetFareread-onlycross-chainAssetFare bridge/swap quote foranyaofselected76v2routesroute, includingSolana SOL tototalBasetoken-pathUSDCcost,Solana USDC to BaseliveUSDCavailability, andOptimismanUSDCunsigned-actiontohandoff.BaseUseUSDC.forAssetFareeveryservicenewfeesix-chain1bp;evaluationCircle/provider/networkafterfeesassetfare_v2_capabilities;additional;usejudgelegacytheassetfare_quoterouteonlybyfor thequote'sunversionedtotalSolana-SOL-to-Base/Arbitrum-ETHtoken-pathworkflow.costAssetFareandchargeslive1bpavailability,plusnotCircle/provider/networkthefees.1bpThisalone.callReturnsmakes acaller-approvednetworkunsigned-actionrequesthandoff;but neversigns, submits,authenticates, creates a session,orprepares an actionfrom,thesigns,quoteorcall.submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"amount_usd":{"maximumdescription":1000"Requested input value in USD, minimum 1. Obtain a fresh quote because availability, fees, and receive amounts can change.","minimum":1,"type":"number"},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum", ⟨3 unchanged words⟩ ,"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC" ⟨11 unchanged words⟩
ExplicitCreate one caller-approved, receipt-driven/v2/sessionv2create.workflowSolana-CCTPsessionroutesandrequirereturnevent_signer_publicitsfromcurrent unsigned action. Use for multi-step execution after a freshcaller-generatedavailableephemeralquote;keypair;foronlyaitsone-shotpublicpreview/manualkeyfirstisactionsentuse assetfare_v2_prepare instead, andtheneverprivatestartkeybothstaysmodesclient-side.forAlsoonerequirestransfer. Requires acaller-generatedlocally generated session capability token, exact public-wallet map, idempotency key, andexacton Solana-CCTP routes an event signer publicwalletkey.map.MakesNeveraauto-chainsnetwork request and creates session state, but never signs,or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"amount_usd":{"maximumdescription":1000"Requested input value in USD, minimum 1. Obtain a fresh quote because availability, fees, and receive amounts can change.","minimum":1,"type":"number"},"caller_approved":{"const":true,"description":"Explicit confirmation that the caller approved this state-changing preparation or session creation. A quote alone is not approval.","type":"boolean"},"event_signer_public":{"$ref" ⟨26 unchanged words⟩ send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum", ⟨3 unchanged words⟩ ,"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-owned v2 session capability from assetfare_v2_new_session_capability, 43-128 URL-safe characters. Never log it, and never substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","
Read a v2 session's current workflow state andcurrentunsignedaction. Requiresactiontheusingcaller'sitssessioncaller-owned capability token.Read-only;Use to resume or inspect an existing v2 session; do not use legacy assetfare_read_session or use this call to report a new receipt. Read-only and makes a network request; never advances the workflow, signs, or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-owned v2 session capability from assetfare_v2_new_session_capability, 43-128 URL-safe characters. Never log it, and never substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$" ⟨7 unchanged words⟩
Observe theRecordcaller'san already-producedbridge/destinationbridge or destination output foraan existing v2 session and advance its server-side workflow state. Use only after theworkflow.callerRequiresor provider produced thecaller'sexpected output; use assetfare_v2_session_get for read-only inspection and assetfare_v2_session_observe_source for source hashes. Requires the session capabilitytoken.andNeveransubmitsidempotency key; makes atransaction.network request but never signs or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-owned v2 session capability from assetfare_v2_new_session_capability, 43-128 URL-safe characters. Never log it, and never substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"transaction_hash":{"description":"Optional bridge or destination transaction hash already produced outside AssetFare. Omit only when the provider output can be observed without a hash.","maxLength":128,"minLength":16,"type": ⟨7 unchanged words⟩
Observe the caller'sRecord already-submitted source transaction hashes foraan existing v2 session and advance its server-side workflow state. Use only after theworkflow.callerRequiresindependently submitted thecaller'scurrent source action; use assetfare_v2_session_get for inspection without advancement and never pass unsigned or unsubmitted hashes. Requires the session capabilitytoken.andNeveransubmitsidempotency key; makes atransaction.network request but never signs or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-owned v2 session capability from assetfare_v2_new_session_capability, 43-128 URL-safe characters. Never log it, and never substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"transaction_hashes":{"description":"One to eight hashes for source transactions the caller already signed and submitted. Do not provide unsigned payloads or destination hashes.","items":{"maxLength":128,"minLength":16 ⟨15 unchanged words⟩
Replace an expired,unsubmittedstill-unsubmitted unsigned action in an existing v2 sessionactionwith a fresh quote-boundunsignedaction.RequiresUse only before thecaller'scaller submits the expired action; use assetfare_v2_session_get when the current action is still valid and never refresh an already-submitted step. Requires the session capabilitytoken.andNeveran idempotency key; advances session state but never signs or submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID.","format":"uuid","type":"string"},"session_token":{"description":"Sensitive caller-owned v2 session capability from assetfare_v2_new_session_capability, 43-128 URL-safe characters. Never log it, and never substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$" ⟨8 unchanged words⟩
Verify acaller-submittedfinalized Solana source signature already submitted by the caller and advance the legacy v1 workflow. Use only after the caller independently submits assetfare_prepare_source_action; for a v2 session use assetfare_v2_session_observe_source instead. Requires callerapproval;approvalitand makes a network request, but neversubmitssignsaortransaction.submits.
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"access_token":{"description":"Sensitive legacy v1 wallet-bound bearer token returned by assetfare_finish_wallet_auth. Use only with unversioned legacy session tools; never log or use it as a v2 session capability.","maxLength":512,"minLength":20,"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation.","maxLength":128,"minLength":8,"type":"string"},"session_id":{"description":"Legacy v1 session UUID returned by assetfare_create_session. Use only with the unversioned legacy workflow; do not pass a v2 session ID.","format":"uuid","type":"string"},"signature":{"description":"Caller-produced Solana signature for the exact indicated legacy message or transaction. Never provide a seed phrase, private key, or signed transaction payload.","maxLength":128,"minLength":64,"type": ⟨8 unchanged words⟩
Explicit caller-approved one-shot: POSTthe fixed-origin/v2/prepareto obtainfortheafreshroutere-quotedtheboundedliveFIRSTquoteunsignedreportsactionavailable.bundleSolana-CCTPforroutesanyrequireofevent_signer_public:thegenerate76aexecution-readyfreshroutes.ephemeralRequiresSolanacaller_approved:truekeypairandlocally,thepassroute'sonlyexactits publicwalletkey,map.keepNeveritsauto-calledprivatefromkeyaclient-side,quote;andrejectsco-signanytheprivatereturnedkey/seed/signedunsigned event-account transaction. Never auto-called; AssetFare never signs or submits.
⟨17 unchanged words⟩ boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"enum":["solana", ⟨55 unchanged words⟩
Get one fresh AssetFare cross-chain bridge/swap quote for any of 76execution-readyroutes, including Solana SOL to Base USDC, Solana USDC to Base USDC, and Optimism USDC to Base USDC.FlatAssetFare1bp.service fee 1bp; Circle/provider/network fees additional; judge the route by the quote's total token-path cost and live availability, not the 1bp alone. Returns a caller-approved unsigned-action handoff; never signs, ⟨13 unchanged words⟩
Explicit caller-approved:createreceipt-drivenone/v2/sessionidempotentcreate.receipt-drivenSolana-CCTP/v2/sessionroutesforrequireanevent_signer_publicexecution-readyfromrouteaandfreshreturncaller-generated ephemeral keypair; only itsfirstpublicunsignedkeyaction.isRequiressentcaller_approved:true,and the private key stays client-side. Also requires a caller-generated session capability token(X-AssetFare-Session-Token),andthe route'sexact public wallet map. Never auto-chains, signs, or submits.
⟨17 unchanged words⟩ boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"enum":["solana", ⟨73 unchanged words⟩
PrimaryGetcurrentonequote-onlyfreshtool.AssetFareReturnquoteoneforfreshanynon-bindingofquote76acrossexecution-readySolanaroutes, including Solana SOL to Base,ArbitrumUSDC,RobinhoodSolanaChain,USDCortoPolygon/OptimismBasenative-USDCUSDC,sourceandroutesOptimism USDC toBase/Arbitrum,BasepassUSDC.throughFlatthe1bp.callerReturnsaction-planahandoff,caller-approvedandunsigned-actionstophandoff;beforeneverauthenticationsigns,sessionsubmits,creationauthenticates,actioncreatespreparation,asigningsession, orsubmission.prepares an action from the quote call.
⟨10 unchanged words⟩ fresh re-quoted bounded FIRST unsigned action bundle forananyexecution-readyoffour-chaintheroute.76 execution-ready routes. Requires caller_approved:true and the route's exact public wallet map. Never auto-called from a quote; rejectssource-only Phase-B routes andany private key/seed/signed transaction. AssetFare never signs or submits.
Primary currentfour-chainquote-only tool. Return one fresh non-binding quote across Solana, Base, Arbitrum,orRobinhood Chain, or Polygon/Optimism native-USDC source routes to Base/Arbitrum, pass through the caller action-plan handoff, and stop before authentication, session creation, action ⟨4 unchanged words⟩
⟨15 unchanged words⟩ ["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{ ⟨31 unchanged words⟩
Local-only: generate one caller-owned high-entropy session capability token (>=256-bit CSPRNG, url-safe, 43-128 chars). Makes NO network call. Store it as a SENSITIVE capability (never a private key); pass it into assetfare_v2_session_create and every session read/observe/refresh.
Explicit caller-approved one-shot: POST the fixed-origin /v2/prepare to obtain the fresh re-quoted bounded FIRST unsigned action bundle for an execution-ready four-chain route. Requires caller_approved:true and the route's exact public wallet map. Never auto-called from a quote; rejects source-only Phase-B routes and any private key/seed/signed transaction. AssetFare never signs or submits.
Explicit caller-approved: create one idempotent receipt-driven /v2/session for an execution-ready route and return its first unsigned action. Requires caller_approved:true, a caller-generated session capability token (X-AssetFare-Session-Token), and the route's exact public wallet map. Never auto-chains, signs, or submits.
Read a v2 session's current workflow state and current unsigned action. Requires the caller's session capability token. Read-only; never signs or submits.
Observe the caller's already-produced bridge/destination output for a v2 session and advance the workflow. Requires the caller's session capability token. Never submits a transaction.
Observe the caller's already-submitted source transaction hashes for a v2 session and advance the workflow. Requires the caller's session capability token. Never submits a transaction.
Replace an expired unsubmitted v2 session action with a fresh quote-bound unsigned action. Requires the caller's session capability token. Never signs or submits.
Readcurrent capabilities,legacycaps,v1pausecompatibilitystate,status andindependentoriginal-corridorRPCsafetyquorum.gates. Use assetfare_v2_capabilities for the primary four-chain quote surface.
Primary current four-chain discovery tool. Read the live nine asset endpoints, 72 directed routes, release status, and no-sign/no-submit boundary before a v2 quote.
Primary current four-chain quote-only tool. Return one fresh non-binding quote across Solana, Base, Arbitrum, or Robinhood Chain and stop before authentication, session creation, action preparation, signing, or submission.
after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"as_of":{"maxLength":64,"minLength":1,"type":"string"},"caller_action_plan_handoff":{"additionalProperties":true,"properties":{},"type":"object"},"continuation_v3":{"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","ethereum","hyperevm","optimism","polygon","robinhood","sei","solana","sonic","xlayer"],"type":"string"},"maxItems":11,"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":11,"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"},"cost_summary":{"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"},"direct_route_summary":{"additionalProperties":false,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"classification":{"enum":["direct_protocol_only","external_intent"],"type":"string"},"economic_eligibility":{"enum":["not_asserted_by_capability","coverage_only_not_primary"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"mode":{"enum":["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"],"type":"string"},"primary_selection_eligible":{"type":"boolean"},"product_classification":{"enum":["primary_direct","external_coverage_only"],"type":"string"},"provider_internal_dex_aggregation_possible":{"type":"boolean"},"public_execution_eligible":{"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","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"],"type":"string"},"route_aggregator_used":{"const":false,"type":"boolean"},"route_minimum_guard_bps":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}]},"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","receive"],"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","ethereum:USDC","hyperevm:USDC","xlayer:USDC","sei:USDC","sonic:USDC"],"type":"string"},"index":{"maximum":7,"minimum":0,"type":"integer"},"minimum_guard_bps":{"maximum":500,"minimum":1,"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","circle_cctp_receive","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"},"economic_guidance":{"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":{"const":"paired_all_in_snapshot","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_unique_availability"],"type":"string"},"public_active":{"const":true,"type":"boolean"},"recommendation_status":{"enum":["active_price_verified","active_unique_availability"],"type":"string"},"recommended_action":{"enum":["use_assetfare_first_at_or_above_best_from","use_assetfare_when_route_availability_is_required"],"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"}]},"eta":{"additionalProperties":false,"properties":{"complete_route_estimate":{"type":"boolean"},"estimated_time_range_seconds":{"anyOf":[{"items":[{"minimum":0,"type":"integer"},{"exclusiveMinimum":0,"type":"integer"}],"maxItems":2,"minItems":2,"type":"array"},{"type":"null"}]},"estimated_time_seconds":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}]},"note":{"minLength":1,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"}},"required":["estimated_time_seconds","estimated_time_range_seconds","complete_route_estimate","sources","note"],"type":"object"},"execution":{"additionalProperties":true,"properties":{"first_unsigned_action_supported":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["supported","first_unsigned_action_supported"],"type":"object"},"intent":{"additionalProperties":true,"properties":{"amount_usd":{"type":"number"},"estimated_input_base":{"exclusiveMinimum":0,"type":"integer"},"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to","amount_usd","estimated_input_base"],"type":"object"},"offer":{"additionalProperties":true,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"estimated_min_receive_amount":{"exclusiveMinimum":0,"type":"number"},"estimated_min_receive_usd":{"minimum":0,"type":"number"},"estimated_time_seconds":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}]},"expected_receive_amount":{"exclusiveMinimum":0,"type":"number"},"expected_receive_usd":{"minimum":0,"type":"number"},"fee_collectible_now":{"const":true,"type":"boolean"},"fee_collection":{"const":"only_on_eligible_successful_executor_step","type":"string"},"fee_collection_steps":{"items":{"minimum":0,"type":"integer"},"maxItems":1,"minItems":1,"type":"array"},"fee_modeled_bps":{"const":1,"type":"number"},"output_symbol":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["expected_receive_amount","estimated_min_receive_amount","expected_receive_usd","estimated_min_receive_usd","output_symbol","estimated_time_seconds","assetfare_fee_bps","fee_modeled_bps","fee_collectible_now","fee_collection_steps","fee_collection"],"type":"object"},"quote_id":{"format":"uuid","type":"string"},"risk":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"}},"required":["server_signing","server_submission"],"type":"object"},"route":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"steps":{"items":{"additionalProperties":{},"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["steps","server_signing","server_submission"],"type":"object"},"status":{"const":"capped_public_agent_release","type":"string"},"ttl_seconds":{"exclusiveMinimum":0,"maximum":60,"type":"integer"}},"required":["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"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict one-shot approval copied from the exact unexpired selected quote; its bounds may only be strengthened.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"one_shot","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held one-shot context copied from the selected quote, approval and public wallets. It is verified before prepare and never forwarded upstream.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-one-shot-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","verification_context"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount_usd":{"description":"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.","minimum":1,"type":"number"},"approval_v3":{"additionalProperties":false,"description":"Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow.","properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"maximum_input_base":{"pattern":"^[1-9][0-9]*$","type":"string"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"quote_id":{"format":"uuid","type":"string"},"selected_mode":{"const":"session","type":"string"},"selection_status":{"const":"selected","type":"string"},"version":{"const":"assetfare-quote-bound-approval-v3","type":"string"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"caller_approved":{"const":true,"description":"Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding.","type":"boolean"},"event_signer_public":{"$ref":"#/properties/wallets/additionalProperties","description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"from_chain":{"description":"Source chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.","enum":["solana","base","arbitrum","robinhood","polygon","optimism"],"type":"string"},"from_token":{"description":"Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"idempotency_key":{"description":"Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII key pattern.","maxLength":128,"minLength":8,"type":"string"},"session_token":{"description":"Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access token.","pattern":"^[A-Za-z0-9_-]{43,128}$","type":"string"},"to_chain":{"description":"Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.","enum":["solana","base","arbitrum","robinhood"],"type":"string"},"to_token":{"description":"Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.","enum":["SOL","ETH","USDC","USDG"],"type":"string"},"verification_context":{"additionalProperties":false,"description":"Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP session call can return current_action.","properties":{"approval_v3":{"additionalProperties":false,"properties":{"direct_route_summary_sha256":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"idempotency_key":{"$ref":"#/properties/approval_v3/properties/idempotency_key"},"maximum_input_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"minimum_output_base":{"$ref":"#/properties/approval_v3/properties/maximum_input_base"},"quote_fingerprint":{"$ref":"#/properties/approval_v3/properties/quote_fingerprint"},"quote_id":{"$ref":"#/properties/approval_v3/properties/quote_id"},"selected_mode":{"$ref":"#/properties/approval_v3/properties/selected_mode"},"selection_status":{"$ref":"#/properties/approval_v3/properties/selection_status"},"version":{"$ref":"#/properties/approval_v3/properties/version"}},"required":["version","quote_id","quote_fingerprint","selection_status","selected_mode","maximum_input_base","minimum_output_base","direct_route_summary_sha256","idempotency_key"],"type":"object"},"direct_route_summary":{"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"},"event_signer_public":{"anyOf":[{"$ref":"#/properties/event_signer_public"},{"type":"null"}],"description":"Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key."},"intent":{"additionalProperties":false,"properties":{"amount_usd":{"$ref":"#/properties/amount_usd"},"from_chain":{"$ref":"#/properties/from_chain"},"from_token":{"$ref":"#/properties/from_token"},"to_chain":{"$ref":"#/properties/to_chain"},"to_token":{"$ref":"#/properties/to_token"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"},"verification_context_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"version":{"const":"assetfare-session-verification-context-v1","type":"string"},"wallets":{"$ref":"#/properties/wallets"}},"required":["version","intent","wallets","event_signer_public","approval_v3","direct_route_summary","verification_context_sha256"],"type":"object"},"wallets":{"additionalProperties":{"description":"Caller-owned public wallet address: 0x plus 40 hex characters for EVM, or 32-44 base58 characters for Solana. Never provide secret key material.","type":"string"},"description":"Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.","propertyNames":{"enum":["solana","base","arbitrum","robinhood","polygon","optimism"]},"type":"object"}},"required":["caller_approved","from_chain","from_token","to_chain","to_token","amount_usd","wallets","approval_v3","session_token","idempotency_key","verification_context"],"type":"object"}after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"as_of":{"maxLength":64,"minLength":1,"type":"string"},"caller_action_plan_handoff":{"additionalProperties":true,"properties":{},"type":"object"},"continuation_v3":{"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"},"cost_summary":{"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"},"direct_route_summary":{"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"},"eta":{"additionalProperties":false,"properties":{"complete_route_estimate":{"type":"boolean"},"estimated_time_range_seconds":{"anyOf":[{"items":[{"minimum":0,"type":"integer"},{"exclusiveMinimum":0,"type":"integer"}],"maxItems":2,"minItems":2,"type":"array"},{"type":"null"}]},"estimated_time_seconds":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}]},"note":{"minLength":1,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"}},"required":["estimated_time_seconds","estimated_time_range_seconds","complete_route_estimate","sources","note"],"type":"object"},"execution":{"additionalProperties":true,"properties":{"first_unsigned_action_supported":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["supported","first_unsigned_action_supported"],"type":"object"},"intent":{"additionalProperties":true,"properties":{"amount_usd":{"type":"number"},"estimated_input_base":{"exclusiveMinimum":0,"type":"integer"},"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to","amount_usd","estimated_input_base"],"type":"object"},"offer":{"additionalProperties":true,"properties":{"assetfare_fee_bps":{"const":1,"type":"number"},"estimated_min_receive_amount":{"exclusiveMinimum":0,"type":"number"},"estimated_min_receive_usd":{"minimum":0,"type":"number"},"estimated_time_seconds":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}]},"expected_receive_amount":{"exclusiveMinimum":0,"type":"number"},"expected_receive_usd":{"minimum":0,"type":"number"},"fee_collectible_now":{"const":true,"type":"boolean"},"fee_collection":{"const":"only_on_eligible_successful_executor_step","type":"string"},"fee_collection_steps":{"items":{"minimum":0,"type":"integer"},"maxItems":1,"minItems":1,"type":"array"},"fee_modeled_bps":{"const":1,"type":"number"},"output_symbol":{"enum":["SOL","ETH","USDC","USDG"],"type":"string"}},"required":["expected_receive_amount","estimated_min_receive_amount","expected_receive_usd","estimated_min_receive_usd","output_symbol","estimated_time_seconds","assetfare_fee_bps","fee_modeled_bps","fee_collectible_now","fee_collection_steps","fee_collection"],"type":"object"},"quote_id":{"format":"uuid","type":"string"},"risk":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"}},"required":["server_signing","server_submission"],"type":"object"},"route":{"additionalProperties":true,"properties":{"server_signing":{"const":false,"type":"boolean"},"server_submission":{"const":false,"type":"boolean"},"steps":{"items":{"additionalProperties":{},"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["steps","server_signing","server_submission"],"type":"object"},"status":{"const":"capped_public_agent_release","type":"string"},"ttl_seconds":{"exclusiveMinimum":0,"maximum":60,"type":"integer"}},"required":["quote_id","status","as_of","ttl_seconds","intent","offer","cost_summary","eta","route","direct_route_summary","continuation_v3","risk","execution","caller_action_plan_handoff"],"type":"object"}