Blockchain first: Human readable messages for your transactions!

Know what you’re signing: Flow Port is the first dapp on blockchain to be fully human-readable

On most blockchain interactions, users are forced to sign transactions through their wallet without really knowing what they are signing for. Sometimes, wallets surface transaction information such as a Cadence script on Flow or a hex code on Ethereum but this places the onus on the average user to make an unfair determination if the transaction is safe or if it will do what the UI claimed. We thought we could do better on Flow, so we created FLIX - Flow Interactions - a combination of standards, a service, and several wallet utilities to make it possible for wallets to confidently show a human-readable message to the user that describes the transaction’s intent when requesting a signature.

How does it work?

  • Any dapp or wallet can utilize the FLIX repository to dynamically fetch Cadence code directly from FCL like the following:
import * as fcl from "@onflow/fcl"

await fcl.mutate({ 
  template: "", 
  args: (arg, t) => ([ 
     arg("1.00", t.UFix64), 
     arg("0xABC123", t.Address) 
  • Once the wallet receives a Cadence transaction to sign, it does it’s own lookup on FLIX to find an Interaction Template, and then queries from auditors it trusts for audits produced for it.
  • The user is presented with information about the transaction, such as an internationalized message and argument titles and descriptions before singing the transaction.

You can learn more technical details about the feature through the original FLIP and the new documentation on the developer portal.In the initial alpha phase, we are launching FLIX templates and audits for our fungible token and staking contracts alongside our wallet partners Blocto and Lilico.

How can I use it?

  1. Go to Flow Port and login or create an account via Blocto or Lilico.
  2. Run any transaction such as attempting to stake or transfer FLOW.
  3. You will see a message displayed by the wallet describing the transactions intent and auditor information (only Lilico for now) on the entity that wrote the message and verified the transaction.

Since Flow Port is our main hub for all staking and FLOW transfers, it serves as the best platform to demonstrate the utility of this feature where it will become the first dapp on any blockchain to have human readable messages for all of its transactions. Over 2000 messages have already been shown to users over the past two days.

We’re doing tons of things to this feature to get broader adoption, ensuring it remains secure and trusted, as well as expanding the auditor ecosystem (Emerald DAO has already signed up). In doing so we’d love your feedback and collaboration, please create an issue here for any questions, concerns, or issues.