DMarket Sell Items API

Create, edit, delete and list your sell offers.

OpenAPI Specification

dmarket-sell-items-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: DMarket trading Account Sell Items API
  description: 'Welcome to the DMarket Trading API section. Our JSON-based API enables you to manage your DMarket inventory through the methods featured below. In order to use the API, please generate your personal API keys in the account settings.


    Request signature instructions


    A valid HTTP request to the trading API must include 3 request headers:


    1) X-Api-Key: public key (must be a hex string in lowercase)

    To get you your own public key, use <https://dmarket.com/> (details : <https://dmarket.com/faq#tradingAPI>)


    2) X-Sign-Date: timestamp or current time

    Example: 1605619994. Must not be older than 2 minutes from the request time.


    3) X-Request-Sign: signature


    The Ed25519 signature scheme is used for signing requests and proving items’ origin and ownership through public-private key pairs. Private and public keys diversification is aimed to provide secure back-to-back communication and the ability to rotate keys in case of security breaches on any side of the integration.


    To make a signature, take the following steps:


    1) Build non-signed string formula (HTTP Method) + (Route path + HTTP query params) + (body string) + (timestamp) ). Example:  POST/get-item?Amount=%220.25%22&Limit=%22100%22&Offset=%22150%22&Order=%22desc%22&1605619994)


    2) After you’ve created a non-signed string with a default concatenation method, sign it with Ed25519 (NaCl <https://en.wikipedia.org/wiki/NaCl_(software)> "sign" is Ed25519) using your secret key.

    3) Hex-encode the 64-byte Ed25519 signature

    4) Add your signature string to HTTP request headers X-Request-Sign (dmar ed25519 signature)


    You can check out examples on <https://github.com/dmarket/dm-trading-tools>.


    DMarket uses rate limiting to control the rate of API requests. Please read FAQ for details <https://dmarket.com/faq#startUsingTradingAPI>.'
  version: v2.0.0
  x-logo:
    url: logo.svg
    backgroundColor: '#FFFFFF'
    altText: DMarket logo
servers:
- url: https://api.dmarket.com
security:
- ApiKey: []
  SignDate: []
  RequestSign: []
tags:
- name: Sell Items
  description: Create, edit, delete and list your sell offers.
