Skip to content

Marketplace pallet

Derived from live runtime metadata on TRN root (pallet index 44, captured 2026-05-02). For prose-style documentation see Marketplace on the curated reference side.

Pallet index
44
Calls
14
Events
13
Errors
24
Storage items
11
Constants
3

Calls (extrinsics)

Marketplace.register_marketplace

See [Pallet::register_marketplace].

ts
api.tx.marketplace.register_marketplace(marketplace_account: Option<SeedPrimitivesSignatureAccountId20>, entitlement: Permill)
ArgumentTypeDoc
marketplace_accountOption&lt;SeedPrimitivesSignatureAccountId20&gt;Option<T::AccountId>
entitlementPermillPermill

Call index: 0

Marketplace.sell_nft

See [Pallet::sell_nft].

ts
api.tx.marketplace.sell_nft(collection_id: u32, serial_numbers: Vec<u32>, buyer: Option<SeedPrimitivesSignatureAccountId20>, payment_asset: u32, fixed_price: u128, duration: Option<u32>, marketplace_id: Option<u32>)
ArgumentTypeDoc
collection_idu32CollectionUuid
serial_numbersVec&lt;u32&gt;BoundedVec<SerialNumber, T::MaxTokensPerListing>
buyerOption&lt;SeedPrimitivesSignatureAccountId20&gt;Option<T::AccountId>
payment_assetu32AssetId
fixed_priceu128Balance
durationOption&lt;u32&gt;Option<BlockNumberFor<T>>
marketplace_idOption&lt;u32&gt;Option<MarketplaceId>

Call index: 1

Marketplace.sell

See [Pallet::sell].

ts
api.tx.marketplace.sell(tokens: {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}, buyer: Option<SeedPrimitivesSignatureAccountId20>, payment_asset: u32, fixed_price: u128, duration: Option<u32>, marketplace_id: Option<u32>)
ArgumentTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}ListingTokens<T>
buyerOption&lt;SeedPrimitivesSignatureAccountId20&gt;Option<T::AccountId>
payment_assetu32AssetId
fixed_priceu128Balance
durationOption&lt;u32&gt;Option<BlockNumberFor<T>>
marketplace_idOption&lt;u32&gt;Option<MarketplaceId>

Call index: 2

Marketplace.update_fixed_price

See [Pallet::update_fixed_price].

ts
api.tx.marketplace.update_fixed_price(listing_id: u128, new_price: u128)
ArgumentTypeDoc
listing_idu128ListingId
new_priceu128Balance

Call index: 3

Marketplace.buy

See [Pallet::buy].

ts
api.tx.marketplace.buy(listing_id: u128)
ArgumentTypeDoc
listing_idu128ListingId

Call index: 4

Marketplace.buy_multi

See [Pallet::buy_multi].

ts
api.tx.marketplace.buy_multi(listing_ids: Vec<u128>)
ArgumentTypeDoc
listing_idsVec&lt;u128&gt;BoundedVec<ListingId, T::MaxListingsPerMultiBuy>

Call index: 5

Marketplace.auction_nft

See [Pallet::auction_nft].

ts
api.tx.marketplace.auction_nft(collection_id: u32, serial_numbers: Vec<u32>, payment_asset: u32, reserve_price: u128, duration: Option<u32>, marketplace_id: Option<u32>)
ArgumentTypeDoc
collection_idu32CollectionUuid
serial_numbersVec&lt;u32&gt;BoundedVec<SerialNumber, T::MaxTokensPerListing>
payment_assetu32AssetId
reserve_priceu128Balance
durationOption&lt;u32&gt;Option<BlockNumberFor<T>>
marketplace_idOption&lt;u32&gt;Option<MarketplaceId>

Call index: 6

Marketplace.auction

See [Pallet::auction].

ts
api.tx.marketplace.auction(tokens: {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}, payment_asset: u32, reserve_price: u128, duration: Option<u32>, marketplace_id: Option<u32>)
ArgumentTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}ListingTokens<T>
payment_assetu32AssetId
reserve_priceu128Balance
durationOption&lt;u32&gt;Option<BlockNumberFor<T>>
marketplace_idOption&lt;u32&gt;Option<MarketplaceId>

Call index: 7

Marketplace.bid

See [Pallet::bid].

ts
api.tx.marketplace.bid(listing_id: u128, amount: u128)
ArgumentTypeDoc
listing_idu128ListingId
amountu128Balance

Call index: 8

Marketplace.cancel_sale

See [Pallet::cancel_sale].

ts
api.tx.marketplace.cancel_sale(listing_id: u128)
ArgumentTypeDoc
listing_idu128ListingId

