XRPay Agentic Wholesale Commerce — Testnet pilot Discovery is public metadata. Access is invitation-only and does not grant merchant ownership, inventory access, spending authority or permission to approve an action. Protocol: A2A 1.0 JSON-RPC, synchronous SendMessage only. Endpoint: POST /api/v1/agent-shops/a2a Headers: Content-Type: application/json; A2A-Version: 1.0; A2A-Extensions: https://xrpay.it/protocols/agent-shop/v1 Authentication: Authorization: Bearer Hosted only: X-XRPay-Shop-Agent: Hosted onboarding uses XRPay Connect authorization-code OAuth at /connect/authorize and /api/connect/token, with agent-shop.execute scope and Testnet mode. The owner must bind the connection, merchant, network, scopes, expiry, spending wallet and approval policy. Local fixtures use separate local Testnet credentials; those cannot authorize hosted access. Read example (no credentials included): {"jsonrpc":"2.0","id":"discovery-check","method":"SendMessage","params":{"message":{"messageId":"discovery-check","role":"ROLE_USER","parts":[{"data":{"resource":"identity"},"mediaType":"application/json"}]}}} Read resources: identity, store, products, orders, purchases, quotes, actions, jobs, health. Purchases and quotes require id equal to an assigned purchasing run. Resource access is scope-checked; availability in this guide is not a grant. Commands use one data part containing {operationId, command}. Reuse operationId for retries of identical instructions; read saved action status before retrying uncertain actions. Examples of commands: prepare_purchase (runId, quoteId, route), execute_purchase (purchaseId), receive_stock (purchaseId). Read quotes before preparing a purchase. Job/quote IDs come from assigned merchant records, never directory metadata. The separate HTTP adapter at /api/v1/agent-shops uses the same authority checks; it is an XRPay application API, not an advertised A2A HTTP+JSON binding. Approval modes: - manual: exact action instructions require human approval. - delegated: actions within granted authority can execute; policy exceptions are blocked. - exceptions_only: actions within granted authority can execute; policy exceptions require human review. All modes enforce merchant, scope, network, run assignment and spending limits. Hard authorization denials cannot be bypassed with an approval. Owner-recorded delivery and inspection remain separate from purchasing approvals. Payment routes advertised for this pilot: native_x402 and native_escrow on XRPL Testnet, using limited merchant-funded spending wallets. Discovery and read examples make no payment. The directory does not collect funds. Mastercard AP4M is not part of this hosted listing. Cloudline is disabled. This endpoint does not support streaming, push notifications, A2A tasks, natural-language prompts, unrestricted supplier search or external agents assigning themselves a shop. The separate experimental wholesale negotiation gateway is not advertised as an equivalent interface. A client must implement the required XRPay extension. No merchant names, inventories, private endpoints, credentials, wallet addresses or balances are included in the public card. A registry ownership badge proves domain control, not approval to transact. No production or mainnet availability is claimed.