sage-nft
moltbot
Sage NFT operations. List NFTs and collections, mint NFTs, transfer, add URIs, assign to DIDs, manage visibility.
bunx add-skill moltbot/skills -s sage-nftLoading…
moltbot
Sage NFT operations. List NFTs and collections, mint NFTs, transfer, add URIs, assign to DIDs, manage visibility.
bunx add-skill moltbot/skills -s sage-nftLoading…
NFT operations for Chia NFT1 standard.
| Endpoint | Payload | Description |
|---|---|---|
get_nfts | See below | List NFTs with filters |
get_nft | {"nft_id": "nft1..."} | Get NFT details |
get_nft_icon | {"nft_id": "nft1..."} | Get icon (base64) |
get_nft_thumbnail | {"nft_id": "nft1..."} |
| Get thumbnail (base64) |
get_nft_data | {"nft_id": "nft1..."} | Get raw data |
{
"collection_id": null,
"minter_did_id": null,
"owner_did_id": null,
"name": null,
"offset": 0,
"limit": 50,
"sort_mode": "recent",
"include_hidden": false
}
Sort modes: "name", "recent"
| Endpoint | Payload | Description |
|---|---|---|
get_nft_collections | {"offset": 0, "limit": 50, "include_hidden": false} | List collections |
get_nft_collection | {"collection_id": "col1..."} | Get collection |
update_nft_collection | {"collection_id": "col1...", "visible": true} | Update visibility |
{
"mints": [
{
"address": null,
"edition_number": 1,
"edition_total": 100,
"data_hash": "0x...",
"data_uris": ["https://..."],
"metadata_hash": "0x...",
"metadata_uris": ["https://..."],
"license_hash": null,
"license_uris": [],
"royalty_address": "xch1...",
"royalty_ten_thousandths": 300
}
],
"did_id": "did:chia:...",
"fee": "100000000",
"auto_submit": true
}
Response includes nft_ids array.
| Endpoint | Payload | Description |
|---|---|---|
transfer_nfts | {"nft_ids": [...], "address": "xch1...", "fee": "...", "auto_submit": true} | Transfer |
add_nft_uri | {"nft_id": "...", "uri": "https://...", "kind": "data", "fee": "..."} | Add URI |
assign_nfts_to_did | {"nft_ids": [...], "did_id": "did:chia:...", "fee": "..."} | Assign to DID |
update_nft | {"nft_id": "...", "visible": true} | Update visibility |
redownload_nft | {"nft_id": "..."} | Re-fetch data |
URI kinds: "data", "metadata", "license"
{
"nft_id": "nft1...",
"launcher_id": "0x...",
"collection_id": "col1...",
"owner_did_id": "did:chia:...",
"minter_did_id": "did:chia:...",
"name": "My NFT",
"description": "...",
"data_uris": ["https://..."],
"metadata_uris": ["https://..."],
"royalty_address": "xch1...",
"royalty_ten_thousandths": 300,
"visible": true
}
# List NFTs
sage_rpc get_nfts '{"limit": 20, "sort_mode": "recent"}'
# Mint NFT
sage_rpc bulk_mint_nfts '{
"mints": [{
"data_uris": ["ipfs://Qm..."],
"data_hash": "0xabc...",
"metadata_uris": ["ipfs://Qm..."],
"metadata_hash": "0xdef...",
"royalty_ten_thousandths": 500
}],
"did_id": "did:chia:1abc...",
"fee": "100000000",
"auto_submit": true
}'
# Transfer NFT
sage_rpc transfer_nfts '{
"nft_ids": ["nft1abc..."],
"address": "xch1recipient...",
"fee": "100000000",
"auto_submit": true
}'
did_id: null in assign_nfts_to_did unassigns from DIDUse when you need to run Flow type checking, or when seeing Flow type errors in React code.
Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.
Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.