Skip to main content

Kiosks NFTs

Access NFTs stored in a Sui Kiosk with complete metadata, listing information, and ownership details.

Overview

The Kiosks NFTs endpoint returns all NFTs stored in a specific Kiosk, including:

  • Complete NFT metadata and display properties
  • Listing prices for NFTs available for sale
  • Kiosk ownership information
  • Pagination support for large Kiosks

Kiosks are Sui's native solution for NFT custody, trading, and royalty enforcement. This endpoint is essential for marketplace integrations and Kiosk explorers.

Endpoint

GET /kiosks/{id}/nfts

Base URL: https://api.surflux.dev

Parameters

Path Parameters

ParameterTypeRequiredDescription
idstringYesKiosk object ID

Example: 0x9aab72bc43ab621ee245e8603c5a16355adf9bf1ec5357ad1df912c9902a5ac9

Query Parameters

ParameterTypeRequiredDefaultDescription
pagenumberNo0Page number for pagination (starts from 0)
perPagenumberNo10Number of items per page (max 50)
collectionsstring[]No[]Filter by collection types
api-keystringYes-API key for authentication

Request Examples

Basic Request

curl "https://api.surflux.dev/kiosks/0x9aab72bc43ab621ee245e8603c5a16355adf9bf1ec5357ad1df912c9902a5ac9/nfts?page=0&perPage=20&api-key=your_api_key_here"

Filter by Collection

curl "https://api.surflux.dev/kiosks/0x9aab72bc43ab621ee245e8603c5a16355adf9bf1ec5357ad1df912c9902a5ac9/nfts?collections=0x41c06da395bc3f0ee621a66082f8f30f376da41a2db7bcce7c087444de200e41::panzerdog::Panzerdog&api-key=your_api_key_here"

Response

Response Structure

{
"kiosk": {
"object_id": "0x9aab72bc43ab621ee245e8603c5a16355adf9bf1ec5357ad1df912c9902a5ac9",
"owner": "0xf9c18a383d4f5c293bef82e4daf1ce82306b7b561cbef50d5c456a90d8547a5d",
"owner_cap_object_id": "0xabc123...",
"personal_cap_object_id": null,
"checkpoint_id": 12345678,
"created_at": "2024-01-10T08:00:00Z",
"updated_at": "2024-01-15T10:30:00Z"
},
"items": [
{
"object_id": "0xa534b9c5a824c31c9c4d143580f7ccb3f3a6e544e1afc30ac235c7277d73b7fe",
"object_type": "0xb908f3c6fea6865d32e2048c520cdfe3b5c5bbcebb658117c41bad70f52b7ccc::popkins_nft::Popkins",
"owner_dynamic_field_object_id": "0xca96b6c9e52fa706604e2580c9a0cb1fe46e3cb9cdd58616e32f3030459478d4",
"kiosk_object_id": "0x9aab72bc43ab621ee245e8603c5a16355adf9bf1ec5357ad1df912c9902a5ac9",
"owner": null,
"checkpoint_id": "187489349",
"decoded_fields": {
"id": {
"id": "0xa534b9c5a824c31c9c4d143580f7ccb3f3a6e544e1afc30ac235c7277d73b7fe"
},
"name": "Popkins #11271",
"image_url": "https://walrus.tusky.io/jbpsuBO5Ug6XMvP4CYhP2PWjwDKxFFI-KHRt0UXCjPE",
"description": "Who knew so much chaos could come in such a small package?"
},
"decoded_display": {
"name": "Popkins #11271",
"image_url": "https://walrus.tusky.io/jbpsuBO5Ug6XMvP4CYhP2PWjwDKxFFI-KHRt0UXCjPE",
"description": "Who knew so much chaos could come in such a small package?"
},
"created_at": "2025-06-05T19:57:09.698Z",
"updated_at": "2025-09-07T21:03:01.585Z"
}
],
"isLastPage": false,
"currentPage": 0,
"perPage": 20
}

Response Fields

FieldTypeDescription
kioskobjectKiosk information
itemsarrayArray of NFT objects in the Kiosk
isLastPagebooleanWhether this is the last page of results
currentPagenumberCurrent page number
perPagenumberItems per page

Kiosk Object Fields

FieldTypeDescription
object_idstringKiosk object ID
ownerstringOwner address of the Kiosk
owner_cap_object_idstring | nullOwner capability object ID
personal_cap_object_idstring | nullPersonal Kiosk capability ID
checkpoint_idnumberLast update checkpoint
created_atstringKiosk creation timestamp
updated_atstringLast update timestamp

NFT Item Fields

The NFT items structure is identical to Address NFTs:

FieldTypeDescription
object_idstringNFT object ID
object_typestringFull type path of the NFT
owner_dynamic_field_object_idstringDynamic field object ID for Kiosk ownership
kiosk_object_idstringParent Kiosk ID
ownerstring | nullAlways null for Kiosk-stored NFTs
checkpoint_idstringLast update checkpoint
decoded_fieldsobjectDecoded on-chain fields including name, description, image, attributes
decoded_displayobjectDisplay metadata formatted for UI rendering
created_atstringNFT creation timestamp (ISO 8601)
updated_atstringLast update timestamp (ISO 8601)

Use Cases

  • Marketplace Listings — Display NFTs available for sale in Kiosks
  • Kiosk Explorers — Browse all NFTs stored in a specific Kiosk
  • Price Discovery — Check listing prices across Kiosks
  • Inventory Management — Track NFTs stored in Kiosks you own
  • Trading Bots — Monitor Kiosk listings for trading opportunities

Code Examples

JavaScript / TypeScript

const kioskId = "0x9aab72bc43ab621ee245e8603c5a16355adf9bf1ec5357ad1df912c9902a5ac9";
const apiKey = "your_api_key_here";

const response = await fetch(
`https://api.surflux.dev/kiosks/${kioskId}/nfts?page=0&perPage=20&api-key=${apiKey}`
);

const data = await response.json();

console.log(`Kiosk Owner: ${data.kiosk.owner}`);
console.log(`Found ${data.items.length} NFTs`);

// Display NFTs in the Kiosk
data.items.forEach(nft => {
console.log(`- ${nft.decoded_display.name}`);
});

Filter by Collection

const kioskId = "0x9aab72bc43ab621ee245e8603c5a16355adf9bf1ec5357ad1df912c9902a5ac9";
const collectionType = "0xb908f3c6fea6865d32e2048c520cdfe3b5c5bbcebb658117c41bad70f52b7ccc::popkins_nft::Popkins";
const apiKey = "your_api_key_here";

const response = await fetch(
`https://api.surflux.dev/kiosks/${kioskId}/nfts?collections=${encodeURIComponent(collectionType)}&api-key=${apiKey}`
);

const data = await response.json();
console.log(`Found ${data.items.length} NFTs from this collection in the Kiosk`);