Asset Layer Docs
Asset LayerAPI Docs
  • 👋Welcome
  • Getting Started
    • Quick Start
      • Quick Start for Developers
      • Quick Start for Creators
      • Quick Start for Unity
    • Core Concepts
      • Users
      • Auth + Permissions
      • Teams
      • Apps
      • Slots
      • Expressions
      • Assets + Collections
      • Currencies
      • Marketplace and Shops
      • Core Concepts in Action
    • SDK Docs
      • Setup
      • Users
        • getUser()
      • Apps
        • info()
        • getApp()
        • getApps()
        • slots()
        • getAppSlots()
        • getAppSlotIds()
      • Slots
        • getSlot()
        • collections()
        • getSlotCollections()
        • getSlotCollectionIds()
        • getSlotExpressions()
        • createExpression()
        • updateExpression()
        • getExpressionTypes()
      • Collections
        • info()
        • getCollection()
        • getCollections()
        • assets()
        • getCollectionAssets()
        • getCollectionAssetIds()
        • createCollection()
        • updateCollection()
        • updateCollectionImage()
        • activateCollection()
        • deactivateCollection()
      • Assets
        • info()
        • getAsset()
        • getAssets()
        • user()
        • getUserAssets()
        • getUserAssetIds()
        • getUserAssetCounts()
        • getUserCollectionAssets()
        • getUserCollectionsAssets()
        • getUserSlotAssets()
        • getUserSlotsAssets()
        • mintAssets()
        • send()
        • sendAsset()
        • sendAssets()
        • sendCollectionAssets()
        • sendLowestAsset()
        • sendRandomAsset()
        • update()
        • updateAsset()
        • updateAssets()
        • updateCollectionAssets()
        • expressionValues()
        • updateAssetExpressionValue()
        • updateAssetsExpressionValue()
        • updateCollectionAssetsExpressionValue()
        • updateBulkExpressionValues()
      • Equips
        • getEquips()
        • setEquip()
        • removeEquip()
      • Currencies
        • info()
        • getCurrency()
        • balance()
        • getCurrencyBalance()
        • getCurrencySummary()
        • increaseCurrencyBalance()
        • decreaseCurrencyBalance()
        • transferCurrency()
      • Listings
        • getListing()
        • user()
        • getUserListings()
        • getUserListingsCounts()
        • getUserCollectionListings()
        • getUserCollectionListingsCounts()
        • getUserSales()
        • getUserSalesCounts()
        • getUserPurchases()
        • getUserPurchasesCounts()
        • collection()
        • getCollectionListings()
        • getCollectionsListings()
        • getCollectionListingsCounts()
        • getCollectionsListingsCounts()
        • getCollectionListingsStats()
        • getCollectionsListingsStats()
        • app()
        • getAppListings()
        • getAppListingsCounts()
        • getAppListingsStats()
        • new()
        • listAsset()
        • listAssets()
        • listCollectionAssets()
        • updateListing()
        • buyListing()
        • removeListing()
      • Shop
        • buyItem()
        • summary()
      • Core Types
        • User
        • App
        • Slot
        • Expression
        • Collection
        • Asset
        • Equip
        • Currency
        • Listing
        • Shop
        • Basic
      • SDK Repo
      • C# SDK for Unity
    • Guides
      • How to Integrate Asset Layer into your Unity Game
    • API Docs
    • Asset Layer GPT
  • Build an app
    • App Setup
      • Creating an App
      • Managing Apps
      • App Info
      • Manage Permissions
      • Manage Slots
      • Manage Collections
      • Manage Currencies
      • App Settings
    • App Development
    • Build With Unity
      • Unity App Setup
      • Advanced Unity Setup
        • WebGL App Setup
      • Asset Layer Unity SDK
        • Login + Authentication
        • Create Assets in Unity
        • Import Assets Into Your Scene
        • Inventory Manager
        • Sync Your Assets
        • Asset Layer Game Server
        • C# SDK
    • Sample App
      • Getting Started With Sample App Locally
      • Environment Variables
      • API Routes
      • Deployment
      • Default Pages
      • Deploying Your Unity WebGL Game Through Sample App
  • Create and Manage Assets
    • Create Assets With Code
    • Create Assets Without Code
      • Create Assets for My App
      • Submit a Collection for a 3rd Party App
      • Create an Independent Collection - Coming Soon!
    • Create Assets in Unity
    • Managing Collections from 3rd Party Creators
  • Manage Assets
    • My Assets
      • Listing Assets for Sale
      • Sending Assets as a Gift
      • My Listings
      • Marketplace History
    • Marketplace
  • Settings
    • Team Settings
    • Account Settings
    • Pricing
  • Details
    • Expression Types
      • Image
      • Audio
      • Video
      • Unity
      • Spine 4.0 (2D Animated Characters)
      • Additional Expression Types