paths:
  /marketplace-api/v1/deposit-assets:
    post:
      tags:
      - Sell Items
      summary: Deposit assets
      description: Transferring items from a 3rd party inventory (e.g. a Steam game) to a Dmarket inventory.
      operationId: DepositAssets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketplaceDepositAssetsRequest'
            example:
              AssetID:
              - a1b2c3d4-e5f6-7890-abcd-ef1234567890
              - b2c3d4e5-f6a7-8901-bcde-f23456789012
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplaceDepositAssetsResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "# Sign the request and set the three auth headers — reference clients: https://github.com/dmarket/dm-trading-tools\ncurl -X POST 'https://api.dmarket.com/marketplace-api/v1/deposit-assets' \\\n  -H 'Content-Type: application/json' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\" \\\n  -d '{\n  \"AssetID\": [\n    \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"b2c3d4e5-f6a7-8901-bcde-f23456789012\"\n  ]\n}'"
      - lang: Python
        label: Python (dm-trading-tools)
        source: "# Full signing client: https://github.com/dmarket/dm-trading-tools\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"AssetID\": [\n        \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n        \"b2c3d4e5-f6a7-8901-bcde-f23456789012\"\n    ]\n}\nresult, err = client.call(\"POST\", \"/marketplace-api/v1/deposit-assets\", payload=payload)\nprint(result)"
  /marketplace-api/v1/deposit-status/{DepositID}:
    get:
      tags:
      - Sell Items
      summary: Get deposit status
      description: Get information about current deposit transfers.
      operationId: GetDepositStatus
      parameters:
      - name: DepositID
        in: path
        description: Deposit operation unique identifier.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplaceGetDepositStatusResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "# Sign the request and set the three auth headers — reference clients: https://github.com/dmarket/dm-trading-tools\ncurl 'https://api.dmarket.com/marketplace-api/v1/deposit-status/e5f6a7b8-c9d0-1234-ef01-567890123456' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\""
      - lang: Python
        label: Python (dm-trading-tools)
        source: '# Full signing client: https://github.com/dmarket/dm-trading-tools

          from dmarket_client import DMarketClient


          client = DMarketClient(public_key="<public hex>", secret_key="<secret hex>")

          result, err = client.call("GET", "/marketplace-api/v1/deposit-status/e5f6a7b8-c9d0-1234-ef01-567890123456")

          print(result)'
  /marketplace-api/v2/user/offers:
    get:
      tags:
      - Sell Items
      summary: List user offers
      description: 'Get the list of the current user''s active sell offers for further management (edit price, remove from sale). Prices are returned as integer cents. ''gameId'' param values are: CS2 - a8db, Team Fortress 2 - tf2, Dota 2 - 9a92, Rust - rust.'
      operationId: GetUserOffersV2
      x-badges:
      - name: NEW
        color: '#04BA39'
      parameters:
      - name: gameId
        in: query
        description: 'Game identifier. One of: a8db (CS2), 9a92 (Dota 2), tf2, rust.'
        required: true
        schema:
          type: string
          enum:
          - a8db
          - 9a92
          - tf2
          - rust
        example: a8db
      - name: title
        in: query
        description: Filter offers by title prefix (case-insensitive).
        required: false
        schema:
          type: string
      - name: treeFilters
        in: query
        description: 'Attribute filters in comma-separated key=value format. Values must match how the attribute is stored (typically the lowercase Steam string; see allowed values below).


          Supported common keys: `categoryPath`, `type`, `priceCents`, `tradeLockFrom`, `tradeLockTo`. Filter by game and title via the top-level `gameId` and `title` query parameters.


          CS2 keys: `exterior`, `paintSeed`, `floatPart`, `phase`, `category`, `collection`, `charmName`, `charmExists`, `sticker`, `isProskin`, `fadePercentFrom`, `fadePercentTo`.


          TF2 keys: `exterior`, `collection`, `isCraftable`. Dota 2 keys: `hero`.


          Allowed CS2 values:

          - `exterior`: `factory new`, `minimal wear`, `field-tested`, `well-worn`, `battle-scarred`, `not painted`

          - `phase`: `phase-1`, `phase-2`, `phase-3`, `phase-4`, `ruby`, `sapphire`, `emerald`, `black-pearl`

          - `floatPart`: `FN-0`..`FN-6`, `MW-0`..`MW-4`, `FT-0`..`FT-4`, `WW-0`..`WW-4`, `BS-0`..`BS-4` (bucketed float ranges per exterior)

          - `category`: `stattrak_tm` (`_tm` is translated to the ™ symbol server-side), `souvenir`, `normal`, `★` (knives)


          Allowed TF2 exterior values: `factory new`, `minimal wear`, `field-tested`, `well-worn`, `battle-scarred`, `battle scarred`.


          Multi-value: suffix key with `[]`, e.g. `exterior[]=factory new,exterior[]=minimal wear` (URL-encode the space as `%20`).


          Negation: prefix key with `not_`, e.g. `not_exterior=factory new`. Negation is not supported for `charmName`/`sticker`.


          Ranges: `fadePercentFrom=10,fadePercentTo=90`. Steam trade-lock filtering uses `tradeLockFrom`/`tradeLockTo` (remaining lock in days; `tradeLockFrom` is inclusive, `tradeLockTo` is exclusive).


          Existence check: `charmExists=true` / `charmExists=false`.


          Charm and sticker filters (`charmName`, `sticker[]`, `charmExists`) apply to CS2 offers only.


          Example: `categoryPath=rifle,exterior[]=factory new,exterior[]=minimal wear`.'
        required: false
        schema:
          type: string
        example: categoryPath=rifle,exterior[]=factory new
      - name: orderBy
        in: query
        description: 'Sort field. Supported values: `price`, `title`, `float`, `createdAt`.'
        required: false
        schema:
          type: string
          enum:
          - price
          - title
          - float
          - createdAt
      - name: orderDir
        in: query
        description: Sort direction. Defaults to `asc` when `orderBy` is set.
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
      - name: limit
        in: query
        description: Number of items to return per page. Range 1..100.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 100
      - name: cursor
        in: query
        description: Pagination cursor returned from a previous response.
        required: false
        schema:
          type: string
          maxLength: 500
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplacev2GetUserOffersResponse'
              example:
                items:
                - offerId: c3d4e5f6-1234-4abc-9def-7890abcdef12
                  priceCents: 1599
                  createdAt: '2026-06-17T10:30:00Z'
                  locked: false
                  attributes:
                    title: AK-47 | Redline (Field-Tested)
                    gameId: a8db
                    categoryPath: rifle/ak-47
                    tradable: true
                    cs2Attributes:
                      exterior: field-tested
                      floatValue: 0.2356
                      paintSeed: 412
                total: 7
                cursor: ''
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "# Sign the request and set the three auth headers — reference clients: https://github.com/dmarket/dm-trading-tools\ncurl -G 'https://api.dmarket.com/marketplace-api/v2/user/offers' \\\n  --data-urlencode 'gameId=a8db' \\\n  --data-urlencode 'title=AK-47' \\\n  --data-urlencode 'treeFilters=categoryPath=rifle,exterior[]=factory new' \\\n  --data-urlencode 'orderBy=createdAt' \\\n  --data-urlencode 'orderDir=desc' \\\n  --data-urlencode 'limit=10' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\""
      - lang: Python
        label: Python (dm-trading-tools)
        source: "# Full signing client: https://github.com/dmarket/dm-trading-tools\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"gameId\": \"a8db\",\n    \"title\": \"AK-47\",\n    \"treeFilters\": \"categoryPath=rifle,exterior[]=factory new\",\n    \"orderBy\": \"createdAt\",\n    \"orderDir\": \"desc\",\n    \"limit\": 10\n}\nresult, err = client.call(\"GET\", \"/marketplace-api/v2/user/offers\", payload=payload)\nprint(result)"
  /marketplace-api/v2/offers:batchCreate:
    post:
      tags:
      - Sell Items
      summary: Batch create offers
      description: Create multiple offers in a single request.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketplacev2BatchCreateOffersRequest'
            example:
              requests:
              - assetId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                priceCents: 1599
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplacev2BatchCreateOffersResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "# Sign the request and set the three auth headers — reference clients: https://github.com/dmarket/dm-trading-tools\ncurl -X POST 'https://api.dmarket.com/marketplace-api/v2/offers:batchCreate' \\\n  -H 'Content-Type: application/json' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\" \\\n  -d '{\n  \"requests\": [\n    {\n      \"assetId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n      \"priceCents\": 1599\n    }\n  ]\n}'"
      - lang: Python
        label: Python (dm-trading-tools)
        source: "# Full signing client: https://github.com/dmarket/dm-trading-tools\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"requests\": [\n        {\n            \"assetId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n            \"priceCents\": 1599\n        }\n    ]\n}\nresult, err = client.call(\"POST\", \"/marketplace-api/v2/offers:batchCreate\", payload=payload)\nprint(result)"
  /marketplace-api/v2/offers:batchUpdate:
    post:
      tags:
      - Sell Items
      summary: Batch update offers
      description: Update multiple offers in a single request.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketplacev2BatchUpdateOffersRequest'
            example:
              requests:
              - offerId: c3d4e5f6-a7b8-9012-cdef-345678901234
                priceCents: 1799
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplacev2BatchUpdateOffersResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "# Sign the request and set the three auth headers — reference clients: https://github.com/dmarket/dm-trading-tools\ncurl -X POST 'https://api.dmarket.com/marketplace-api/v2/offers:batchUpdate' \\\n  -H 'Content-Type: application/json' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\" \\\n  -d '{\n  \"requests\": [\n    {\n      \"offerId\": \"c3d4e5f6-a7b8-9012-cdef-345678901234\",\n      \"priceCents\": 1799\n    }\n  ]\n}'"
      - lang: Python
        label: Python (dm-trading-tools)
        source: "# Full signing client: https://github.com/dmarket/dm-trading-tools\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"requests\": [\n        {\n            \"offerId\": \"c3d4e5f6-a7b8-9012-cdef-345678901234\",\n            \"priceCents\": 1799\n        }\n    ]\n}\nresult, err = client.call(\"POST\", \"/marketplace-api/v2/offers:batchUpdate\", payload=payload)\nprint(result)"
  /marketplace-api/v2/offers:batchDelete:
    post:
      tags:
      - Sell Items
      summary: Batch delete offers
      description: Delete multiple offers in a single request.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketplacev2BatchDeleteOffersRequest'
            example:
              requests:
              - offerId: c3d4e5f6-a7b8-9012-cdef-345678901234
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplacev2BatchDeleteOffersResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "# Sign the request and set the three auth headers — reference clients: https://github.com/dmarket/dm-trading-tools\ncurl -X POST 'https://api.dmarket.com/marketplace-api/v2/offers:batchDelete' \\\n  -H 'Content-Type: application/json' \\\n  -H \"X-Api-Key: $DMARKET_PUBLIC_KEY\" \\\n  -H \"X-Sign-Date: $TIMESTAMP\" \\\n  -H \"X-Request-Sign: dmar ed25519 $SIGNATURE\" \\\n  -d '{\n  \"requests\": [\n    {\n      \"offerId\": \"c3d4e5f6-a7b8-9012-cdef-345678901234\"\n    }\n  ]\n}'"
      - lang: Python
        label: Python (dm-trading-tools)
        source: "# Full signing client: https://github.com/dmarket/dm-trading-tools\nfrom dmarket_client import DMarketClient\n\nclient = DMarketClient(public_key=\"<public hex>\", secret_key=\"<secret hex>\")\npayload = {\n    \"requests\": [\n        {\n            \"offerId\": \"c3d4e5f6-a7b8-9012-cdef-345678901234\"\n        }\n    ]\n}\nresult, err = client.call(\"POST\", \"/marketplace-api/v2/offers:batchDelete\", payload=payload)\nprint(result)"
