Overview

FIO Data is metadata that can accompany any blockchain transaction using a FIO-enabled application.

This metadata can range from a simple memo (e.g., "for lunch"), to structured data like an order cart, exchange deposit details or hashes that are references to off-chain data. This is especially useful for future decentralized commerce, in which conventional transaction information (like invoices, dates, additional contact information) can be stored on-chain for future audits, with full audibility and encryption between counter parties.

FIO Data can also include metadata related to a native blockchain transaction, such as transaction ids, refund addresses, and even hashes of off-chain data. Some of this data accompanies a regular FIO Request.

Finally, FIO Data can also provide a secure and private mechanism for certain regulated entities to maintain encrypted stores of information on customers, as stipulated by examples such as the Travel Rule. This will allow for a level of cross-application compliance where jurisdiction demands.

FIO Data (up to a certain character limit) are included as part of the bundled transaction received when registering a FIO Handle.

Native Integration

For wallets desiring full control over the registration user experience, the best strategy is to execute mapping actions directly to the FIO Chain.

Recording FIO Data

Anytime crypto is sent using FIO Handle, optional metadata such as amount, currency, and memo, may be recorded on the FIO Chain. This optional metadata is referred to as Other Blockchain Transaction (OBT) Data. FIO OBT Data is encrypted and only readable by the Payee (the user receiving the crypto) and Payer (the user sending the crypto).

FIO Data, can be recorded using the recordobt action.

Although recordobt has to be sent any time user is sending crypto currency in response to a FIO Request, it is optional when a user directly sends crypto to a user with a FIO Handle.

It is strongly encouraged that recordobt is sent when a user populates the memo field, as it allows for the transaction memo to be reliably sent across different wallets.

When sending FIO tokens using a FIO Handle you must submit recordobt following trnsfiopubky to ensure FIO Handles are attached to the transaction. Some wallets and exchanges may be relying on this information to properly account the FIO tokens, e.g. exchange deposit.

Retrieving FIO Data

Other blockchain transaction (OBT) memo data can be retrieved using /get_obt_data. This call will return all metadata relevant to the provided FIO Public key, including:

  • Outbound data. Payer’s FIO Crypto Handle is owned by provided FIO Public key
  • Inbound data. Payee’s FIO Crypto Handle is owned by provided FIO Public key

Once decrypted, the data will contain the native blockchain transaction ID. You can use this ID to match FIO Data to the original transaction.

Getters

Integrating these actions do not require the integrator to have access to user's FIO Private Key.

Available FIO Data Getters

🚧

Some data is encrypted

Please note that some data returned by this getter is encrypted and needs to be decrypted before it is displayed to the user. See Encryption in FIO Request and FIO Data for more details.

EndpointDescription
/get_obt_dataReturns FIO Data received by the supplied FIO Public Key.

Write Transactions

Integrating these actions require the integrator to have access to user's Private key and properly serialize and sign each transaction. For additional information, see Write Transaction.

Available FIO Data Actions

🚧

Some data must be encrypted

Please note that some data passed into this action needs to be encrypted. See Encryption in FIO Request and FIO Data for more details.

ActionDescriptionCan be paid with bundled tx?
recordobtThis call record FIO Data.Yes

Link to FIO App

Alternatively to Native Integration, the application may link the user to to the FIO App, a comprehensive website to register and manage FIO Handles and many other functionality related to FIO Protocol.

For additional information, see FIO App.