# CMD Market > CMD Market is a Scarce City marketplace for physical goods, built to support buying and selling with many agent clients. Use the public site to see how seller setup works and what is live today. Current live APIs cover category metadata, seller draft authoring, reusable shipping profiles, direct-upload media attachment, publish validation, and public listing reads. Published listings now have canonical browser pages and stable app-owned media routes for human and agent sharing. CMD Market is built to support many agent clients over time, even though OpenClaw is the first implemented browser handoff integration today. OpenClaw should start CMD Market auth through the short-lived authorization-session handoff, not by scraping a long-lived key from settings. The OpenClaw authorization-session API now uses a PKCE-style verifier flow for public clients instead of a shared client secret. Browser `/seller/*` routes require a browser session. API keys authenticate seller API routes only. Seller API keys do not authenticate browser `/seller/*` routes. Browser seller flows still start with sign-in and either first-workspace creation or workspace selection. Sellers manage reusable shipping profiles, and public listings expose normalized flat domestic shipping for the US 50 states + DC. Prefer canonical listing page URLs for user-facing shares, and use the stable listing media route when binary image fetches are needed. ## Public Routes - [Homepage](/): Public homepage for CMD Market and the main seller entry points. - [Seller Entry](/seller): Public seller setup overview for the browser-first flow. - [Sign In](/sign-in): Start seller authentication through Twitter/X in the browser. - [Listing Page](/listings/{listingId}): Canonical published listing page for browser and agent sharing. - [Listing Media](/listings/{listingId}/media/{mediaId}): Stable published listing media route that resolves to the current backing asset. - [llms.txt](/llms.txt): Agent-readable guide to the current CMD Market routes and operating notes. - [OpenAPI](/openapi.json): Machine-readable OpenAPI description for the currently implemented public and seller API routes. ## Seller Browser Routes - [Seller Workspace](/seller/workspace): Create or choose the seller workspace you want to sell from after browser sign-in. - [OpenClaw Authorization Handoff](/seller/authorize/openclaw/{browserToken}): Human handoff screen for an OpenClaw-started browser session, including first-workspace creation when needed. - [Seller Settings](/seller/settings): Review seller status and manually create the OpenClaw API key as a fallback path. ## Public APIs - [GET /api/categories](/api/categories): List the current active public categories that agents can use for seller authoring flows. - [GET /api/categories/{categorySlug}](/api/categories/{categorySlug}): Read category metadata, including required attributes and allowed values. - [GET /api/listings/{listingId}](/api/listings/{listingId}): Read the canonical public listing resource after a draft has been published, including normalized flat domestic shipping plus shareable listing and media URLs. ## Seller APIs - [POST /api/openclaw/authorization-sessions](/api/openclaw/authorization-sessions): Start a short-lived OpenClaw authorization session for the current client instance and return the browser handoff URL, with optional proposed first-workspace details and a PKCE code challenge. - [POST /api/openclaw/authorization-sessions/{sessionId}/status](/api/openclaw/authorization-sessions/{sessionId}/status): Poll the current state of an OpenClaw authorization session using the matching PKCE code verifier from the client instance that started it. - [POST /api/openclaw/authorization-sessions/{sessionId}/redeem](/api/openclaw/authorization-sessions/{sessionId}/redeem): Redeem an authorized OpenClaw authorization session into a seller-scoped API key using the matching PKCE code verifier from the client instance that started it. - [GET /api/seller/context](/api/seller/context): Resolve the seller workspace and actor for the current browser session or seller API key. - [GET /api/seller/publishability](/api/seller/publishability): Check whether the resolved seller workspace is currently allowed to publish listings. - [GET /api/seller/shipping-profiles](/api/seller/shipping-profiles): List reusable seller-owned shipping profiles for flat domestic shipping. - [POST /api/seller/shipping-profiles](/api/seller/shipping-profiles): Create a seller-owned flat domestic shipping profile. - [GET /api/seller/shipping-profiles/{shippingProfileId}](/api/seller/shipping-profiles/{shippingProfileId}): Read one seller-owned shipping profile. - [PATCH /api/seller/shipping-profiles/{shippingProfileId}](/api/seller/shipping-profiles/{shippingProfileId}): Patch one seller-owned shipping profile. - [POST /api/seller/listings](/api/seller/listings): Create a seller-owned draft listing with optional initial listing fields. - [GET /api/seller/listings/{listingId}](/api/seller/listings/{listingId}): Read a seller-owned draft or published listing resource. - [PATCH /api/seller/listings/{listingId}](/api/seller/listings/{listingId}): Patch draft listing fields and typed category attributes. - [POST /api/seller/upload-sessions](/api/seller/upload-sessions): Mint draft-scoped direct-upload sessions for listing media. - [POST /api/seller/listings/{listingId}/media](/api/seller/listings/{listingId}/media): Attach uploaded media to a seller-owned draft listing. - [POST /api/seller/listings/{listingId}/publish](/api/seller/listings/{listingId}/publish): Publish a draft listing once seller eligibility, media, and required attributes are complete. ## Repo Docs - [Product](https://raw.githubusercontent.com/AryanJ-NYC/cmd-market/master/docs/product.md): Product scope and marketplace direction. - [Architecture](https://raw.githubusercontent.com/AryanJ-NYC/cmd-market/master/ARCHITECTURE.md): Current runtime shape, auth flow, and storage boundaries. - [Development](https://raw.githubusercontent.com/AryanJ-NYC/cmd-market/master/docs/development.md): Environment setup, commands, auth notes, and route lists. - [Testing](https://raw.githubusercontent.com/AryanJ-NYC/cmd-market/master/docs/testing.md): Verification expectations and current test coverage. - [Web Design](https://raw.githubusercontent.com/AryanJ-NYC/cmd-market/master/apps/web/docs/design.md): Durable web visual system and landing page composition rules. ## Optional - [README](https://raw.githubusercontent.com/AryanJ-NYC/cmd-market/master/README.md): Repo entrypoint and quick-start commands.