Deposit Crypto using FIO Crypto Handles & FIO Requests
FIO Crypto Handles (aka FIO Addresses) are human-readable wallet identifiers (such as [email protected] or [email protected]) which eliminate the need to see, or even know of, blockchain public addresses. Enabling deposits using FIO Crypto Handles give exchange users friendly interwallet operability, making deposits easy and near error-free, dramatically reducing support tickets.
Using a unique FIO Crypto Handle for each user
To deposit tokens of any supported cryptocurrency to their account the user would simply send tokens from a FIO-enabled wallet to their FIO Crypto Handle (e.g. [email protected]) and would not have to deal with Public Keys, memo fields, or even having to log into the exchange.
Using the same FIO Crypto Handle for all users
To deposit any supported token to their account the user would simply send tokens from a FIO-enabled wallet to the Deposit FIO Crypto Handle, e.g. [email protected] To properly identify the inbound transaction, the user would have to either include a FIO Data memo which includes their exchange account, or provide the exchange, ahead of time, with a list of FIO Crypto Handles which the user owns.
The Deposit FIO Crypto Handle would be mapped using
addaddress to a single FIO Public Key.
The inbound transaction can be identified by reading the OBT Data using /get_obt_data. The data is encrypted. Once decrypted, the memo or FIO Crypto Handle of Payee can be used to uniquely identify the user, and the obt_id will contain native chain transaction ID of the corresponding deposit.
Transaction memo for FIO token transfer
trnsfiopubky action does not accept a memo field. To attach a FIO Data memo to a FIO token transfer, a
recordobt transaction should be sent after the tokens are transferred and include the token transfer transaction id.
recordobt requires that both payer and payee have a FIO Crypto Handle. If either party does not have a FIO Crypto Handle then transfer of memo is not supported.
Using a FIO Request
An exchange may send a FIO Request to user’s wallet for the amount of crypto currency the user wants to deposit. Here’s the workflow:
- User logs into exchange and selects cryptocurrency and amount of deposit
- User specifies a FIO Crypto Handle where they want to receive the request
- Exchange sends a FIO Request for desired amount of deposit and cryptocurrency to specified FIO Crypto Handle and includes deposit public address and assigns the FIO Request ID to specific user. Because of the ability to identify unique deposits using FIO Data, the exchange may reuse the same deposit public address for with other users’ deposits
- User accepts the request in their wallet
- The sending wallet executes native blockchain transaction and records the transaction ID using
- Exchange fetches FIO Data using
get_obt_datawhich contains native blockchain transaction ID and FIO Request ID which is matched to specific user
- Exchange receives native blockchain transaction and matches its transaction ID to what was received from FIO Data
- Exchange credit the user which had been issued the specific FIO Request