Powered by GitBook
On this page
  • Listings and Marketplaces
  • Listings
  • Listing Data Model
  • Example Listing Data
  • Shops
  • Shop Item Data Model
  • Example Shop Item Data
  1. Getting Started
  2. Core Concepts

Marketplace and Shops

PreviousCurrenciesNextCore Concepts in Action

Last updated 1 year ago

Listings and Marketplaces

Asset Layer allows apps to create and manage listings in order to create marketplaces. By storing listings on Asset Layer, multiple marketplaces can have access to the same listings. This means your assets could be listed for sale on many marketplaces at once.

By default, new listings will be accessible through the . For details on how to use the marketplace, check out Marketplace

Listings

Listings are used to list assets for sale in marketplaces. All listings specify an asset for sale, a seller of the asset, a price, and the curency in which that price is denominated. Listings can have one of four statuses: active, inactive, sold, or canceled. An inactive listing can also have a liveTime which specifies when the listing will become active. This is a great way to schedule a release for a new collection.

Listing Data Model

  • listingId: a UUID for the listing

  • assetId: the UUID of the asset being listed

  • price: the price of the listing in the chosen currency

  • currencyId: the currency that the listing is priced in if the chosen currency is an app currency

  • currency: the currency code if the chosen currency is a universal currency (BSV, for example)

  • appId: the app from which the asset being listed belongs

  • slotId: the slot from which the asset being listed belongs

  • collectionId: the collection from which the asset being listed belongs

  • serial: the serial number of the asset being listed

  • userId: the user who is selling the asset

  • status: whether the listing is active, inactive, sold, or canceled

  • liveTime: date-time when the listing will become or became active

  • createdAt: date-time when the listing was created

  • updatedAt: date-time when the listing was last updated

  • soldTime: date-time when the listing was purchased (if applicable)

Example Listing Data

"listingId": "63343dc02b4c748ef439e4c1",
"assetId": "c79020015297917828a198f310c115f2",
"price": 0.6,
"currency": "BSV",
"appId": "63243dc02b4c748ef439e4c1",
"slotId": "67843dc02b4c748ef439e4c1",
"collectionId": "63243dc02b4c748ef439e4c1",
"userId": "64643dc02b4c748ef439e4c1",
"status": "active",
"liveTime": 1664368064652,
"createdAt": 1664368064652,
"updatedAt": 1668174745324

Shops

Shops are used to make it easy for apps to create storefronts where they are listing new assets for sale. Instead of adding individual assets to a shop the way that listings add individual assets to the marketplace, apps can add shop items to their shop. A shop item specifies a collection and a price. Users can pay the price to get a newly minted asset from the specified collection.

Shop Item Data Model

  • itemId: a UUID for the shop item

  • collectionId: the colletionId of the shop item

  • currencyId: the currencyId of the currency the shop item is priced in

  • price: the price of the shop item

  • appId: the appId this shop item belongs to

  • status: active or inactive

  • paymentUserId: the userId of the user who receives payments when new assets are purchased using this shop item

  • createdAt: date-time when the listing was created

  • updatedAt: date-time when the listing was last updated

Example Shop Item Data

"itemId": "63343dc02b4c748ef439e4c1",
"collectionId": "69020015297917828a198f315",
"price": 5000,
"currencyId": "63643dc02b4c748ef439e4c1",
"appId": "6bb43dc02b4c748ef439e4c1",
"status": "active",
"paymentUserId": "6a643dc02b4c748ef439e4c1",
"createdAt": 1664368064652,
"updatedAt": 1668174745324
Asset Layer marketplace