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].
api.tx.marketplace.register_marketplace(marketplace_account: Option<SeedPrimitivesSignatureAccountId20>, entitlement: Permill)| Argument | Type | Doc |
|---|---|---|
marketplace_account | Option<SeedPrimitivesSignatureAccountId20> | Option<T::AccountId> |
entitlement | Permill | Permill |
Call index: 0
Marketplace.sell_nft
See [
Pallet::sell_nft].
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>)| Argument | Type | Doc |
|---|---|---|
collection_id | u32 | CollectionUuid |
serial_numbers | Vec<u32> | BoundedVec<SerialNumber, T::MaxTokensPerListing> |
buyer | Option<SeedPrimitivesSignatureAccountId20> | Option<T::AccountId> |
payment_asset | u32 | AssetId |
fixed_price | u128 | Balance |
duration | Option<u32> | Option<BlockNumberFor<T>> |
marketplace_id | Option<u32> | Option<MarketplaceId> |
Call index: 1
Marketplace.sell
See [
Pallet::sell].
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>)| Argument | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | ListingTokens<T> |
buyer | Option<SeedPrimitivesSignatureAccountId20> | Option<T::AccountId> |
payment_asset | u32 | AssetId |
fixed_price | u128 | Balance |
duration | Option<u32> | Option<BlockNumberFor<T>> |
marketplace_id | Option<u32> | Option<MarketplaceId> |
Call index: 2
Marketplace.update_fixed_price
See [
Pallet::update_fixed_price].
api.tx.marketplace.update_fixed_price(listing_id: u128, new_price: u128)| Argument | Type | Doc |
|---|---|---|
listing_id | u128 | ListingId |
new_price | u128 | Balance |
Call index: 3
Marketplace.buy
See [
Pallet::buy].
api.tx.marketplace.buy(listing_id: u128)| Argument | Type | Doc |
|---|---|---|
listing_id | u128 | ListingId |
Call index: 4
Marketplace.buy_multi
See [
Pallet::buy_multi].
api.tx.marketplace.buy_multi(listing_ids: Vec<u128>)| Argument | Type | Doc |
|---|---|---|
listing_ids | Vec<u128> | BoundedVec<ListingId, T::MaxListingsPerMultiBuy> |
Call index: 5
Marketplace.auction_nft
See [
Pallet::auction_nft].
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>)| Argument | Type | Doc |
|---|---|---|
collection_id | u32 | CollectionUuid |
serial_numbers | Vec<u32> | BoundedVec<SerialNumber, T::MaxTokensPerListing> |
payment_asset | u32 | AssetId |
reserve_price | u128 | Balance |
duration | Option<u32> | Option<BlockNumberFor<T>> |
marketplace_id | Option<u32> | Option<MarketplaceId> |
Call index: 6
Marketplace.auction
See [
Pallet::auction].
api.tx.marketplace.auction(tokens: {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}}, payment_asset: u32, reserve_price: u128, duration: Option<u32>, marketplace_id: Option<u32>)| Argument | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | ListingTokens<T> |
payment_asset | u32 | AssetId |
reserve_price | u128 | Balance |
duration | Option<u32> | Option<BlockNumberFor<T>> |
marketplace_id | Option<u32> | Option<MarketplaceId> |
Call index: 7
Marketplace.bid
See [
Pallet::bid].
api.tx.marketplace.bid(listing_id: u128, amount: u128)| Argument | Type | Doc |
|---|---|---|
listing_id | u128 | ListingId |
amount | u128 | Balance |
Call index: 8
Marketplace.cancel_sale
See [
Pallet::cancel_sale].
api.tx.marketplace.cancel_sale(listing_id: u128)| Argument | Type | Doc |
|---|---|---|
listing_id | u128 | ListingId |
Call index: 9
Marketplace.make_simple_offer
See [
Pallet::make_simple_offer].
api.tx.marketplace.make_simple_offer(token_id: (u32,u32), amount: u128, asset_id: u32, marketplace_id: Option<u32>)| Argument | Type | Doc |
|---|---|---|
token_id | (u32,u32) | TokenId |
amount | u128 | Balance |
asset_id | u32 | AssetId |
marketplace_id | Option<u32> | Option<MarketplaceId> |
Call index: 10
Marketplace.cancel_offer
See [
Pallet::cancel_offer].
api.tx.marketplace.cancel_offer(offer_id: u64)| Argument | Type | Doc |
|---|---|---|
offer_id | u64 | OfferId |
Call index: 11
Marketplace.accept_offer
See [
Pallet::accept_offer].
api.tx.marketplace.accept_offer(offer_id: u64)| Argument | Type | Doc |
|---|---|---|
offer_id | u64 | OfferId |
Call index: 12
Marketplace.set_fee_to
See [
Pallet::set_fee_to].
api.tx.marketplace.set_fee_to(fee_to: Option<SeedPrimitivesSignatureAccountId20>)| Argument | Type | Doc |
|---|---|---|
fee_to | Option<SeedPrimitivesSignatureAccountId20> | Option<T::AccountId> |
Call index: 13
Events
Marketplace.FixedPriceSaleList
A fixed price sale has been listed
| Field | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | |
listing_id | u128 | |
marketplace_id | Option<u32> | |
price | u128 | |
payment_asset | u32 | |
seller | [u8;20] | |
close | u32 |
Marketplace.FixedPriceSaleComplete
A fixed price sale has completed
| Field | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | |
listing_id | u128 | |
marketplace_id | Option<u32> | |
price | u128 | |
payment_asset | u32 | |
buyer | [u8;20] | |
seller | [u8;20] |
Marketplace.FixedPriceSaleClose
A fixed price sale has closed without selling
| Field | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | |
listing_id | u128 | |
marketplace_id | Option<u32> | |
reason | {"_enum":["VendorCancelled","Expired","OfferAccepted"]} |
Marketplace.FixedPriceSalePriceUpdate
A fixed price sale has had its price updated
| Field | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | |
listing_id | u128 | |
marketplace_id | Option<u32> | |
new_price | u128 |
Marketplace.AuctionOpen
An auction has opened
| Field | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | |
listing_id | u128 | |
marketplace_id | Option<u32> | |
payment_asset | u32 | |
reserve_price | u128 | |
seller | [u8;20] | |
close | u32 |
Marketplace.AuctionSold
An auction has sold
| Field | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | |
listing_id | u128 | |
marketplace_id | Option<u32> | |
payment_asset | u32 | |
hammer_price | u128 | |
winner | [u8;20] |
Marketplace.AuctionClose
An auction has closed without selling
| Field | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | |
listing_id | u128 | |
marketplace_id | Option<u32> | |
reason | {"_enum":["ExpiredNoBids","SettlementFailed","VendorCancelled"]} |
Marketplace.Bid
A new highest bid was placed
| Field | Type | Doc |
|---|---|---|
tokens | {"_enum":{"Nft":"PalletMarketplaceNftListing","Sft":"PalletMarketplaceSftListing"}} | |
listing_id | u128 | |
marketplace_id | Option<u32> | |
amount | u128 | |
bidder | [u8;20] |
Marketplace.MarketplaceRegister
An account has been registered as a marketplace
| Field | Type | Doc |
|---|---|---|
account | [u8;20] | |
entitlement | Permill | |
marketplace_id | u32 |
Marketplace.Offer
An offer has been made on an NFT
| Field | Type | Doc |
|---|---|---|
offer_id | u64 | |
amount | u128 | |
asset_id | u32 | |
marketplace_id | Option<u32> | |
buyer | [u8;20] |
Marketplace.OfferCancel
An offer has been cancelled
| Field | Type | Doc |
|---|---|---|
offer_id | u64 | |
marketplace_id | Option<u32> | |
token_id | (u32,u32) |
Marketplace.OfferAccept
An offer has been accepted
| Field | Type | Doc |
|---|---|---|
offer_id | u64 | |
marketplace_id | Option<u32> | |
token_id | (u32,u32) | |
amount | u128 | |
asset_id | u32 |
Marketplace.FeeToSet
The network fee receiver address has been updated
| Field | Type | Doc |
|---|---|---|
account | Option<SeedPrimitivesSignatureAccountId20> |
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
await api.query.marketplace.nextMarketplaceId()Returns: u32
Modifier: Default
Marketplace.RegisteredMarketplaces
Map from marketplace account_id to royalties schedule
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
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
await api.query.marketplace.nextListingId()Returns: u128
Modifier: Default
Marketplace.OpenCollectionListings
Map from collection to any open listings
await api.query.marketplace.openCollectionListings(key1, key2)- Key:
(u32,u128)(hashers: Twox64Concat, Twox64Concat) - Returns:
bool
Modifier: Optional
Marketplace.ListingWinningBid
Winning bids on open listings.
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
trueif at block numberlisting_idis scheduled to close.
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
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
await api.query.marketplace.tokenOffers(key1)- Key:
(u32,u32)(hasher: Twox64Concat) - Returns:
Vec<u64>
Modifier: Optional
Marketplace.NextOfferId
The next available offer_id
await api.query.marketplace.nextOfferId()Returns: u64
Modifier: Default
Marketplace.FeeTo
The pallet id for the tx fee pot
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
wss://root.rootnet.live/archive/ws · captured 2026-05-02