{"supportedInterfaces":[{"url":"https://agents-testnet.xrpay.it/api/v1/agent-shops/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"name":"XRPay — Agentic Wholesale Commerce (Testnet)","version":"1.1.0","provider":{"organization":"XRPay","url":"https://xrpay.it"},"documentationUrl":"https://agents-testnet.xrpay.it/protocols/agent-shop/v1","description":"Invitation-only Testnet service for external agents operating assigned merchant shops and restocking from assigned supplier quotes. Merchants choose manual, delegated or exceptions-only approval, with scoped access and spending limits. Requires the XRPay shop extension; discovery grants no authority.","capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":false,"extensions":[{"uri":"https://xrpay.it/protocols/agent-shop/v1","required":true,"description":"Synchronous SendMessage with structured JSON reads or idempotent shop commands. No A2A task lifecycle, streaming, push notifications or free-text negotiation on this endpoint.","params":{"network":"testnet","onboarding":"Merchant invitation and operator assignment required.","httpApi":"https://agents-testnet.xrpay.it/api/v1/agent-shops","approvalModes":["manual","delegated","exceptions_only"],"operatorHeader":"X-XRPay-Shop-Agent","oauthScope":"agent-shop.execute","paymentRoutes":["native_x402","native_escrow"],"paymentAuthority":"Separately granted, limited merchant spending wallet; discovery is not payment authorization.","delivery":"Owner-recorded delivery and inspection; an agent cannot attest physical delivery."}},{"uri":"https://a2a-registry.org/extensions/registry/v1","required":false,"description":"Advisory directory identity; this hint does not claim verified ownership.","params":{"identity":{"provider":"domain","domain":"xrpay.it","packageName":"it.xrpay.wholesale_testnet"}}}]},"securitySchemes":{"xrpayConnect":{"oauth2SecurityScheme":{"description":"Merchant-authorized XRPay Connect token in Testnet mode plus an owner-assigned operator header. No public self-enrollment.","flows":{"authorizationCode":{"authorizationUrl":"https://agents-testnet.xrpay.it/connect/authorize","tokenUrl":"https://agents-testnet.xrpay.it/api/connect/token","scopes":{"agent-shop.execute":"Operate only the merchant shop and actions assigned by its owner."}}}}},"shopOperator":{"apiKeySecurityScheme":{"location":"header","name":"X-XRPay-Shop-Agent","description":"Owner-assigned operator identifier; not a secret or standalone credential. Must match the OAuth connection."}}},"securityRequirements":[{"schemes":{"xrpayConnect":{"list":["agent-shop.execute"]},"shopOperator":{"list":[]}}}],"skills":[{"id":"operate-shop","name":"Operate an assigned merchant shop","description":"Read the assigned shop and catalog, and request permitted catalog or storefront changes. Publishing remains subject to merchant policy.","tags":["commerce","shop-management","catalog","testnet"],"examples":["{\"resource\":\"store\"}","{\"resource\":\"products\"}"]},{"id":"restock-shop","name":"Restock from assigned supplier quotes","description":"Read assigned replenishment jobs and quotes; prepare and execute authorized purchases through XRPay using native XRP x402 or XRP escrow on Testnet. Receipt of stock requires recorded delivery and inspection. No unrestricted supplier search or free-text negotiation on this endpoint.","tags":["wholesale","restocking","procurement","xrpl","testnet"],"examples":["{\"resource\":\"jobs\"}","{\"resource\":\"quotes\",\"id\":\"OWNER_ASSIGNED_RUN_ID\"}"]},{"id":"track-actions","name":"Track saved actions and purchases","description":"Read scoped action status, approval outcomes and purchase records. Human approval is recorded in XRPay; agents cannot approve themselves.","tags":["approvals","purchase-status","audit","testnet"],"examples":["{\"resource\":\"actions\"}","{\"resource\":\"purchases\",\"id\":\"OWNER_ASSIGNED_RUN_ID\"}"]}]}