Marketplace data
Listings across venues
Read live NFT listings from every Sui venue in one shape, understand the all-in price, and check that a listing is still buyable.
rare.market indexes live listings from every venue that sells Sui NFTs and returns them in one shape. Every listing carries an all-in price: what a buyer actually pays, so you can compare venues directly.
Venues
source names the contract or store inside a venue that holds the listing. Treat it as an opaque label: use it to group or display listings, not to branch logic on. New sources can appear.
The all-in price
allInMist = priceMist + feeMist + royaltyEvery grid, floor, price filter and price sort in the API uses allInMist, never the bare priceMist. Gas is not included.
A real example, from a listing with a legacy commission:
Venue notes
- Drip v2 listings are bought straight from the seller's kiosk, so
feeMistis0. Drip's own fee is inextra.venueFeeMist; a buyer pays it only if the direct path fails and the purchase goes through Drip's contract. - Kiosk listings carry no marketplace fee. Their
selleris an empty string, because a plain kiosk listing does not record one; item cards show the kiosk's holder asowner. TheirorderKeyis{kioskId}:{itemId}. commissionMistis a legacy cut some older listings take out of the price. The seller pays it, so it is not added toallInMist. It does lower the base the royalty is computed on.extra.feeBpsis the venue's fee rate in basis points, when the venue publishes one.
List listings
Returns every live SUI listing for a collection or a seller, cheapest all-in first. Unlike item grids, an item listed on two venues appears twice, once per listing. Each row is a listing plus itemId.
curl "https://rare.market/api/v1/orders?collection=pawtato-heroes&venue=drip&limit=1"{
"data": [
{
"venue": "drip",
"source": "drip/v2",
"orderKey": "0x1489ee378fe80bbf25e57aef5fda710fa24fb3eaa290e3d663d8992303de1118",
"objectId": null,
"priceMist": "7000000000",
"allInMist": "7490000000",
"feeMist": "0",
"commissionMist": "0",
"seller": "0xe97ff0c26dc10ef603f3bd24ec105d2b4d5292ed67a1879c2b73a872e481cae7",
"listedAt": "2026-10-21T19:36:34.145Z",
"kioskId": "0xb8616d874d01a0a8b858433e5205d881cf672e066aa8b305c89f11a866baae1b",
"nftType": "0xe0fa7b75a3dc8137b38bceb0c0c21c10e0f57c408fe9068694f58fd21e071925::pawtato_heroes::HERO",
"extra": {
"feeBps": 200,
"venueFeeMist": "140000000",
"royaltyMist": "490000000",
"policyId": "0xe703c7734b847fe72519558e30b42370ca479d8966065dbfca177d3ece817a0a"
},
"itemId": "0x1489ee378fe80bbf25e57aef5fda710fa24fb3eaa290e3d663d8992303de1118"
}
],
"nextCursor": "WyI3NDkwMDAwMDAwIiwiZHJpcCIsIjB4MTQ4OWVlMzc4ZmU4MGJiZjI1ZTU3YWVmNWZkYTcxMGZhMjRmYjNlYWEyOTBlM2Q2NjNkODk5MjMwM2RlMTExOCJd"
}Listing fields
Check one listing
Returns one listing, or 404 not_found once it is sold or delisted. URL-encode orderKey: kiosk keys contain a colon.
curl "https://rare.market/api/v1/orders/kiosk/0x4521a8c8ccf0cd6023abffef6d8ba29e292bc09fac25a5f36a15187daa95a4e4%3A0x23f72b63194f670db3708afee8fe34bbae76ad9a1013140b17a8fff35422cbbf"{
"venue": "kiosk",
"source": "kiosk/native",
"orderKey": "0x4521a8c8ccf0cd6023abffef6d8ba29e292bc09fac25a5f36a15187daa95a4e4:0x23f72b63194f670db3708afee8fe34bbae76ad9a1013140b17a8fff35422cbbf",
"objectId": null,
"priceMist": "74000000000",
"allInMist": "77700000000",
"feeMist": "0",
"commissionMist": "0",
"seller": "",
"listedAt": "2026-10-12T16:28:26.039Z",
"kioskId": "0x4521a8c8ccf0cd6023abffef6d8ba29e292bc09fac25a5f36a15187daa95a4e4",
"nftType": "0xb908f3c6fea6865d32e2048c520cdfe3b5c5bbcebb658117c41bad70f52b7ccc::popkins_nft::Popkins",
"extra": {
"royaltyMist": "3700000000",
"policyId": "0x5f5c322c20a465b6853b6151d816bb875e910bd069e8deb1cd7c6fb59ed19ce3"
}
}Read a buyable listing
Find the listing
Take
listingfrom an item card (the cheapest across venues) or a row fromGET /orders. Keepvenue,orderKeyand the itemid.Show the all-in price
Show
allInMistas the price. If you break it down, showpriceMist,feeMistandextra.royaltyMist.Revalidate before checkout
Listings change every few seconds. Call
GET /orders/{venue}/{orderKey}for one listing,POST /items:lookupfor a cart, or ask for a quote (below).Send the buyer to rare.market
Purchases happen on chain, in a transaction the buyer signs. Link the buyer to the item on rare.market to complete it.
Quote a purchase
Prices a cart of up to 50 listings and reports which are still available. The body is { "items": [{ "itemId", "venue", "orderKey" }] }. Quotes are advisory: the transaction enforces the real amounts on chain.
curl -X POST "https://rare.market/api/v1/quotes/buy" \
-H "content-type: application/json" \
-d '{"items":[{"itemId":"0x1489ee378fe80bbf25e57aef5fda710fa24fb3eaa290e3d663d8992303de1118","venue":"drip","orderKey":"0x1489ee378fe80bbf25e57aef5fda710fa24fb3eaa290e3d663d8992303de1118"}]}'{
"lines": [
{
"itemId": "0x1489ee378fe80bbf25e57aef5fda710fa24fb3eaa290e3d663d8992303de1118",
"venue": "drip",
"orderKey": "0x1489ee378fe80bbf25e57aef5fda710fa24fb3eaa290e3d663d8992303de1118",
"priceMist": "7000000000",
"available": true
}
],
"subtotalMist": "7000000000",
"fees": [
{ "label": "Creator royalty", "kind": "royalty", "amountMist": "490000000" },
{ "label": "Network fee", "kind": "network", "amountMist": "4700000" }
],
"totalMist": "7494700000"
}The network line is a rough gas estimate; the wallet shows the real figure. Quotes may also carry savingsMist, savingsVs and savings (what the same cart costs on other venues) when savings analytics are available. The response is never cached.
Gotchas
- Compare
allInMist, notpriceMist. Two listings with the samepriceMiston different venues can cost the buyer different amounts. makermisses plain kiosk listings. They record no seller, soGET /orders?maker=cannot find them. Use the wallet endpoints in Wallets and portfolio to see what an address holds.- SUI only. Listings priced in other coins are not returned.
/ordersneeds a filter. Withoutcollectionormakerit returns404 not_foundwith the messagePass collection or maker./orderswith an unknownvenueignores the filter instead of returning an error.
