UNIVERSAL COMMERCE PROTOCOL

Test Your UCP Implementation

Open source conformance testing for the Universal Commerce Protocol. Verify your server against the official spec with automated tests, full request/response traceability, and multi-version support.

42
Tests
10
Modules
3
Spec Versions
What is UCP?

The Universal Commerce Protocol (UCP) is an open standard for agentic and headless commerce. It enables AI agents, publishers, and any digital surface to discover products, create checkout sessions, and complete purchases through a unified API.

UCP defines a standard discovery profile, catalog search, checkout lifecycle (create, update, complete, cancel), fulfillment handling, payment processing via Google Pay, and order management.

Any commerce platform can implement UCP to make their merchants' products purchasable from anywhere — LLMs, publishers, shoppable media, and more.

Maintained by Google's UCP team · Published at ucp.dev
Supported Spec Versions
This tool can test against any published version of the UCP specification. Select the version when running tests, or use auto-detect.

2026-04-08

Released April 9, 2026

Adds catalog search/lookup, cart capability, request/response signing, eligibility claims, formalized totals contract. Major release with breaking changes.

2026-01-23

Released January 23, 2026

Fulfillment groups, shipping option selection, discount capability, buyer consent, order webhooks. Targeted by the official conformance suite.

2026-01-11

Released January 11, 2026

Initial public release. Core checkout lifecycle: discovery, create, update, complete, cancel. Google Pay handler. Basic fulfillment.

What We Test
42 tests across 10 modules, mirroring the structure of Google's official conformance suite. Real API calls validated against spec requirements.
A

Protocol

Discovery profile, service URLs, version negotiation, error handling

4 tests
B

Checkout Lifecycle

Create, get, update, cancel, complete, terminal state immutability

11 tests
C

Fulfillment

Shipping options, tax calculation, totals consistency

3 tests
D

Idempotency

Create request idempotency verification

1 test
E

Business Logic

Totals calculation, buyer info persistence

2 tests
F

Validation

Product not found, incomplete checkout, error structure, 404

4 tests
G

Invalid Input

Missing required fields, invalid merchant domain

2 tests
H

Card Credentials

Google Pay with Visa and Mastercard tokens

2 tests
I

Order

Order ID and permalink in completion response

1 test
J

Catalog

Product search, empty results, pagination, catalog-to-checkout

4 tests
Three Steps to Conformance
1

Enter Your Server

Provide your UCP server URL and merchant domain. The tool auto-discovers capabilities, payment handlers, and finds a test product from your catalog.

2

Run Tests

42 tests execute in real time. Every API call is logged with full request headers, body, response, status code, and timing.

3

Review & Compare

See pass/fail per test with expandable API logs. Save reports, download evidence, and compare runs to track progress.

Run From Your Terminal or CI
The spck CLI runs the same 42 conformance tests from your shell. Pipe results into CI/CD, sync to your spck.dev account, or run offline — no account required.

1 Install

Requires Python 3.7+. Zero runtime dependencies.

terminal
$ pip install spck or run directly without installing: $ curl -O https://raw.githubusercontent.com/vishkaty/ucp-conformance/main/cli/spck.py $ python3 spck.py --help

2 Run tests

No account needed. Pass your UCP server base URL and the merchant domain.

terminal
$ spck --server https://api.example.com --merchant store.example.com spck v1.0.0 — UCP Conformance Testing CLI Server: https://api.example.com Merchant: store.example.com Discovering server... Version: 2026-04-08 Capabilities: 6 Payment: gpay --- A. protocol_test --- ✓ PASS test_discovery (0ms) ✓ PASS test_discovery_urls (0ms) ... Results: 34 passed, 0 failed, 0 skipped

3 Sync to your account (optional)

Create an API key under Settings → API Keys in the web tool, then pass --key to upload results to your My Reports tab.

terminal
$ spck --key spck_your_key --save-key --server ... --merchant ... # key saved to ~/.spck — omit --key on future runs $ spck --server https://api.example.com --merchant store.example.com --json > results.json
Common options
--serverUCP server base URL (required)
--merchantMerchant domain (required)
--keyAPI key from spck.dev to sync reports
--save-keyPersist --key to ~/.spck
--versionauto, 2026-04-08, 2026-01-23, 2026-01-11
--host-headerHeader for merchant routing (default x-firmly-host)
--headersExtra headers, e.g. K1=V1,K2=V2
--tokenPayment test token (default tok_visa)
--jsonEmit JSON to stdout (good for CI)
--verboseShow full request/response per test
Use in CI/CD
Exit code is non-zero on failures. Pair --json with your CI's artifact upload to preserve evidence per run.

Full reference — cli/README.md on GitHub

Ready to test your UCP server?

Sign in with your email and start testing in seconds. Free and open source.

Launch Testing Tool →