Connect your agent

Hollin Kitchen Garden sells to agents on test networks, Base Sepolia (`eip155:84532`, the default), Arc testnet (`eip155:5042002`), Avalanche® Fuji (`eip155:43113`), Hedera testnet (`hedera:testnet`), Stellar testnet (`stellar:testnet`), XRPL Testnet (`xrpl:1`), Ethereum Sepolia (`eip155:11155111`), Arbitrum Sepolia (`eip155:421614`), OP Sepolia (`eip155:11155420`), Polygon Amoy (`eip155:80002`), Unichain Sepolia (`eip155:1301`), World Chain Sepolia (`eip155:4801`), Ink Sepolia (`eip155:763373`), Celo Sepolia (`eip155:11142220`), Monad testnet (`eip155:10143`), Sei testnet (`eip155:1328`), Sonic testnet (`eip155:14601`), EDGE testnet (`eip155:33431`), Morph Hoodi (`eip155:2910`), Codex testnet (`eip155:812242`), Cronos testnet (`eip155:338`), Pharos Atlantic (`eip155:688689`), Plasma testnet (`eip155:9746`), Plume testnet (`eip155:98867`), XDC Apothem (`eip155:51`) and ZKsync Sepolia (`eip155:300`): by x402 over HTTP, MCP and A2A, by MPP, and through UCP's checkout over REST, MCP and A2A, and under AP2 mandates over A2A. For demonstration only. This transaction runs on a test network with test money, and has no value.

Each checkout is paid on one network, which the buyer names as a CAIP-2 id: `network` in the JSON body of the request to `/buy/<offer>` (and to the test checkout), beside `quote` and `with`; `network` in the `buy` tool's arguments and in an A2A buy data part. In UCP's checkout, the platform's profile declares the networks it pays on in its declaration of the x402 handler (`config.networks`), and the checkout is paid on one the shop accepts too: `eip155:84532` when it is one of them. With none named, the checkout is paid on `eip155:84532`. The networks: Base Sepolia (`eip155:84532`, the default), Arc testnet (`eip155:5042002`), Avalanche® Fuji (`eip155:43113`), Hedera testnet (`hedera:testnet`), Stellar testnet (`stellar:testnet`), XRPL Testnet (`xrpl:1`), Ethereum Sepolia (`eip155:11155111`), Arbitrum Sepolia (`eip155:421614`), OP Sepolia (`eip155:11155420`), Polygon Amoy (`eip155:80002`), Unichain Sepolia (`eip155:1301`), World Chain Sepolia (`eip155:4801`), Ink Sepolia (`eip155:763373`), Celo Sepolia (`eip155:11142220`), Monad testnet (`eip155:10143`), Sei testnet (`eip155:1328`), Sonic testnet (`eip155:14601`), EDGE testnet (`eip155:33431`), Morph Hoodi (`eip155:2910`), Codex testnet (`eip155:812242`), Cronos testnet (`eip155:338`), Pharos Atlantic (`eip155:688689`), Plasma testnet (`eip155:9746`), Plume testnet (`eip155:98867`), XDC Apothem (`eip155:51`) and ZKsync Sepolia (`eip155:300`).

The doors

One checkout stands behind every door. Each purchase has its own agreement, and its payment carries the agreement's hash.

  • x402 over HTTP: https://hollin-garden.integraledger.com/buy/<offer>, its network in the body's network, answers 402 with x402 version 2's PAYMENT-REQUIRED, which holds the agreement's link; the same request again with PAYMENT-SIGNATURE pays it.
  • x402 over MCP: the tool buy at https://hollin-garden.integraledger.com/mcp, its network in network, with the payment in params._meta["x402/payment"].
  • UCP's checkout over REST: https://hollin-garden.integraledger.com/checkout-sessions (UCP 2026-08-25), as the profile at https://hollin-garden.integraledger.com/.well-known/ucp declares it, paid through the x402 payment handler com.integraledger.lcp.x402, declared once for each network: the checkout is paid on a network your platform's profile declares for the handler too. Your platform's profile goes in UCP-Agent.
  • UCP's checkout over MCP: the tools create_checkout, get_checkout, update_checkout, complete_checkout, cancel_checkout and get_order at https://hollin-garden.integraledger.com/mcp, paid through the same handler. Your platform's profile goes in meta["ucp-agent"].
  • MPP: on an EVM network, the 402 of https://hollin-garden.integraledger.com/buy/<offer> also carries MPP's evm charge challenge (WWW-Authenticate: Payment …), with an agreement of its own, for sowing-calendar, garden-visit, members-pass, plant-doctor and sweet-pea-collection; Authorization: Payment <credential> pays it.
  • A2A: the agent card at https://hollin-garden.integraledger.com/.well-known/agent-card.json (and /.well-known/agent.json), in version 0.3 or 1.0 as the A2A-Version header asks (none is 0.3); JSON-RPC at https://hollin-garden.integraledger.com/a2a, with the skills search_catalog, get_terms, negotiate and buy, paid by x402 over A2A (the buy data part {offer, quote?, with?, network?}), and UCP's checkout over A2A.
  • AP2 over A2A: at the same endpoint, on an EVM network, a shopping agent under an AP2 mandate sends {action: "ap2_checkout", offer, network?} and is answered with AP2's checkout, a checkout_jwt this shop signs whose legalContext names the agreement and its agreement step; it pays the agreement step, then completes on the task with AP2's Checkout and Payment Mandates and the x402 payment, whose nonce is keccak256 of the Payment Mandate.
  • The kit's own tools at https://hollin-garden.integraledger.com/mcp, for an agent with no UCP platform profile: search_catalog, lookup_catalog, get_product, get_terms, negotiate, buy, test_buy and get_purchase.

This app's documents

An agent that signs its requests

This shop reads Web Bot Auth signatures (RFC 9421, tag web-bot-auth, the key named by Signature-Agent) and Visa's Trusted Agent Protocol signatures (tags agent-browser-auth and agent-payer-auth, Visa's key store), and never requires one. There is nothing to register: sign the request and name your key directory in Signature-Agent. What was verified is shown on the purchase's proof page. It is not part of the agreement. An unsigned request is served the same.

Algorithms: ed25519, ecdsa-p256-sha256, ecdsa-p384-sha384, rsa-pss-sha512, rsa-v1_5-sha256.