A brief description of the functionalities of each contract on the chain.


TransferTransfers assets to another address.
Create AssetCreates a new fungible token or a NFT/SFT collection.
Create ValidatorCreates a validator for an address, controlled by a BLS key.
Config ValidatorChanges the parameters of a given validator.
FreezeFreezes a certain amount of a token for staking. This frozen amount will be referred to as a "bucket".
UnfreezeUnfreezes a bucket.
DelegateDelegates a bucket to a validator.
UndelegateRemoves the delegation of a bucket.
WithdrawRetrieves the assets from an unfrozen bucket or assets from KDAPool.
ClaimClaims either staking rewards, delegation rewards, or expired marketplace orders.
UnjailSends an unjail request for the sender validator address.
Asset TriggerUpdates the properties or trigger functionalities of a fungible token, NFT/SFT collection, or a single NFT/SFT. See # Asset Triggers.
Set Account NameDefines a name for the account.
ProposalCreates a proposal to change the chain network parameters.
VoteVotes on an active proposal. The weight of the vote depends on the staked KFI of the sender address (The KFI is not consumed).
Config ITOSets up an Initial Token Offering for either a token or a NFT collection.
Set ITO PricesUpdates the ITO prices, useful for ITOs that use an oracle-like pricing system.
BuyCreates a buy (or bid) order for a given market sell order.
SellCreates a sell order of a NFT in a marketplace.
Cancel Market OrderCancels a sell order.
Create MarketplaceCreates a marketplace.
Config MarketplaceChanges the parameters of a marketplace.
Update Account PermissionUpdates the permissions of an account, setting multi-signature permissions with a set signature threshold. Useful for creating a safely shared account.
DepositDeposits an asset into a FPR pool or into an auto-swapping fee system.
ITOTriggerUpdates the properties of a ITO.

Asset Triggers

Trigger TypeDescription
MintDirectly mints assets in the target account.
BurnDirectly burns owned assets.
WipeDirectly burns assets of the target account (asset owner only). Useful mostly for stablecoins.
PausePauses all transactions of the target asset.
ResumeResumes all transactions of the target asset.
ChangeOwnerChanges the asset owner.
AddRoleAdds a permission role to the asset.
RemoveRoleRemoves a permission role of the asset.
UpdateMetadataUpdates the metadata of a given NFT.
StopNFTMintStops all NFT mints for that asset (forever).
UpdateLogoUpdates the asset's logo URI.
UpdateURIsUpdates the stored relevant URIs.
ChangeRoyaltiesReceiverChanges the address that receives royalties.
UpdateStakingUpdates staking parameters.
UpdateRoyaltiesUpdates royalties parameters.
UpdateKDAFeePoolUpdates the KDA Fee Pool parameters. KDA Fee Pool is the system to pay fees with KDA other tha KLV.
StopRoyaltiesChangeStops the royalties changes, giving the co-owners more safety about the token's royalties.
StopNFTMetadataChangeStops NFT Metadata changes for a given collection.

ITO Triggers

SetITOPricesUpdate ITOs packs prices
UpdateStatusUpdate ITO status (Active/Paused)
UpdateReceiverAddressUpdate receiver address of the fees
UpdateMaxAmountUpdate max amount of minted NFTs
UpdateDefaultLimitPerAddressUpdate default limit of tokens per address in the whitelist, during the whitelist
UpdateTimesUpdate start and end time of ITO
UpdateWhitelistStatusUpdate whitelist status (Active/Paused)
AddToWhitelistAdds addresses to the whitelist
RemoveFromWhitelistRemove addresses from the whitelist
UpdateWhitelistTimesUpdate start and end time of the whitelist

Common contract flows


  1. Freeze
  2. Delegate
  3. Claim

Create Initial Token Offering

  1. Create Asset
  2. Config ITO

Was this page helpful?