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
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Kiosk object ID |
Example: 0x9aab72bc43ab621ee245e8603c5a16355adf9bf1ec5357ad1df912c9902a5ac9
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page | number | No | 0 | Page number for pagination (starts from 0) |
perPage | number | No | 10 | Number of items per page (max 50) |
collections | string[] | No | [] | Filter by collection types |
api-key | string | Yes | - | 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
| Field | Type | Description |
|---|---|---|
kiosk | object | Kiosk information |
items | array | Array of NFT objects in the Kiosk |
isLastPage | boolean | Whether this is the last page of results |
currentPage | number | Current page number |
perPage | number | Items per page |
Kiosk Object Fields
| Field | Type | Description |
|---|---|---|
object_id | string | Kiosk object ID |
owner | string | Owner address of the Kiosk |
owner_cap_object_id | string | null | Owner capability object ID |
personal_cap_object_id | string | null | Personal Kiosk capability ID |
checkpoint_id | number | Last update checkpoint |
created_at | string | Kiosk creation timestamp |
updated_at | string | Last update timestamp |
NFT Item Fields
The NFT items structure is identical to Address NFTs:
| Field | Type | Description |
|---|---|---|
object_id | string | NFT object ID |
object_type | string | Full type path of the NFT |
owner_dynamic_field_object_id | string | Dynamic field object ID for Kiosk ownership |
kiosk_object_id | string | Parent Kiosk ID |
owner | string | null | Always null for Kiosk-stored NFTs |
checkpoint_id | string | Last update checkpoint |
decoded_fields | object | Decoded on-chain fields including name, description, image, attributes |
decoded_display | object | Display metadata formatted for UI rendering |
created_at | string | NFT creation timestamp (ISO 8601) |
updated_at | string | Last 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`);
Related Endpoints
- Address NFTs — Get all NFTs owned by an address (including Kiosk-stored)
- Collection Snapshot — Query NFTs from a specific collection