{"service":"GF Agent Toll","version":"1.4.0","policy":{"robot_interoperability_is_top_priority":true,"native_protocol_first":true,"advertise_only_working_capabilities":true,"preserve_free_access":true,"preserve_existing_x402_base_usdc":true,"unsupported_payment_methods_are_never_added_to_x402_accepts":true,"incoming_customer_payments_need_operator_approval":false,"outgoing_external_payments_need_operator_approval":true},"robot_priority":{"service":"GF Agent Toll","version":"1.4.0","policy":{"mode":"native-protocol-first","priority":1,"equal_priority_for_verified_robot_classes":true,"never_user_agent_sniff_for_protocol_selection":true,"advertise_only_verified_capabilities":true,"canonical_before_legacy":true,"free_discovery_and_free_qualification_remain_available":true},"robot_classes":{"mcp_agents":{"priority":100,"active":true,"canonical":{"version":"2026-07-28","transport":"streamable-http","url":"https://gfpick-agent-api.vercel.app/mcp"},"local_fallback":{"transport":"stdio","command":"npm run mcp:stdio"}},"a2a_agents":{"priority":100,"active":true,"canonical_version":"1.0","discovery":"https://gfpick-agent-api.vercel.app/.well-known/agent-card.json","preferred_interfaces":[{"protocolBinding":"JSONRPC","protocolVersion":"1.0","url":"https://gfpick-agent-api.vercel.app/a2a/rpc"},{"protocolBinding":"HTTP+JSON","protocolVersion":"1.0","url":"https://gfpick-agent-api.vercel.app"}],"legacy_fallback":{"protocolVersion":"0.3","active":true}},"openapi_http_agents":{"priority":100,"active":true,"canonical":"https://gfpick-agent-api.vercel.app/openapi.json","aliases":["https://gfpick-agent-api.vercel.app/.well-known/openapi.json","https://gfpick-agent-api.vercel.app/swagger.json","https://gfpick-agent-api.vercel.app/api/openapi.json"]},"local_desktop_agents":{"priority":100,"active":true,"protocol":"MCP","transport":"stdio","command":"npm run mcp:stdio"},"llm_indexers_and_crawlers":{"priority":100,"active":true,"discovery":["https://gfpick-agent-api.vercel.app/llms.txt","https://gfpick-agent-api.vercel.app/agents.txt","https://gfpick-agent-api.vercel.app/robots.txt","https://gfpick-agent-api.vercel.app/sitemap.xml"]},"x402_payment_agents":{"priority":100,"active":true,"protocol":"x402","version":2,"discovery":"https://gfpick-agent-api.vercel.app/.well-known/x402","network":"eip155:8453","asset":"USDC"}},"selection_policy":{"mcp_client":"use MCP directly","a2a_client":"use A2A 1.0 directly; fall back to 0.3 only when required","generic_tool_client":"use OpenAPI/HTTP JSON","local_process_client":"use MCP stdio","crawler_or_llm_indexer":"use llms.txt + agents.txt + sitemap.xml","payment_capable_agent":"discover x402 after selecting the native application protocol"},"compatibility_aliases":{"robot_priority":"https://gfpick-agent-api.vercel.app/.well-known/robot-priority.json","robot_discovery":"https://gfpick-agent-api.vercel.app/robot-discovery.json","openapi_well_known":"https://gfpick-agent-api.vercel.app/.well-known/openapi.json","swagger":"https://gfpick-agent-api.vercel.app/swagger.json","openapi_api_path":"https://gfpick-agent-api.vercel.app/api/openapi.json","llms_well_known":"https://gfpick-agent-api.vercel.app/.well-known/llms.txt","agent_card_short":"https://gfpick-agent-api.vercel.app/agent-card.json","mcp_manifest_short":"https://gfpick-agent-api.vercel.app/mcp.json"},"quality_gates":{"mcp_official_v2_client_http":true,"mcp_official_v2_client_stdio":true,"a2a_official_must_tck_jsonrpc":true,"a2a_official_must_tck_http_json":true,"a2a_official_must_tck_grpc":true,"contract_tests":true,"live_smoke":true}},"robot_transports":{"http_openapi":{"active":true,"priority":100,"url":"https://gfpick-agent-api.vercel.app/openapi.json"},"mcp_streamable_http":{"active":true,"priority":100,"version":"2026-07-28","url":"https://gfpick-agent-api.vercel.app/mcp"},"mcp_stdio":{"active":true,"priority":100,"mode":"local-process","command":"npm run mcp:stdio","note":"For desktop/CLI agents that spawn MCP servers locally; the process proxies to the same GF Agent Toll core."},"a2a_jsonrpc":{"active":true,"priority":100,"canonicalVersion":"1.0","legacyVersions":["0.3"],"url":"https://gfpick-agent-api.vercel.app/a2a/rpc"},"a2a_http_json":{"active":true,"priority":100,"canonicalVersion":"1.0","legacyVersions":["0.3"],"acceptedMediaTypes":["application/a2a+json","application/json"],"url":"https://gfpick-agent-api.vercel.app"},"a2a_grpc":{"active":false,"implementation_ready":true,"url":null,"reason":"Implementation and TCK gate are present; current Vercel HTTP deployment cannot accept inbound gRPC.","activation_requires":["gRPC-capable public host","TLS","set A2A_GRPC_ACTIVE=1","set A2A_GRPC_URL","production A2A gRPC TCK"]}},"payments":{"direction_policy":{"inbound_customer":{"mode":"automatic-inbound","direction":"customer-to-gf","manualOperatorApprovalRequired":false,"automaticAcceptance":true,"payerAuthorizationRequired":true,"rails":{"x402_wallet":{"automaticSettlementAfterPayerSignature":true,"operatorApprovalRequired":false},"paypal":{"automaticCaptureAfterPayerApproval":true,"operatorApprovalRequired":false}},"note":"Customer payments to GF do not require operator approval. The customer still authorizes their own wallet or PayPal payment, after which settlement/capture is automatic on configured rails."},"outbound_external":{"mode":"human-only","direction":"gf-to-external","manualOperatorApprovalRequired":true,"autonomousPayment":false,"autonomousSigning":false,"autonomousSettlement":false,"note":"GF Agent Toll may discover external payment requirements, but only an authorized human operator may approve and execute a payment from GF to an external service."}},"customer_inbound":{"manual_operator_approval_required":false,"x402_wallet":{"active":true,"network":"eip155:8453","pay_to":"0x4B7098E3b882633d3205FDE3E7ac7Ea1D965D3C3","automatic_settlement_after_customer_signature":true,"operator_approval_required":false},"paypal":{"environment":"sandbox","order_creation_ready":false,"automatic_capture_after_customer_approval":false,"verified_crediting_ready":false,"live_customer_funding_active":false,"operator_approval_required":false}},"outbound_external":{"manual_operator_approval_required":true,"autonomous_payment":false,"autonomous_signing":false,"autonomous_settlement":false},"active":[{"id":"x402-base-usdc-exact","protocol":"x402","version":2,"scheme":"exact","network":"eip155:8453","asset":{"symbol":"USDC","contract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"payTo":"0x4B7098E3b882633d3205FDE3E7ac7Ea1D965D3C3","settlement_core":"https://api.gfpick.com","direction":"customer-to-gf","operator_approval_required":false,"automatic_settlement_after_customer_signature":true}],"inactive_until_configured":[{"id":"x402-solana-usdc","protocol":"x402","version":2,"reason":"No operator-controlled Solana receiving wallet/facilitator is configured.","activation_requires":["operator Solana payTo wallet","supported Solana USDC mint/network","facilitator verify+settle support","integration and settlement tests"]},{"id":"enterprise-api-key-credits","reason":"No durable API-key issuer and prepaid credit ledger is connected.","activation_requires":["key issuer","hashed key storage","credit ledger","rate/usage accounting","revocation"]},{"id":"paypal-customer-funding","protocol":"paypal-orders-v2","direction":"customer-to-gf","operator_approval_required":false,"reason":"Live PayPal customer funding activates when PAYPAL_ENV=live and PayPal API credentials are configured.","activation_requires":["PAYPAL_ENV=live","PAYPAL_CLIENT_ID","PAYPAL_CLIENT_SECRET","PAYPAL_WEBHOOK_ID for verified crediting","DATABASE_URL for durable credit ledger"]}]},"authentication":{"public_discovery":true,"caller_wallet_keys_received_by_server":false,"a2a_identity":"ES256 signed Agent Card","enterprise_oauth":{"active":false,"target":"OAuth 2.x with current MCP authorization metadata/CIMD compatibility","activation_requires":["authorization server/issuer","client metadata policy","token validation","issuer binding"]}}}