CommandLayer commercial runtime for the commercial verbs authorize, checkout, purchase, ship, and verify.
The live commercial verb surface is versioned at v1.1.0:
POST /authorize/v1.1.0POST /checkout/v1.1.0POST /purchase/v1.1.0POST /ship/v1.1.0POST /verify/v1.1.0
POST /verify is a separate receipt verification endpoint.
POST /verify/v1.1.0= commercial business-flowverifyverbPOST /verify= receipt signature verification, with optional schema verification
The index (GET /) and health (GET /health) metadata report the runtime as service version 1.1.0 and API version 1.1.0 by default.
The runtime still accepts the full normalized commercial envelope:
{
"x402": {
"verb": "authorize",
"version": "1.1.0",
"class": "commercial",
"entry": "x402://authorizeagent.eth/authorize/v1.1.0"
},
"trace": {
"trace_id": "trace_explicit",
"parent_trace_id": "trace_parent"
},
"payload": {
"buyer": "0xBEEF"
}
}For browser pages and demos, the runtime also accepts a compatibility input adapter:
{
"input": {
"buyer": "0xBEEF",
"chain_id": "eip155:84532",
"amount": { "value": "0.0001", "currency": "ETH" },
"payment_method": "demo"
}
}When the adapter is used, the runtime normalizes the request internally before schema validation and execution:
x402.verbis derived from the matched route verb.x402.versiondefaults to1.1.0.x402.classremainscommercial.x402.entryis built asx402://<verb>agent.eth/<verb>/v1.1.0.trace.trace_idis auto-generated if the caller did not supply one.trace.parent_trace_idis preserved when provided at the top level or insideinput.payloadis derived frominput.
This adapter is only a frontend convenience layer. The internal commercial contract still uses explicit x402, trace, and payload fields.
This change does not remove or replace commercial protocol behavior:
- x402 request semantics are still preserved internally.
- request schema validation is still enforced.
- receipt schema validation is still enforced.
- receipt signing is still enforced.
- receipt verification remains available at
POST /verify. - CORS headers remain enabled for browser callers.
Environment defaults:
SERVICE_VERSION=1.1.0API_VERSION=1.1.0SCHEMA_VERSIONdefaults toAPI_VERSION
npm run contract-checknode --test test/commercial-runtime.test.mjs