Centralized Exchange

Withdraw any crypto to FIO Handle

This is the simplest form on integration. It enhances the user's experience and reduces chances of withdrawing on the wrong chain or to the wrong public address.

The exchange simply allows FIO Handle to be entered as withdrawal destination for any token it supports, often in the same field as currently used for entering public address.

Steps

  1. User enters FIO Handle as withdrawal destination.
  2. Exchange looks-up the public address for withdrawal chain and token using /get_pub_address getter.
  3. Exchange executes token transfer to the public address as it does today.

Example: XT.com

FIO Token Support

Deposits

There are two main methods for enabling FIO Token deposits on centralized exchanges.

Options

Using a unique FIO Public Key for every user

πŸ“˜

Most common

This is the most common way centralized exchanges facilitate FIO Token deposits.

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

The exchange may then sweep funds from that dedicated account to a central account, if the choose to do so.

Unique FIO Handle for deposits

Optionally, the exchange may automatically create or let the user create a FIO Handle, e.g. bob@exchange, and map it to the unique FIO Public Key. This way the user will only have to remember their FIO Handle and can easily make deposits even without logging into the exchange.

πŸ“˜

Works on all tokens

This method can also be used to make deposits of any token supported by the exchange, not just FIO Token.

Example: XT.com

Using FIO Request

With this method:

  1. The User logs into their exchange account.
  2. The User indicates the type of token and amount they want to deposit and provides their FIO Handle.
  3. The Exchange initiates a FIO Request to the supplied FIO Handle and includes:
    1. The chain and token type and amount.
    2. The specific public address it wants the funds sent to which could be unique to the user, or common.
    3. Memo field
  4. The User receives the FIO Request, which populates their token send area, ensuring data is not mistyped.
  5. The User executes the native token transfer and also records OBT Data, which can be read by the exchange to determine whose deposit has arrived.
Example: WhiteBIT

Recognizing a FIO Token deposit

To recognize that a user has completed a FIO Token deposit, the centralized exchange should consider Transaction Streaming.

Withdrawals

There are three main methods for enabling FIO Token withdrawal on centralized exchanges.

Using FIO Handle

With this method:

  1. The User provides a withdrawal FIO Handle.
  2. The Exchange looks-up the FIO Public Key using /get_pub_address.
  3. The Exchange executes the native token transfer using trnsfiopubky action.

πŸ“˜

Works on all tokens

This method can also be used to withdraw any token supported by the exchange, not just FIO Token.

Using a FIO Public Key

This method is the same as Using FIO Handle above, except the user cannot use FIO Handle and has to provide the FIO Public Key.

Using FIO Request

With this method:

  1. The User initially registers their sends a FIO Request for specific token
  2. The User logs into their exchange account.
  3. The User indicates the type of token and amount they want to deposit and provides their FIO Handle.
  4. The Exchange initiates a FIO Request to the supplied FIO Handle and includes:
    1. The chain and token type and amount.
    2. The specific public address it wants the funds sent to which could be unique to the user, or common.
    3. Memo field
  5. The User receives the FIO Request, which populates their token send area, ensuring data is not mistyped.
  6. The User executes the native token transfer and also records OBT Data, which can be read by the exchange to determine whose deposit has arrived.