Register FIO Crypto Handles and Domains

FIO Crypto Handles

Most FIO Protocol functionality requires a user to have a FIO Crypto Handle (aka FIO Address). A FIO Crypto Handle is an NFT owned by owner FIO Public Key and consists of a username and a domain delimited by an @:

[email protected]

The easiest way to facilitate a FIO Crypto Handle registration is to redirect the users to a Foundation for Interwallet Operability website which enables registration and payment with common crypto currencies, such as Bitcoin. A FIO Public Key needs to be passed to the website, so that the FIO Crypto Handle can be properly assigned to the owner. To learn more see FIO registration site.

FIO Private/Public Key

You will require a FIO Private/Public key pair to be generated and stored inside the wallet. See Private/Public Keys for more information including testing examples.

Fetching user’s FIO Crypto Handles

FIO Crypto Handles currently owned by the user (even if registered outside of the wallet) may be fetched using /get_fio_names API method.

Please note that a user may have multiple FIO Crypto Handles owned by a single key, the UX should accommodate that.

TPID

Do not forget to include your TPID in the request to earn portion of fees paid.


FIO Crypto Handle registration using the FIO Registration Site

Foundation for Interwallet Operability has developed and is hosting a website which allows for registration of FIO Crypto Handles and Domains in exchange for payment in Bitcoin, Bitcoin Cash, DAI, Ethereum, Litecoin, and USD Coin.

Wallets wanting to offer their customers ability to purchase FIO Crypto Handles with currencies other than FIO, can use the site. There are several ways to enable FIO Crypto Handle and Domain registration including linking to the registration site, accessing the registration API, and hosting an internal instance of the registration site.

Linking to the FIO Registration Site

The easiest integration option is to simply link off to the registration site and pass the user’s FIO Public Key. URL formats are as follows:

Link to FIO Domain/FIO Crypto Handle selection Page

https://reg.fioprotocol.io/ref/PROVIDED_REFERRER_CODE?publicKey=USERS_FIO_PUBLIC_KEY

Link to FIO Domain selection Page

https://reg.fioprotocol.io/address/PROVIDED_REFERRER_CODE?publicKey=USERS_FIO_PUBLIC_KEY

Example of the FIO registration site UI:

Image

Using the Registration API

If you prefer to have full control over the payment process, you can simply obtain the crypto currency payment address and amount in different currencies and build payment screens inside the wallet. Once the payment is received, the FIO Crypto Handle is automatically registered.

See the Registration API for more details


FIO Custom Domain Registration using the FIO Registration Site

Linking to the FIO Registration Site

The easiest way to facilitate a FIO Domain registration is to redirect the users to a Foundation for Interwallet Operability website which enables registration and payment with common crypto currencies, such as Bitcoin. FIO Public Key needs to be passed to the website, so that the FIO Domain can be properly assigned to the owner. To learn more see FIO registration site.

When a new FIO Domain is registered, it is set to Private, meaning only the owner of the FIO Domain can register FIO Crypto Handles on it. Therefore, FIO Crypto Handle registrations on custom domains have to be implemented inside the wallet (not via FIO registration site). See FIO Crypto Handle and Domain Registration using the FIO API for details.

Using the Registration API

If you prefer to have full control over the payment process, you can simply obtain the crypto currency payment address and amount in different currencies and build payment screens inside the wallet. Once the payment is received, the FIO Crypto Handle is automatically registered.

See the Registration API for more details


Getting set-up to use the registration site

Before you can get started with option using the FIO registraiton site, a profile for your wallet has to be established. Please submit support request with the following information:

  • Name of your wallet
  • Link to logo
  • FIO Crypto Handle you would like to use as your TPID. This address will receive portion of the payment for the FIO Crypto Handle or Domain.
  • Which domains you would like to allow to be used for FIO Crypto Handle registration. Please note: that the designated domains have to be set to public. See Domain Owner Abilities for more information or Setting Domain to public for instructions.
  • Would you like to allow users to register domains as well. Please note: that hosted website does not support ability to register FIO Crypto Handles on private domains so users cannot easily add a FIO Crypto Handle to the domain they register.

FIO Crypto Handle and Domain Registration using the FIO API

For wallets desiring full control over the registration user experience or wanting to support FIO Crypto Handle registrations on custom (set to Private) FIO Domains, a full suite of FIO Crypto Handle registration and bundle renewal API methods are available.

Registering FIO Crypto Handles and adding bundles

FIO Crypto Handle can be registered using regaddress action and additional bundles can be added using addbundles action.

Registering/renewing FIO Domains

FIO Domains can be registered using the regdomain action and renewed using the renewdomain action.

Fetching user’s FIO Crypto Handles and Domains

FIO Crypto Handles and Domains currently owned by the user may be fetched using /get_fio_names API method.

Fetching user’s FIO Crypto Handles only

FIO Crypto Handles currently owned by the user may be fetched using /get_fio_addresses API method.

Fetching user’s FIO Domains only

FIO Domains currently owned by the user may be fetched using /get_fio_domains API method.

Checking FIO Crypto Handle or Domain availability

To enable the registering wallet to easily check if a FIO Crypto Handle or Domain is available for registration, /avail_check API method may be called.

Fees when using the FIO API

Every FIO Crypto Handle comes with a set number of bundled transactions annually. The specific number is set by the block producers and is currently 100 annually. This bundle is expected to cover most transactions executed by user except token transfer fees and certain governance or domain management fees.

In order to ensure a particular action is covered by the bundle, the wallet should execute /get_fee API method before submitting any signed transaction.

Technology Provider ID

Please review the Technology Provider ID page for information on how to earn a portion of the fees paid by your users and how to have your users’ tokens proxied by default.