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" and "assetfare_v2_quote"
Read the 80-route matrix, live availability,route-specificnon-enforcing dated economicminimumsguidance, direct_route_summary, and continuation_v3 contracts before quoting.continuation_v3 is restart-fail-closedGuidanceandneverbindsrejectstheanfullamountquoteandpayload,
Changed the definition of "assetfare_v2_capabilities", "assetfare_v2_prepare", "assetfare_v2_quote" and 5 more
Read the76-route80-route matrix, live availability, route-specific economic minimums, direct_route_summary, and continuation_v3 contracts before quoting. continuation_v3 is ⟨16 unchanged words⟩ one_shot/session choice. Example: inspect this before requestingsolanaethereum:USDC to base:USDC.USDC at USD 500 or more. Read-only; creates no wallet login, session, or action.
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"}Changed the definition of "assetfare_v2_capabilities"
⟨968 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.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"
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
Unknown → Live
Certificate recorded, valid to 2026-12-13
Authorization not required
First tool surface recorded: 9 tools (server version 1.1.0)
https://api.assetfare.dev/mcp/bridge (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 21 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","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"}]},"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"},"execution_availability":{"additionalProperties":true,"properties":{"guarantees_future_availability":{"const":false,"type":"boolean"},"provider":{"const":"circle_iris","type":"string"},"provider_dependent_routes":{"maximum":80,"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":{"enum":[76,80],"type":"number"},"execution_ready_routes":{"enum":[76,80],"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","ethereum","hyperevm"],"type":"string"},"token":{"const":"USDC","type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":4,"minItems":2,"type":"array"},"source_only_routes":{"items":{"enum":["ethereum:USDC->base:USDC","ethereum:USDC->solana:USDC","hyperevm:USDC->base:USDC","hyperevm:USDC->solana:USDC","optimism:USDC->arbitrum:USDC","optimism:USDC->base:USDC","polygon:USDC->arbitrum:USDC","polygon:USDC->base:USDC"],"type":"string"},"maxItems":8,"minItems":4,"type":"array"},"status":{"const":"capped_public_agent_release","type":"string"},"temporarily_unavailable_route_count":{"maximum":80,"minimum":0,"type":"integer"},"temporarily_unavailable_routes":{"items":{"minLength":1,"type":"string"},"maxItems":80,"type":"array"},"unsigned_route_plans_ready":{"enum":[76,80],"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…⟨1378 unchanged words⟩ ,"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":{" ⟨261 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","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"}]},"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"},"execution_availability":{"additionalProperties":true,"properties":{"guarantees_future_availability":{"const":false,"type":"boolean"},"provider":{"const":"circle_iris","type":"string"},"provider_dependent_routes":{"maximum":80,"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":{"enum":[76,80],"type":"number"},"execution_ready_routes":{"enum":[76,80],"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","ethereum","hyperevm"],"type":"string"},"token":{"const":"USDC","type":"string"}},"required":["chain","token"],"type":"object"},"maxItems":4,"minItems":2,"type":"array"},"source_only_routes":{"items":{"enum":["ethereum:USDC->base:USDC","ethereum:USDC->solana:USDC","hyperevm:USDC->base:USDC","hyperevm:USDC->solana:USDC","optimism:USDC->arbitrum:USDC","optimism:USDC->base:USDC","polygon:USDC->arbitrum:USDC","polygon:USDC->base:USDC"],"type":"string"},"maxItems":8,"minItems":4,"type":"array"},"status":{"const":"capped_public_agent_release","type":"string"},"temporarily_unavailable_route_count":{"maximum":80,"minimum":0,"type":"integer"},"temporarily_unavailable_routes":{"items":{"minLength":1,"type":"string"},"maxItems":80,"type":"array"},"unsigned_route_plans_ready":{"enum":[76,80],"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"}⟨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"},"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⟩
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"}