Call index: 9

Marketplace.make_simple_offer

See [Pallet::make_simple_offer].

ts
api.tx.marketplace.make_simple_offer(token_id: (u32,u32), amount: u128, asset_id: u32, marketplace_id: Option<u32>)
ArgumentTypeDoc
token_id(u32,u32)TokenId
amountu128Balance
asset_idu32AssetId
marketplace_idOption&lt;u32&gt;Option<MarketplaceId>

Call index: 10

Marketplace.cancel_offer

See [Pallet::cancel_offer].

ts
api.tx.marketplace.cancel_offer(offer_id: u64)
ArgumentTypeDoc
offer_idu64OfferId

Call index: 11

Marketplace.accept_offer

See [Pallet::accept_offer].

ts
api.tx.marketplace.accept_offer(offer_id: u64)
ArgumentTypeDoc
offer_idu64OfferId

Call index: 12

Marketplace.set_fee_to

See [Pallet::set_fee_to].

ts
api.tx.marketplace.set_fee_to(fee_to: Option<SeedPrimitivesSignatureAccountId20>)
ArgumentTypeDoc
fee_toOption&lt;SeedPrimitivesSignatureAccountId20&gt;Option<T::AccountId>

Call index: 13

Events

Marketplace.FixedPriceSaleList

A fixed price sale has been listed

FieldTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}
listing_idu128
marketplace_idOption&lt;u32&gt;
priceu128
payment_assetu32
seller[u8;20]
closeu32

Marketplace.FixedPriceSaleComplete

A fixed price sale has completed

FieldTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}
listing_idu128
marketplace_idOption&lt;u32&gt;
priceu128
payment_assetu32
buyer[u8;20]
seller[u8;20]

Marketplace.FixedPriceSaleClose

A fixed price sale has closed without selling

FieldTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}
listing_idu128
marketplace_idOption&lt;u32&gt;
reason{"_enum":["VendorCancelled","Expired","OfferAccepted"]}

Marketplace.FixedPriceSalePriceUpdate

A fixed price sale has had its price updated

FieldTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}
listing_idu128
marketplace_idOption&lt;u32&gt;
new_priceu128

Marketplace.AuctionOpen

An auction has opened

FieldTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}
listing_idu128
marketplace_idOption&lt;u32&gt;
payment_assetu32
reserve_priceu128
seller[u8;20]
closeu32

Marketplace.AuctionSold

An auction has sold

FieldTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}
listing_idu128
marketplace_idOption&lt;u32&gt;
payment_assetu32
hammer_priceu128
winner[u8;20]

Marketplace.AuctionClose

An auction has closed without selling

FieldTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}
listing_idu128
marketplace_idOption&lt;u32&gt;
reason{"_enum":["ExpiredNoBids","SettlementFailed","VendorCancelled"]}

Marketplace.Bid

A new highest bid was placed

