Universal Commerce Protocol

Public Beta

Agent-native B2B commerce for any AI runtime

UCP is Techfleet Sync's open commerce protocol that allows any AI agent — regardless of model or runtime — to discover, query, negotiate, and transact with your inventory using a standardized schema. Unlike MCP (which is Claude-specific), UCP is designed to work with GPT-4, Gemini, Llama, and any HTTP-capable agent.

MCP vs UCP: when to use which

MCP Protocol
  • Best for Claude and Cursor integrations
  • Interactive, conversation-driven queries
  • Requires MCP-compatible client
  • Rich tool descriptions for AI context
UCP Protocol
  • Works with any AI agent or runtime
  • Structured JSON-RPC over HTTPS
  • Self-describing capability manifest
  • Supports negotiation and batch operations

Global Device Catalog

New

UCP agents can query the Techfleet global device catalog — 5,300+ devices across 13 categories with normalized specs, model numbers, GTIN/UPC barcodes, and resale pricing. Use catalog.search, catalog.get, and catalog.compare to look up device identity and specs before placing orders.

5,300+
Devices
13
Categories
100%
Specs coverage
AI-native
Normalized fields

UCP endpoint

All UCP requests use JSON-RPC 2.0 over HTTPS POST:

POST https://sync.techfleet.dev/ucp/{YOUR_MERCHANT_ID}
Content-Type: application/json
Authorization: Bearer sk_live_your_api_key_here

1. Discover capabilities

Any agent can discover your UCP capabilities by calling ucp.manifest. This returns the full schema of supported methods, data types, and pricing rules — no prior knowledge required.

// Request
{
  "jsonrpc": "2.0",
  "method": "ucp.manifest",
  "id": 1
}

// Response
{
  "jsonrpc": "2.0",
  "result": {
    "merchant_id": "mch_01h8abc123",
    "merchant_name": "Device Supply Co.",
    "protocol_version": "1.2",
    "capabilities": [
      "inventory.list",
      "inventory.get",
      "pricing.get",
      "order.create",
      "order.confirm",
      "negotiation.request"
    ],
    "currencies": ["USD", "CAD"],
    "languages": ["en"],
    "schema_url": "https://sync.techfleet.dev/ucp/schema/v1"
  },
  "id": 1
}

2. Query inventory

Use inventory.list to query stock with filters. The response includes structured product data optimized for AI consumption.

// Request
{
  "jsonrpc": "2.0",
  "method": "inventory.list",
  "params": {
    "filters": {
      "model": "iPhone 14 Pro",
      "grade": ["A+", "A"],
      "carrier_locked": false,
      "min_battery_health": 85,
      "max_price_usd": 60000
    },
    "page": 1,
    "per_page": 20
  },
  "id": 2
}

// Response
{
  "jsonrpc": "2.0",
  "result": {
    "items": [
      {
        "id": "inv_01h9xmk2n3p5r7t9",
        "model": "iPhone 14 Pro",
        "storage": "256GB",
        "color": "Space Black",
        "grade": "A",
        "battery_health": 88,
        "carrier_locked": false,
        "price_usd": 54900,
        "available": true,
        "can_negotiate": true,
        "min_negotiated_price_usd": 51000
      }
    ],
    "total": 23,
    "page": 1
  },
  "id": 2
}

3. Negotiate pricing

UCP supports structured negotiation flows. An agent can submit a counter-offer, and your configured rules will respond automatically based on quantity, buyer history, and margin thresholds.

// Request
{
  "jsonrpc": "2.0",
  "method": "negotiation.request",
  "params": {
    "items": [
      { "inventory_id": "inv_01h9xmk2n3p5r7t9", "quantity": 10 }
    ],
    "offered_price_usd": 51500,
    "buyer_id": "agent:gpt4-procurement-bot-v2"
  },
  "id": 3
}

// Response (auto-negotiated by Techfleet rules engine)
{
  "jsonrpc": "2.0",
  "result": {
    "status": "counter",
    "counter_price_usd": 52800,
    "quantity_discount_applied": true,
    "offer_expires_at": "2025-03-10T09:42:00Z",
    "accept_url": "https://sync.techfleet.dev/ucp/.../negotiate/accept/neg_01h9"
  },
  "id": 3
}

4. Place an order

// Request
{
  "jsonrpc": "2.0",
  "method": "order.create",
  "params": {
    "items": [
      { "inventory_id": "inv_01h9xmk2n3p5r7t9", "price_usd": 52800 }
    ],
    "buyer_id": "agent:gpt4-procurement-bot-v2",
    "buyer_reference": "PO-20250310-001"
  },
  "id": 4
}

// Response
{
  "jsonrpc": "2.0",
  "result": {
    "order_id": "ord_01h9xmk2n3p5r7t9",
    "status": "pending_confirmation",
    "total_usd": 52800,
    "reserved_until": "2025-03-10T09:42:00Z",
    "confirm_url": "https://sync.techfleet.dev/ucp/.../order/confirm/ord_01h9"
  },
  "id": 4
}

Error handling

UCP uses standard JSON-RPC 2.0 error codes plus UCP-specific extensions:

-32600
InvalidRequestMalformed JSON-RPC request.
-32601
MethodNotFoundMethod not supported by this merchant.
1001
InsufficientInventoryOne or more requested units are unavailable.
1002
PriceExpiredThe offered or listed price is no longer valid.
1003
NegotiationRejectedCounter-offer was below the merchant's minimum threshold.
1004
BuyerNotAuthorizedBuyer ID is not authorized to transact with this merchant.

Rate limits

Pro
500 req/min
Suitable for single-agent integrations.
Enterprise
5,000 req/min
Multi-agent and high-volume pipelines.
Custom
Unlimited
Contact us for dedicated infrastructure.

Make your inventory AI-queryable

UCP is available in public beta for Pro and Enterprise plans. No configuration required — your UCP endpoint is live the moment you create an account.