kiosk.policies
Transfer policies and rules (royalty, kiosk lock, floor price) for an NFT type.
Details
- Endpoint
- GET /v1/kiosk/policies/:type
- Credits
- 2
- Rate class
- Light. Counts against your light requests per second.
Returns the TransferPolicy objects that govern sales of an NFT type, with the rules each one enforces and the SUI balance it holds. Decoded rules are royalty (basis points and minimum in MIST), kiosk lock, personal kiosk and floor price. Rules from other packages are listed by their Move type with the raw config. Use it before listing or buying an NFT to know the fees and conditions. A type with no policy returns not_found.
Parameters
| Name | Type | Description |
|---|---|---|
| typerequired | string | Full Move type of the NFT, like 0x...::module::Name. URL-encode it in the path. |
Request
Send your key in the x-api-key header, or leave it out to use the keyless tier.
curl
curl "https://api.tide.ad/v1/kiosk/policies/0x541023fc967e97500b68d08b20d4b00178ce66bc54b81baa15bac3a6faf41d0e%3A%3Agem%3A%3AGem" \
-H "x-api-key: YOUR_API_KEY"TypeScript
const res = await fetch("https://api.tide.ad/v1/kiosk/policies/0x541023fc967e97500b68d08b20d4b00178ce66bc54b81baa15bac3a6faf41d0e%3A%3Agem%3A%3AGem", {
headers: {
"x-api-key": process.env.TIDE_API_KEY!,
},
});
const data = await res.json();Response
JSON
{
"type": "0x541023fc967e97500b68d08b20d4b00178ce66bc54b81baa15bac3a6faf41d0e::gem::Gem",
"policies": [
{
"policyId": "0x698e2f31d3109a250a45a8dec19f66055f6a61fca7163a56e8128d17b02f9ad0",
"balanceMist": "2497500",
"rules": [
{
"kind": "royalty",
"ruleType": "0x434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879::royalty_rule::Rule",
"config": {
"amountBp": 500,
"royaltyPct": 5,
"minAmountMist": "1000"
}
},
{
"kind": "kiosk_lock",
"ruleType": "0x434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879::kiosk_lock_rule::Rule",
"config": null
}
],
"royaltyBps": 500
}
],
"asOf": {
"checkpoint": 341852210,
"timestamp": "2026-11-05T08:26:04.530Z",
"lagMs": 935
}
}