components:
  schemas:
    marketplacev2CreateOfferRequest:
      type: object
      properties:
        assetId:
          type: string
          format: uuid
          description: Asset unique identifier.
        priceCents:
          type: integer
          format: int64
          description: Price in cents.
      required:
      - assetId
    marketplacev2BatchDeleteOffersResponse:
      type: object
      properties:
        offers:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2Offer'
        failed:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2BatchDeleteOffersResponseReason'
    marketplaceGetDepositStatusResponse:
      type: object
      properties:
        DepositID:
          type: string
          description: Deposit operation unique identifier.
        AssetID:
          type: array
          description: Initial assets list requested to deposit.
          items:
            type: string
        Status:
          $ref: '#/components/schemas/marketplaceTransferStatus'
        Error:
          type: string
          description: Error details in case of failed deposit operation.
        Assets:
          type: array
          description: 'Map of in-game asset id from request and new in-market asset ids after

            deposit.'
          items:
            $ref: '#/components/schemas/marketplaceAssetMap'
        SteamDepositInfo:
          $ref: '#/components/schemas/marketplaceSteamDepositInfo'
    marketplacev2OfferV2:
      type: object
      description: Marketplace offer with typed attributes.
      properties:
        attributes:
          description: Game-specific asset attributes. See `asset.Attributes` in the marketplace-api proto schema for the full oneof definition.
          type: object
          additionalProperties: true
        priceCents:
          type: integer
          format: int64
          description: Offer price in cents.
        createdAt:
          type: string
          format: date-time
        locked:
          type: boolean
          description: Whether the offer is currently locked (for example, reserved by an in-flight trade) and so cannot be bought.
        offerId:
          type: string
          description: Offer unique identifier.
    marketplacev2UpdateOfferRequest:
      type: object
      properties:
        offerId:
          type: string
          description: Offer unique identifier.
        priceCents:
          type: integer
          format: int64
          description: New price in cents.
    marketplaceDepositAssetsRequest:
      type: object
      properties:
        AssetID:
          type: array
          description: List of asset id to deposit.
          items:
            type: string
    marketplacev2BatchDeleteOffersResponseReason:
      type: object
      properties:
        offerId:
          type: string
        code:
          type: string
        message:
          type: string
    marketplacev2BatchUpdateOffersResponseReason:
      type: object
      properties:
        offerId:
          type: string
        code:
          type: string
        message:
          type: string
    marketplacev2BatchUpdateOffersResponse:
      type: object
      properties:
        offers:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2Offer'
        failed:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2BatchUpdateOffersResponseReason'
    marketplacev2Offer:
      type: object
      properties:
        id:
          type: string
        assetId:
          type: string
    marketplaceTransferStatus:
      type: string
      default: TransferStatusPending
      enum:
      - TransferStatusPending
      - TransferStatusCreated
      - TransferStatusSuccess
      - TransferStatusFailedToCreate
      - TransferStatusError
      - TransferStatusOnHold
    marketplacev2DeleteOfferRequest:
      type: object
      properties:
        offerId:
          type: string
          description: Offer unique identifier.
    marketplacev2BatchDeleteOffersRequest:
      type: object
      properties:
        requests:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2DeleteOfferRequest'
    marketplacev2GetUserOffersResponse:
      type: object
      properties:
        items:
          type: array
          description: User offers.
          items:
            $ref: '#/components/schemas/marketplacev2OfferV2'
        total:
          type: integer
          format: int64
          description: Total number of offers matching the filter criteria across all pages, independent of limit/cursor.
        cursor:
          type: string
          description: Cursor for the next page. Empty when there are no more pages.
    marketplacev2BatchUpdateOffersRequest:
      type: object
      properties:
        requests:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2UpdateOfferRequest'
    marketplacev2BatchCreateOffersResponse:
      type: object
      properties:
        offers:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2Offer'
        failed:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2BatchCreateOffersResponseReason'
    marketplaceSteamDepositInfo:
      type: object
      properties:
        TradeOfferID:
          type: string
          description: Steam trade offer id.
        Message:
          type: string
          description: Custom trade message.
    marketplacev2BatchCreateOffersRequest:
      type: object
      properties:
        requests:
          type: array
          items:
            $ref: '#/components/schemas/marketplacev2CreateOfferRequest'
    marketplaceDepositAssetsResponse:
      type: object
      properties:
        DepositID:
          type: string
          description: Deposit operation unique identifier.
    marketplaceAssetMap:
      type: object
      properties:
        InGameAssetID:
          type: string
          description: In-game asset identifier.
        DmarketAssetID:
          type: string
          description: In-market asset identifier.
    runtimeError:
      type: object
      properties:
        error:
          type: string
        code:
          type: integer
          format: int32
        message:
          type: string
    marketplacev2BatchCreateOffersResponseReason:
      type: object
      properties:
        assetId:
          type: string
        code:
          type: string
        message:
          type: string
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Public API key (lowercase hex). Generate it in your DMarket account settings. See https://dmarket.com/faq#tradingAPI.
    SignDate:
      type: apiKey
      in: header
      name: X-Sign-Date
      description: Unix timestamp in seconds at signing time (e.g. 1605619994). Must be within 2 minutes of server time.
    RequestSign:
      type: apiKey
      in: header
      name: X-Request-Sign
      description: 'Ed25519 request signature prefixed with `dmar ed25519 `. Sign the concatenation of HTTP method + path (including query string) + body + X-Sign-Date with your secret key, then hex-encode the 64-byte Ed25519 signature. Reference clients (Go, Python, JS, PHP): https://github.com/dmarket/dm-trading-tools.'
x-tagGroups:
- name: Account
  tags:
  - Account
- name: Trading
  tags:
  - Buy items
  - Sell Items
  - Sold user items
- name: Inventory
  tags:
  - Inventory/items
- name: Market data
  tags:
  - Aggregator