{"id":254830,"name":"AssetFare Route Quotes","description":"AssetFare is a non-custodial service with 100 technically available routes. Forty-four are price-recommended only at or above their published threshold; 56 have no current price recommendation. Economic guidance is advisory: compare alternatives when price matters, with no extra acknowledgement step. Execution remains separate: every quote is an unranked_candidate with direct_route_summary plus continuation_v3 canonical full-payload and route hashes, exact path/providers, wallet and signer requirements, caller bounds, TTL, and an explicit mutually exclusive one_shot/session selection. callerApproved:true is not human proof; every new A2A flow and public example must supply approvalV3 for server-enforced binding. AssetFare never auto-selects, auto-creates approval, signs, or submits.","card_url":"https://api.assetfare.dev/.well-known/agent.json","endpoint":"https://api.assetfare.dev/a2a","protocol_version":"1.0","first_seen":"2026-10-20T08:44:11.406044+00:00","last_verified":"2026-10-20T08:44:11.406044+00:00","card":{"name":"AssetFare Route Quotes","skills":[{"id":"quote-cross-chain-route","name":"Quote a cross-chain route","tags":["native-usdc","solana-usdc","base-usdc","unsigned-transaction-plan","caller-signed","agent-wallet-funding","payment-wallet-funding","x402-wallet-funding","cross-chain","bridge","swap","crypto","quote","solana","base","arbitrum","robinhood","polygon","optimism","non-custodial"],"examples":["{\"fromChain\":\"solana\",\"fromToken\":\"USDC\",\"toChain\":\"base\",\"toToken\":\"USDC\",\"amountUsd\":1000}","{\"fromChain\":\"solana\",\"fromToken\":\"SOL\",\"toChain\":\"base\",\"toToken\":\"USDC\",\"amountUsd\":1000}","{\"fromChain\":\"optimism\",\"fromToken\":\"USDC\",\"toChain\":\"base\",\"toToken\":\"USDC\",\"amountUsd\":1000}"],"inputModes":["application/json"],"description":"Return one fresh unranked_candidate quote with amount-specific guidance, total token-path cost, direct_route_summary, strict continuation_v3 binding, and route-exact unsigned prepare requirements. price_recommended_for_amount is advisory; compare alternatives when price matters, but no economic acknowledgement field is required. It does not inspect balances, react automatically to a 402, or auto-select or auto-prepare. Execution remains separate: the caller must supply approvalV3 for exactly one mode. Read-only; never prepares, signs, or submits.","outputModes":["application/json"],"securityRequirements":[]},{"id":"prepare-first-unsigned-action","name":"Prepare the first unsigned action (caller-approved)","tags":["prepare","unsigned-action","cross-chain","non-custodial","caller-approved"],"examples":["{\"operation\":\"prepare\",\"callerApproved\":true,\"fromChain\":\"arbitrum\",\"fromToken\":\"ETH\",\"toChain\":\"arbitrum\",\"toToken\":\"USDC\",\"amountUsd\":2500,\"wallets\":{\"arbitrum\":\"0x2222222222222222222222222222222222222222\"},\"approvalV3\":{\"version\":\"assetfare-quote-bound-approval-v3\",\"quote_id\":\"<COPY_FROM_QUOTE>\",\"quote_fingerprint\":\"<COPY_64_HEX_FROM_QUOTE>\",\"selection_status\":\"selected\",\"selected_mode\":\"one_shot\",\"maximum_input_base\":\"<COPY_OR_STRENGTHEN_QUOTE_MAXIMUM>\",\"minimum_output_base\":\"<COPY_OR_STRENGTHEN_QUOTE_MINIMUM>\",\"direct_route_summary_sha256\":\"<COPY_64_HEX_FROM_QUOTE>\",\"idempotency_key\":\"prepare-0001\"},\"verificationContext\":{\"version\":\"assetfare-one-shot-verification-context-v1\",\"intent\":\"<COPY_EXACT_INTENT_OBJECT>\",\"wallets\":\"<COPY_PUBLIC_WALLET_MAP>\",\"event_signer_public\":null,\"approval_v3\":\"<COPY_EXACT_APPROVAL_V3_OBJECT>\",\"direct_route_summary\":\"<COPY_EXACT_DIRECT_ROUTE_SUMMARY_OBJECT>\",\"verification_context_sha256\":\"<RECOMPUTE_64_HEX>\"}}"],"inputModes":["application/json"],"description":"Explicit one-shot POST /v2/prepare. The caller supplies approvalV3 selected_mode=one_shot and the exact hash-bound verificationContext. The adapter validates context before upstream, deeply verifies the returned EVM/Solana action and caller bounds, then emits a self-verifying caller-wallet handoff. Multi-step quotes reject one-shot. callerApproved must be supplied explicitly and is not human proof. Never auto-called; AssetFare never signs or submits.","outputModes":["application/json"],"securityRequirements":[]},{"id":"session-lifecycle","name":"Run the caller-approved session lifecycle","tags":["session","lifecycle","observe","receipts","non-custodial","caller-approved"],"examples":["{\"operation\":\"session_create\",\"callerApproved\":true,\"fromChain\":\"arbitrum\",\"fromToken\":\"ETH\",\"toChain\":\"arbitrum\",\"toToken\":\"USDC\",\"amountUsd\":2500,\"wallets\":{\"arbitrum\":\"0x2222222222222222222222222222222222222222\"},\"sessionToken\":\"<CALLER_GENERATED_43_CHAR_BASE64URL_CAPABILITY>\",\"idempotencyKey\":\"create-0001\",\"approvalV3\":{\"version\":\"assetfare-quote-bound-approval-v3\",\"quote_id\":\"<COPY_FROM_QUOTE>\",\"quote_fingerprint\":\"<COPY_64_HEX_FROM_QUOTE>\",\"selection_status\":\"selected\",\"selected_mode\":\"session\",\"maximum_input_base\":\"<COPY_OR_STRENGTHEN_QUOTE_MAXIMUM>\",\"minimum_output_base\":\"<COPY_OR_STRENGTHEN_QUOTE_MINIMUM>\",\"direct_route_summary_sha256\":\"<COPY_64_HEX_FROM_QUOTE>\",\"idempotency_key\":\"create-0001\"},\"verificationContext\":{\"version\":\"assetfare-session-verification-context-v1\",\"intent\":\"<COPY_EXACT_INTENT_OBJECT>\",\"wallets\":\"<COPY_PUBLIC_WALLET_MAP>\",\"event_signer_public\":null,\"approval_v3\":\"<COPY_EXACT_APPROVAL_V3_OBJECT>\",\"direct_route_summary\":\"<COPY_EXACT_DIRECT_ROUTE_SUMMARY_OBJECT>\",\"verification_context_sha256\":\"<RECOMPUTE_64_HEX>\"}}","{\"operation\":\"observe_source\",\"sessionId\":\"00000000-0000-4000-8000-000000000001\",\"sessionToken\":\"<capability>\",\"idempotencyKey\":\"src-0001\",\"transactionHashes\":[\"<caller-submitted-hash>\"],\"verificationContext\":\"<SAME_HASHED_CONTEXT_USED_AT_CREATE>\"}"],"inputModes":["application/json"],"description":"Full quote-bound receipt-driven session lifecycle. Every A2A session call requires the caller-held hash-bound verificationContext; the adapter validates it before any upstream call, deeply verifies every current EVM/Solana action, and returns a fresh self-verifying caller-wallet handoff. Session create also requires approvalV3 selected_mode=session and the same idempotencyKey. The caller locally generates the sessionToken and never exposes its raw value in logs. callerApproved is explicit but not human proof. Never auto-chains, signs, or submits.","outputModes":["application/json"],"securityRequirements":[]}],"version":"1.7.0","provider":{"url":"https://assetfare.dev","organization":"AssetFare"},"signatures":[],"description":"AssetFare is a non-custodial service with 100 technically available routes. Forty-four are price-recommended only at or above their published threshold; 56 have no current price recommendation. Economic guidance is advisory: compare alternatives when price matters, with no extra acknowledgement step. Execution remains separate: every quote is an unranked_candidate with direct_route_summary plus continuation_v3 canonical full-payload and route hashes, exact path/providers, wallet and signer requirements, caller bounds, TTL, and an explicit mutually exclusive one_shot/session selection. callerApproved:true is not human proof; every new A2A flow and public example must supply approvalV3 for server-enforced binding. AssetFare never auto-selects, auto-creates approval, signs, or submits.","capabilities":{"streaming":false,"extensions":[],"extendedAgentCard":false,"pushNotifications":false},"securitySchemes":{},"documentationUrl":"https://assetfare.dev/llms-full.txt","defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"supportedInterfaces":[{"url":"https://api.assetfare.dev/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"securityRequirements":[]},"signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-20T08:44:11.406044+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://api.assetfare.dev/.well-known/agent.json","last_check":{"checked_at":"2026-10-20T08:44:11.406044+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://api.assetfare.dev/.well-known/agent.json"],"skills":[{"skill_id":"prepare-first-unsigned-action","name":"Prepare the first unsigned action (caller-approved)","description":"Explicit one-shot POST /v2/prepare. The caller supplies approvalV3 selected_mode=one_shot and the exact hash-bound verificationContext. The adapter validates context before upstream, deeply verifies the returned EVM/Solana action and caller bounds, then emits a self-verifying caller-wallet handoff. Multi-step quotes reject one-shot. callerApproved must be supplied explicitly and is not human proof. Never auto-called; AssetFare never signs or submits.","tags":["prepare","unsigned-action","cross-chain","non-custodial","caller-approved"],"quality_warning":false},{"skill_id":"quote-cross-chain-route","name":"Quote a cross-chain route","description":"Return one fresh unranked_candidate quote with amount-specific guidance, total token-path cost, direct_route_summary, strict continuation_v3 binding, and route-exact unsigned prepare requirements. price_recommended_for_amount is advisory; compare alternatives when price matters, but no economic acknowledgement field is required. It does not inspect balances, react automatically to a 402, or auto-select or auto-prepare. Execution remains separate: the caller must supply approvalV3 for exactly one mode. Read-only; never prepares, signs, or submits.","tags":["native-usdc","solana-usdc","base-usdc","unsigned-transaction-plan","caller-signed","agent-wallet-funding","payment-wallet-funding","x402-wallet-funding","cross-chain","bridge","swap","crypto","quote","solana","base","arbitrum","robinhood","polygon","optimism","non-custodial"],"quality_warning":false},{"skill_id":"session-lifecycle","name":"Run the caller-approved session lifecycle","description":"Full quote-bound receipt-driven session lifecycle. Every A2A session call requires the caller-held hash-bound verificationContext; the adapter validates it before any upstream call, deeply verifies every current EVM/Solana action, and returns a fresh self-verifying caller-wallet handoff. Session create also requires approvalV3 selected_mode=session and the same idempotencyKey. The caller locally generates the sessionToken and never exposes its raw value in logs. callerApproved is explicit but not human proof. Never auto-chains, signs, or submits.","tags":["session","lifecycle","observe","receipts","non-custodial","caller-approved"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://api.assetfare.dev/.well-known/agent.json","checked_at":"2026-10-20T08:44:11.406044+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":null,"protocol_check":{"checked_at":"2026-10-20T08:44:11.406044+00:00","state":"a2a_response","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup"},"x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://api.assetfare.dev/.well-known/agent.json","last_successful_card_check":"2026-10-20T08:44:11.406044+00:00","latest_card_check":{"checked_at":"2026-10-20T08:44:11.406044+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-20T08:44:11.406044+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":null,"endpoint_tls_reachable":null,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-10-20T08:44:11.406044+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":254830,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]}}