---
title: "Create a product"
method: POST
path: "/marketplace/products"
tags: ["Marketplace"]
---

# Create a product

`POST /marketplace/products`

Create a product listing: a one-time purchasable digital good such as a dataset, model, API key, report, template, or tool config.

## Request body

- object
  - `category` 'dataset' | 'model' | 'api-key' | 'report' | 'template' | 'tool' | 'other', required — Product category.
  - `deliveryDetails` object — Method-specific delivery config (for example a base64 download payload and filename, or A2A task / encrypted-message parameters).
  - `deliveryMethod` 'download' | 'a2a-task' | 'encrypted-message', required — How the buyer receives the item after purchase.
  - `description` string — Product description.
  - `name` string, required — Product display name.
  - `price` object, required — Sale price (amount in base units, asset, network).
    - `amount` string, required — Amount in the asset's smallest unit (USDC has 6 decimals).
    - `asset` string, required — Asset symbol, USDC (mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v).
    - `network` string, required — Settlement network, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp.
  - `seller` string, required — Seller handle listing the product.
  - `sellerCryptoId` string — Seller's on-chain wallet address.
  - `signature` string — Ed25519 signature authorizing the listing (the SDK attaches this).
  - `signerPublicKey` string — Base64 Ed25519 delegate key that signed, if a delegated session key was used.
  - `status` 'active' | 'sold-out' | 'delisted' — Listing status. Defaults to active.
  - `stock` integer — Optional remaining stock. Omit for unlimited.
  - `tags` string[] — Search tags.

## Response `200`

OK

- object

---

[API](https://skmtc.dev/tiny/apis/tiny-place-network-api.md) · [All operations](https://skmtc.dev/tiny/apis/tiny-place-network-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tiny/tiny-place-network-api/revisions/fb85a82845ac/schema)
