Skip to main content

delta Primitives

Tokens

delta’s token design is simple with only two token standards: fungible, and non-fungible (NFTs). All assets on delta are represented by one of these two primitives.

Fungible Tokens

A token is considered fungible if each unit is identical and interchangeable with any other unit of the same token, similar to how one dollar bill has the same value as any other dollar bill.

Tokens on delta are stored in Token Holdings Vaults, while all their metadata (such as token name and issuer) is stored in the Token Mint Vault. Fungible tokens are represented in holdings or transaction messages simply by a Token ID and a balance in plancks, the lowest denomination of a token on delta.

The most basic fungible token on the delta Network is the delta native token, which is used for transactions to the delta base layer.

Non-Fungible Tokens (NFTs)

A non-fungible token (NFT) is a unique digital asset that cannot be replicated or exchanged on a one-to-one basis with another token, as each NFT contains distinct metadata and properties that differentiate it from all others.

On delta, a NFT is identified by its Collection ID (the address of the NFT mint vault) and the ID of that specific token.

Transactions

Since delta is a two-layer system, there are several different transaction types depending on who the message sender and recipient is.

Domain application code and business logic may affect the message content, timing or execution for user-level transactions, which can be achieved by building upon one of the base user-level transaction types: debitAllowance and tokenMint.

Below is a summary of all transaction operations in the delta ecosystem.

TransactionPurposeMessage SenderMessage RecipientConsensus
debitAllowanceTransfer tokens up to a signed amount from one vault to anotherVault private key holder (user)Domain ExecutorFast-path consensus
Create tokenMintIssue a new token with the given parameters (including initial supply and recipient vaults)Vault private key holder (user)Domain ExecutorFast-path consensus
Increase Supply of a tokenMintIssue additional supply of an existing tokenMint to the given recipient vaultsVault private key holder (user)Domain ExecutorFast-path consensus
Submit SDLSubmit state updates to the base layerDomain ExecutorChosen ValidatorFast-path consensus
Submit ProofSubmit cryptographic proof of state updatesDomain ExecutorChosen ValidatorFast-path consensus
Submit Domain AgreementRegister domain with the delta networkCLIChosen ValidatorEpoch end transition
Declare ValidatorAdd new validator to consensus setCLIChosen ValidatorEpoch end transition
Base Layer MigrationAllows a user to forcefully migrate owned assets out of an unresponsive or malicious domainVault private key holder (user)Chosen ValidatorEpoch end transition