Fungible Tokens

Fungible Tokens (FTs)

FTs are mainly used to represent homogeneous assets or rights. You can set the total limit of FT distribution, usable token symbols, and set up issue and management permissions.

Unlike NFTs, FT transfer permissions are fixed, and the owner always has transfer permissions. In most cases, the issuance of a FT should correspond to a certain asset/interest/points rather than a mere token. The typical application scenarios of FTs include supermarket points, game points, and stable coin.

FT stores and operates using a balance-based model on our chain.

There are two kinds of authorizations with FTs: issue and manage.

Try FTs via evtc

evtc is a command line tool that manages everiToken wallets and sends commands to the chain.

If you want to use our SDK for FTs, please refer to Javascript SDK Reference.

You can also manage FTs by calling the HTTP API of everiToken directly (See API Reference for detail).

Create FTs

Create a fungible token named ABC:

    evtc fungible create ABC abc "5,S#3" EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr "100.00000 S#3" --payer EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr

Great! You just created a new fungible named ABC! EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr is ABC fungible's creator.

You will get the output like this:

Click to see full code example
    executed transaction: 03aa93e2a9af4fe1be7db55623d24685334d7ee1e7382dec205a5ab32f3edb09
    total elapsed: 510 us
    total charge: 0.00000 S#1
    (1 of 1)
       action : newfungible
       domain : .fungible
          key : 3
      elapsed : 346 us
      details : 
    |->name : ABC
    |->sym_name : abc
    |->sym : 5, S#3
    |->creator : EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr
    |->issue : 
        |->name : issue
        |->threshold : 1
        |->authorizers : 
            |->ref : [A] EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr
            |->weight : 1
    |->manage : 
        |->name : manage
        |->threshold : 1
        |->authorizers : 
            |->ref : [A] EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr
            |->weight : 1
    |->total_supply : 100.00000 S#3

Then you can issue this fungible to others:

    evtc fungible issue EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr "1.00000 S#3" --payer EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr

Which will output:

Click to see full code example
    executed transaction: b5d31351dac16be0189dd599350474fff537384bcad59e4a5e74453cee6c9cdb
    total elapsed: 499 us
    total charge: 0.00000 S#1
    (1 of 1)
       action : issuefungible
       domain : .fungible
          key : 3
      elapsed : 323 us
      details : 
    |->address : EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr
    |->number : 1.00000 S#3
    |->memo : 

Check the asset:

    ./evtc get balance EVT7JoY9nbkfWCx2opvUhS9pPmWbLjRuhNCmDTG971PVkhxvAzWWr

Output:

    (1 of 1)
    |->1.00000 S#3