KSPEC – God Mode for NFTs
What is KSPEC?
KSPEC is an Ethereum-based, open source, permissionless protocol developed by Kanon that gives:
Artists ==> the freedom to tackle their biggest creative ambitions
Collectors ==> unrivalled onchain provenance and robustness
NFTs ==> the adaptability and updatability needed to live forever
Kanon is developing detailed documentation that will allow any creator to implement a KSPEC for ANY existing or future NFT that they have minted.
In the meantime, please refer to our launch post on Medium for further details.
How does KSPEC work?
KSPEC creates, on the Ethereum blockchain, a fully expressive Parallel State that a creators can bind to any NFT they have minted.
In that KSPEC Parallel State, creators can secure an arbitrary number of files, of arbitrary size, along with an arbitrary amount of metadata.

The KSPEC Parallel State is constructed using a carefully structured data package which is saved onto the Ethereum blockchain via the _data
field inside the ERC-721 / ERC-1155 standard safeTransferFrom
function in a self-transfer transaction from the minter to him or herself.

This self-transfer of the NFT can then be repeated at any time in the future to update the KSPEC of an NFT. For example, in the diagram below, the collector (k21.eth) sends the NFT back to the creator (jennasutela.eth) who then incorporates a new VR asset in the KSPEC Parallel State of the NFT.

Who is using KSPEC?
Kanon has completed KSPECs for the following artworks:
The Cosmic Number, Suzanne Treister, 2021 – the first ever KSPEC and first time an entire website has been secured onchain in an NFT
YAMSUSHIPICKLE, Jenna Sutela, 2021 – the first ever full length, full resolution video NFT
Claire, Anyma and Marigoldff, 2021 – the first ever full length, full resolution music video NFT
Kanon is developing detailed documentation that will allow any creator to implement a KSPEC for ANY existing or future NFT that they have minted.
Kanon is also working with selected artists and studios to KSPEC artworks that push the limits of what NFTs can do.
Where can I see KSPEC live?
Kanon have developed a simple demo application called IDDQD.
You can pass nftSmartContractAddress
and tokenId
as path parameters to the IDDQD api endpoint to retrieve the KSPEC of any NFT, directly from the Ethereum blockchain.
For example, you can use IDDQD to view the KSPEC of Claire, Anyma x Marigoldff, 2021, by visiting the below URL
https://iddqd.kspec.io/api/view/0xb932a70a57673d89f4acffbe830e8ed7f75fb9e0/26436
IDDQD KSPEC NFT request
GET
https://iddqd.kspec.io/api/view/nftSmartContractAddress/tokenId/[id]
Retrieve the KSPEC of any NFT
Path Parameters
nftSmartContractAddress
string
Address of any NFT smart contract on Ethereum
tokenId
string
`tokenId` of the NFT
id
string
Retrieves the KSPEC-ID for the NFT
What is KSPEC-ID?
KSPEC-ID is a complete and permissionless protocol for securing identity and provenance on the Ethereum blockchain.
Anyone can create a KSPEC-ID by selecting any NFT as a tracker of identity (ENS works well) and performing a self transfer of that NFT to record on the Ethereum blockchain information that ties one's artistic identity to a specific Ethereum address.
KSPEC-ID is not prescriptive as to what kind of information is included to tie identity to a specific Ethereum address. Examples of information Kanon has helped artists include in their KSPEC-ID include video attestation, tweet screenshots and references from other artists who have performed KSPEC-IDs.
How can I retrieve a KSPEC-ID?
Every valid KSPEC contains a credits
object that records onchain who contributed to the creation of an artwork.
"credits":
[
{
"address": "0x506fc8fc6483ed5774c020321594e935b80c3b20",
"kspec_id_tx": "0x7acd89afff74a7beecc264d3c18898fa584ccd4fc3ca92b3af7da225c6819f5e",
"roles":
[
"minter",
"author"
]
},
{
"address": "0x4e9dff32488c83eb39d79e973ab37f0a06aa9179",
"kspec_id_tx": "0xf0b13dade9c0210b527e9325589c2cde041a11dd89d7663a91e3e0a62cd30664",
"roles":
[
"author"
]
}
]
Each element in the credits
object contains a kspec_id_tx
property which points to the KSPEC-ID transaction stored on the Ethereum blockchain for each contributor to the artwork.
Hence, anyone with access to an Ethereum full node can retrieve the provenance information for any KSPEC'd NFT, all the way through to the evidence supporting the link between an Ethereum address and an artistic identity.
When inspecting an NFT with IDDQD, you can append the /id
path parameter to retrieve the KSPEC-ID of any NFT.
For example, the below link retrieves the KSPEC-IDs of all the contributors to the Claire, Anyma x Marigoldff, 2021 NFT:
https://iddqd.kspec.io/api/view/0xb932a70a57673d89f4acffbe830e8ed7f75fb9e0/26436/id
Where are the assets of a KSPEC'd NFT stored?
KSPEC records all metadata directly on the Ethereum blockchain.
KSPEC also allows artists to store redundant links to files onchain. Artists can include URLs to centralized services like S3, as well decentralized storage services like IPFS or arweave.
In addition to storing the redundant links onchain, KSPEC records the blob_hash
for each file to facilitate restoration of the artwork should all storage links provided fail.
{
"_id": "cc0978197aa097fe978509d5eac9a27d6b010f47c9be7dd91ed797ed58c966a6",
"blob_hash": "f2bacbc1103acd7948decee5969bbdb3c1b9185b84f284a3029b1e0da340df8b",
"description": "minted_media",
"comments": "Video included in NFT metadata.json for use as the main media in NFT platforms",
"filename": "JennaSutela_YAMSUSHIPICKLE_2021_1080p.mp4",
"data_replication":
{
"archive":
{
"centralized_urls":
[
"https://vault.kanon.art/k21/jenna_sutela/minted_media/JennaSutela_YAMSUSHIPICKLE_2021_1080p.mp4"
],
"cids":
{
"ipfs_cid": "Qmcpj8seuQzPXdvom9D2LZuYPnpaTWfizZcyytfLutfNcN/JennaSutela_YAMSUSHIPICKLE_2021_1080p.mp4",
"arweave_data_tx_id": "YU3TM04kZ1haSpvWQmJ8Cr9tm8BYr2vjC5ZlfDaxWb0"
}
}
}
}
Can Kanon help KSPEC my NFT?
If you have an ambitious NFT project that cannot be accomplished without KSPEC, we'd love to hear about it and see if we might be able to help.
Please use this form if you would like Kanon to assist in executing your NFT using KSPEC.
I have more questions, where can I find out more?
Please join our Discord server and head over to the #talk-kspec channel, we'd be happy to answer your questions!
Last updated
Was this helpful?