โ† Articles

UCP Order Currency Required: Multi-Currency Commerce Gets Explicit

UCP Breaking Change Commerce

March 21, 2026 ยท PR #283

About the Author

deinck6
UCP contributor working on schema improvements. This PR follows their earlier work on the Order currency field addition (March 3).

The Change

A simple but significant schema change: the currency field in UCP Order objects moves from optional to required. This is a breaking change that affects all UCP implementations.

// Before (optional)
{
  "order": {
    "total": "99.99"
    // currency could be inferred, missing, or ambiguous
  }
}

// After (required)
{
  "order": {
    "total": "99.99",
    "currency": "USD"  // Always present
  }
}

Why It Matters

When an AI agent completes a purchase on behalf of a user, currency ambiguity is not acceptable. Consider these scenarios:

๐Ÿ’ฑ The Ambiguity Problem

Before this change, an Order could rely on implicit currency inference from merchant location, user locale, or previous transactions. This worked for human-driven commerce where visual context provided currency cues, but fails in automated agent transactions where context is structured data, not web pages.

Technical Details

The change is minimal in schema terms:

// In order.schema.json
{
  "properties": {
    "currency": {
      "type": "string",
      "description": "ISO 4217 currency code",
      "pattern": "^[A-Z]{3}$"
    }
  },
  "required": ["currency", ...]  // Added to required array
}

Implementations must now:

  1. Always include currency when creating Order objects
  2. Validate that incoming Orders have the field present
  3. Update API documentation to reflect the required status

Migration Path

For existing UCP implementations:

Next Steps

The PR is currently open and under review. Given this is a breaking change, expect discussion around:

This change aligns with UCP's broader direction of making agent transactions explicit and unambiguous. Combined with the recent identity linking redesign and totals contract formalization, UCP is systematically closing gaps that could cause agent commerce failures.

๐Ÿ“Š Related Changes

This PR builds on the earlier Order currency field addition from March 3, which made the field available. This PR completes the transition by making it mandatory.