Klever Namespace - Assets

Author Nicollas Gabriel da Silva
Discussions-To https://forum.klever.org/, https://github.com/klever-io/klever-go/discussions
Status Draft
Type Standard
Created 2026-05-13
Requires CAIP-2, CAIP-19

CAIP-19

For context, see the CAIP-19 specification.

Rationale

Klever ships a native multi-asset model called KDA (Klever Digital Asset) that supports fungible tokens, non-fungible tokens (NFTs), and semi-fungible tokens (SFTs) as first-class on-chain primitives — assets are not encoded as smart-contract balances. The asset type enum is defined in data/transaction/contracts.pb.go (Fungible = 0, NonFungible = 1, SemiFungible = 2).

The single asset namespace kda covers fungible, NFT, and SFT tokens. The asset type (fungible / NFT / SFT) is metadata returned by the public asset API and is not encoded in the CAIP-19 identifier itself.

Syntax

caip19 asset id:    chainId + "/" + assetNamespace + ":" + assetReference [ + "/" + tokenId ]
namespace:          klv
chainId:            108 (Mainnet), 109 (Testnet), or 100001 (Devnet) — see CAIP-2
assetNamespace:     kda  (covers fungible, NFT, and SFT)
assetReference:     the on-chain asset id, e.g. KLV, KFI, DVK-34ZH, DVKNFT-1SW5
tokenId:            (optional) 1-indexed integer instance within an NFT/SFT collection

Klever asset IDs come in two shapes:

  • Protocol assets — short uppercase tickers minted at genesis (KLV, KFI).
  • User-minted assetsTICKER-NONCE form, where NONCE is a 4-char base36 ([0-9A-Z]{4}) suffix the chain assigns at creation to ensure uniqueness across issuers using the same ticker (DVK-34ZH, WBTC-3FB5, DVKNFT-1SW5). The suffix is generated deterministically by CreateNewAssetIdentifier in core/process/kda/assetHelper.go by hashing the caller address, nonce, and ticker, then base36-encoding the first 4 chars (see also TickerSeparator = "-" and TickerRandomSequenceLength = 4 in core/process/kda/kdautils/utils.go).

Both shapes share the kda asset namespace.

Test Cases

Live mainnet asset ids from https://api.mainnet.klever.org/v1.0/assets/list:

# Native Klever token (KLV) on Mainnet
klv:108/kda:KLV

# Native governance token (KFI) on Mainnet
klv:108/kda:KFI

# User-minted fungible asset on Mainnet
klv:108/kda:DVK-34ZH
klv:108/kda:WBTC-3FB5

# NFT collection on Mainnet
klv:108/kda:DVKNFT-1SW5

# Specific NFT instance #1 within the DVKNFT-1SW5 collection
klv:108/kda:DVKNFT-1SW5/1

# Testnet KLV
klv:109/kda:KLV

References

Copyright and related rights waived via CC0.

Citation

Please cite this document as:

Nicollas Gabriel da Silva, "namespaces/klv-caip19: Klever Namespace - Assets [DRAFT]," Chain Agnostic Namespaces, klv-caip19, May 2026 / . [Online serial]. Available: https://github.com/ChainAgnostic/namespaces/klv-caip19.md