Non-custodial Wallet

Send to FIO Handle

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

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

Steps

  1. User enters FIO Handle as destination where to send tokens.
  2. Wallet looks-up the public address for desired chain and/or token using /get_pub_address getter.
  3. Wallet executes token transfer to the public address as it does today.

Example: EDGE Wallet

User can enter FIO Handle, ENS Name, or Public Address

User can enter FIO Handle, ENS Name, or Public Address

FIO Handle is resolved and flow resumes

FIO Handle is resolved and flow resumes

More info

See https://dev.fio.net/docs/resolve-fio-handle

Wallet Handles

FIO Handles are secure, customizable, censorship-resistant, and human-readable. They are also NFTs and are perfect feature to add to any crypto wallet to make it more, well..., human.

FIO Handles can then be used to map to all other public addresses in the wallet to make it easier for user.

Best practice is to integrate it during user on-boarding, when assigning a wallet handle makes most sense.

Steps

  1. User selects FIO Handle.
  2. Wallet registers using /register_fio_address or Registration Website API.
  3. Wallet maps other public addresses from wallet to the FIO Handle using /add_pub_address.
  4. User now has a working FIO Handle, which can be used in any platform which has integrated FIO Protocol.

Example: Opera Wallet

FIO Requests

FIO Request lets the users request any crypto from another user using their FIO Handle.

Create new FIO Request

Steps

  1. User enters amount of specific token to request and the FIO Handle of user from whom they want to request it.
  2. Wallet creates a request using /new_funds_request.
  3. Wallet can always fetch FIO Requests using these getters:
    1. /get_pending_fio_requests - returns FIO Requests awaiting response by the supplied FIO Public Key.
    2. /get_sent_fio_requests - returns FIO Requests sent by the supplied FIO Public Key.
    3. /get_received_fio_requests - returns all FIO Requests received by the supplied FIO Public Key, irrespective of status.
    4. /get_cancelled_fio_requests - returns FIO Requests sent by the supplied FIO Public Key, which are in the cancelled status.

Example: EDGE Wallet

Approve FIO Request

Steps

  1. Wallet fetches pending FIO Requests using /get_pending_fio_requests. The request includes the type of token, amount and public address, as well as memo.
  2. User decides to make the payment specified in request.
  3. Wallet displays the standard send screen for the requested token with data from request pre-populated and upon approval by user, executes the transaction.
  4. Wallet submits /record_obt_data, which records to the FIO Chain that the request has been paid and provides native blockchain transaction id.