FieldTypeDoc
tokens{"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}
listing_idu128
marketplace_idOption&lt;u32&gt;
amountu128
bidder[u8;20]

Marketplace.MarketplaceRegister

An account has been registered as a marketplace

FieldTypeDoc
account[u8;20]
entitlementPermill
marketplace_idu32

Marketplace.Offer

An offer has been made on an NFT

FieldTypeDoc
offer_idu64
amountu128
asset_idu32
marketplace_idOption&lt;u32&gt;
buyer[u8;20]

Marketplace.OfferCancel

An offer has been cancelled

FieldTypeDoc
offer_idu64
marketplace_idOption&lt;u32&gt;
token_id(u32,u32)

Marketplace.OfferAccept

An offer has been accepted

FieldTypeDoc
offer_idu64
marketplace_idOption&lt;u32&gt;
token_id(u32,u32)
amountu128
asset_idu32

Marketplace.FeeToSet

The network fee receiver address has been updated

FieldTypeDoc
accountOption&lt;SeedPrimitivesSignatureAccountId20&gt;

Errors

Marketplace.NoAvailableIds

No more Ids are available, they've been exhausted

Marketplace.NotTokenOwner

Origin does not own the NFT

Marketplace.NotForFixedPriceSale

The token is not listed for fixed price sale

Marketplace.NotForAuction

The token is not listed for auction sale

Marketplace.NotCollectionOwner

Origin is not the collection owner and is not permitted to perform the operation

Marketplace.TokenNotListed

The token is not listed for sale

Marketplace.MaxOffersReached

The maximum number of offers on this token has been reached

Marketplace.TokenLocked

Cannot operate on a listed NFT

Marketplace.RoyaltiesInvalid

Total royalties would exceed 100% of sale or an empty vec is supplied

Marketplace.BidTooLow

Auction bid was lower than reserve or current highest bid

Marketplace.MixedBundleSale

Selling tokens from different collection is not allowed

Marketplace.MarketplaceNotRegistered

The account_id hasn't been registered as a marketplace

Marketplace.InvalidMetadataPath

The metadata path is invalid (non-utf8 or empty)

Marketplace.InvalidOffer

No offer exists for the given OfferId

Marketplace.NotBuyer

The caller is not the specified buyer

Marketplace.NotSeller

The caller is not the seller of the NFT

Marketplace.IsTokenOwner

The caller owns the token and can't make an offer

Marketplace.ZeroOffer

Offer amount needs to be greater than 0

Marketplace.ZeroBalance

The balance of tokens within the listing must be greater than zero

Marketplace.TokenOnAuction

Cannot make an offer on a token up for auction

Marketplace.EmptyTokens

No tokens were specified in the listing

Marketplace.NoToken

The token does not exist

Marketplace.DurationTooShort

The listing duration is too short

Marketplace.DuplicateTokens

The listing contains duplicate tokens

Storage

Marketplace.NextMarketplaceId

The next available marketplace id

ts
await api.query.marketplace.nextMarketplaceId()

Returns: u32

Modifier: Default

Marketplace.RegisteredMarketplaces

Map from marketplace account_id to royalties schedule

ts
await api.query.marketplace.registeredMarketplaces(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: {"account":"SeedPrimitivesSignatureAccountId20","entitlement":"Permill"}

Modifier: Optional

Marketplace.Listings

NFT sale/auction listings keyed by listing id

ts
await api.query.marketplace.listings(key1)
  • Key: u128 (hasher: Twox64Concat)
  • Returns: {"_enum":{"FixedPrice":"PalletMarketplaceFixedPriceListing","Auction":"PalletMarketplaceAuctionListing"}}

Modifier: Optional

Marketplace.NextListingId

The next available listing Id

ts
await api.query.marketplace.nextListingId()

Returns: u128

Modifier: Default

Marketplace.OpenCollectionListings

Map from collection to any open listings

ts
await api.query.marketplace.openCollectionListings(key1, key2)
  • Key: (u32,u128) (hashers: Twox64Concat, Twox64Concat)
  • Returns: bool

Modifier: Optional

Marketplace.ListingWinningBid

Winning bids on open listings.

ts
await api.query.marketplace.listingWinningBid(key1)
  • Key: u128 (hasher: Twox64Concat)
  • Returns: (SeedPrimitivesSignatureAccountId20,u128)

Modifier: Optional

Marketplace.ListingEndSchedule

Block numbers where listings will close. Value is true if at block number listing_id is scheduled to close.

ts
await api.query.marketplace.listingEndSchedule(key1, key2)
  • Key: (u32,u128) (hashers: Twox64Concat, Twox64Concat)
  • Returns: bool

Modifier: Optional

Marketplace.Offers

Map from offer_id to the information related to the offer

ts
await api.query.marketplace.offers(key1)
  • Key: u64 (hasher: Twox64Concat)
  • Returns: {"_enum":{"Simple":"PalletMarketplaceSimpleOffer"}}

Modifier: Optional

Marketplace.TokenOffers

Maps from token_id to a vector of offer_ids on that token

ts
await api.query.marketplace.tokenOffers(key1)
  • Key: (u32,u32) (hasher: Twox64Concat)
  • Returns: Vec<u64>

Modifier: Optional

Marketplace.NextOfferId

The next available offer_id

ts
await api.query.marketplace.nextOfferId()

Returns: u64

Modifier: Default

Marketplace.FeeTo

The pallet id for the tx fee pot

ts
await api.query.marketplace.feeTo()

Returns: Option<SeedPrimitivesSignatureAccountId20>

Modifier: Default

Constants

Marketplace.DefaultListingDuration

Default auction / sale length in blocks

Type: u32
SCALE-encoded value: 0x20fd0000

Marketplace.DefaultFeeTo

The default account which collects network fees from marketplace sales

Type: Option<FrameSupportPalletId>
SCALE-encoded value: 0x017478666565706f74

Marketplace.PalletId

This pallet's Id, used for deriving a sovereign account ID

Type: [u8;8]
SCALE-encoded value: 0x6d61726b6574706c

Source: live chain metadata from wss://root.rootnet.live/archive/ws · captured 2026-05-02

Curated independently by Codeology. Source-attributed reference for The Root Network. Not affiliated with Futureverse / TRN Labs.