Tradeport bidding: Sui bid pools and legacy bids

TradePort supports offers on individual NFTs and collection bids on Sui. Its Sui NFT Trading SDK uses shared bid pools for non-Origin Byte kiosk collections. Collections using the deprecated Origin Byte standard fall back to legacy bidding, with funds locked separately for each offer.

Updated
Funding paths in the Sui NFT Trading SDK
Funding detail Bid pools Legacy bids
Applicable collections Non-Origin Byte kiosk collections on Sui. Collections using the deprecated Origin Byte kiosk standard on Sui.
Funds backing offers One pool holds a shared balance for multiple bids. Each individual bid locks its funds up front.
Existing pool reference multiBidId identifies the existing pool used to fund a bid. The SDK falls back to legacy bidding even if multiBidId is supplied.

Individual offers and collection bids

placeNftBids targets one or more specific NFTs using each NFT’s id value from the NFT Data API. A collection offer uses placeCollectionBid with the collection’s id value. On acceptance, a collection bid is paired with the particular NFT the seller supplies.

Both placement methods accept bid-pool references. Choosing an individual NFT or a collection sets the offer target; the collection’s kiosk standard determines whether pooled funding applies.

Bid price
bidAmountInMist is the amount of each bid in MIST. One SUI equals 1,000,000,000 MIST.
Collection quantity
numOfBids is the number of collection bids created at that per-bid price.
Expiry
expireAt optionally sets an expiration date for an individual-NFT or collection bid.

Pool identifiers and transaction chaining

An existing pool is referenced with multiBidId . When creating a pool and placing bids in the same transaction, createMultiBid returns multiBidChainId and the pool transaction. The bid method uses that multiBidChainId , with the serialized pool transaction passed through tx .

createMultiBid accepts optional initial funding through amount , expressed in MIST as a BigInt. The pool can also receive funds later through updateMultiBid .

Removing offers or cancelling a whole pool

updateMultiBid can add funds, withdraw funds or rename an existing pool. Deleting a pool with cancelMultiBid cancels all active bids inside it and returns the remaining balance to the bidder’s wallet.

Selected offers have separate removal methods. removeNftBids takes bid IDs whose API record has bid.type === "solo" . removeCollectionBids takes IDs with bid.type === "collection" . Those types distinguish the offer targets, while whole-pool cancellation affects every active bid in the selected pool.

Visual outline: Tradeport bidding - Removing offers or cancelling a whole pool

View image file

Signing, acceptance and claimable NFTs

The SDK returns a Sui transaction for the application’s wallet signing and execution method. Preparing the transaction alone does not place an on-chain offer. Sellers accept individual-NFT offers through acceptNftBids . For collection bids, acceptCollectionBid pairs a bidId with an nftId ; the SDK calls this Instant Sell.

An Origin Byte Trade Hold occurs when the smart contract automatically accepts a current collection offer because the NFT was listed below that offer. This behavior belongs to the Origin Byte path.

claimNfts applies only to NFTs marked nft.claimable === true . NFTs transferred to a buyer through an accepted collection bid and Origin Byte NFTs under a Trade Hold are among the documented claimable cases.

Bidding decision checklist

  • Choose a specific-NFT offer or collection bid, then use the corresponding NFT Data API IDs.
  • For an Origin Byte collection, account for funds locked per legacy bid even when a pool ID is supplied.
  • For pooled bidding, use multiBidId for an existing pool or multiBidChainId when creating the pool and bids in the same transaction.
  • Remove selected bid IDs to end those offers; choose cancelMultiBid only when all active bids in that pool should be cancelled.