FIO Token Support

This page provides information for integration partners looking to list the FIO token. It begins with an overview of the FIO token and the structure of FIO public and private keys.

There is information specific to enabling FIO token deposits and withdrawals on Exchanges.


Overview

FIO Chain’s native token is FIO. FIO is the only token present on the FIO Chain.

There are 1,000,000,000 Smallest Units of FIO (SUFs) inside 1 FIO. All transactions in FIO Protocol are expressed in SUFs.

  • Ticker: FIO
  • Symbol: ᵮ

The Foundation operates API end-points which return token supply statistics. Refer to the FIO Token overview for more information.

FIO Token is registered at index 235/0x800000eb on the SLIP-44 coin types with FIO key derivation path of 44'/235'/0'/0/0

FIO Private Keys follow standard Wallet Import Format (WIF) standard and public keys follow well-known base58 encoding with FIO prefix. For example: FIO7tkpmicyK2YWShSKef6B9XXqBN6LpDJo69oRDfhn67CEnj3L2G

For those who have integrated EOSIO, FIO public keys follows the same format, except the prefix is FIO instead of EOS.

For more information on FIO keys visit the FIO Public/Private Keys overview.


Transferring FIO

Tokens on the FIO Chain are transferred using the trnsfiopubky action.

The action requires a FIO Public Key for the payee (the person receiving the funds). The FIO Public Key is hashed down to an account name and funds are transferred to that account. If that account does not exist, it gets created automatically.

Set your TPID! Do not forget to include your TPID in all FIO transactions to earn a portion of the fees paid.

Refer to FIO Send for more information on how to use FIO Crypto Handles to make sending crypto easier for your users.

Transaction memos

trnsfiopubky does not accept a memo field. To attach a memo to a FIO token transfer, both payer and payee must have a FIO Crypto Handle. For more information refer to the deposit using FIO Crypto Handles and withdraw using FIO Crypto Handles integration details.

Checking token balance

Token balance can be obtained by passing FIO Public Key to /get_fio_balance API method.

Retrieving account balances and transaction history

The how to retrieve account balances and history page details the different options available for exchanges for presenting a user’s balance and transaction history.

FIO API and History nodes

FIO Block Producers maintain API and History nodes for the FIO community. These public API nodes are listed on the fio.mainnet github repository README.

Building and running an API node

For performance and security reasons, integration partners may want to maintain internal nodes. See Building a node and History node for more information on lauching an internal FIO API History node.


Supporting FIO deposits on Exchanges

There are two main methods for enabling FIO token deposits on exchanges: using a unique FIO Public Key for every user and using FIO Crypto Handles and FIO Requests for FIO deposits. While some exchanges prefer to use a single key for all deposits, this method is not recommended for supporting FIO on exchanges. The two methods are explained below.

Using a unique FIO Public Key for every user

Similar to UTXO-based chains, to accept FIO token deposits an exchange may generate a unique FIO Public Key for every user. Unlike EOSIO, FIO Chain does not require that key to be assigned to an existing account before funds are sent to it. Once a token transfer is initiated to that Public Key, the account will be created automatically.

Using a single FIO Public Key for all user deposits

trnsfiopubky does not accept a memo field. To attach a memo to a FIO token transfer, both payer and payee must have a FIO Crypto Handle and a /record_obt_data has to be sent every time a user deposits FIO. Because it is difficult to ensure that wallets transferring FIO to the exchange will always attach an OBT record, it is not recommended that exchanges use the “single FIO Public Key” method for enabling FIO deposits.

Refer to deposit using FIO Crypto Handles for more information on how to use FIO Crypto Handles and FIO Requests to enable FIO deposits.


Supporting FIO withdrawals on Exchanges

Using a FIO Public Key

With this option, the user’s withdrawal area on the exchange would ask for a FIO Public Key and the amount of withdrawals. The transfer would be executed using thetrnsfiopubky action and metadata recorded using recordobt action.

Using FIO Crypto Handles and FIO Requests for FIO withdrawals

See: Withdraw Crypto using FIO Crypto Handles.