Community powered Linear Broadcast using Cosmos IBC — by FreeFlix Media and Cosmic Compass (CoCo)

OmniFlix Network
FreeFlix Media Labs
7 min readJun 2, 2020


Hello everyone! It has been an amazing experience participating with the many others in Cosmos Network’s very own incentivized testnet, Game of Zones (GOZ).

Like many others, in the competition, we’ve been developing on top of the Cosmos SDK and the IBC Relayer to run zones powered with IBC for use in FreeFlix Media Hub & Cosmic Compass.

Both teams — FreeFlix Media and Cosmic Compass have been awarded with the Liveliness Award in the Phase-1 of GOZ. Phase-2 is also completed and we are satisfied with the performance and learning during the development for both phases as well as our custom zone.

FreeFlix Media Hub

demonstrating utility of blockchain & Cosmos IBC in media

Listing activities in the media ecosystem at a high level:

  1. Media Creation (or asset creation)
  2. Media Management Rights Management & deep metadata tagging for assets
  3. Media Distribution — to platforms like YouTube or Over-the-top (OTT) platforms like Netflix, Amazon Prime Video, etc.
  4. Media Monetizationby licensing with a fee AND/OR a revenue share and other moentization models
  5. Revenue Payout — for asset owners (licensor & licensee)

To demonstrate the above activities in the media ecosystem, two (2) custom zones freeflix-media-hub & coco-post-chain have been developed to accommodate required stakeholders in each chain.

These zones aim to demonstrate the increase in efficiency and the general utility of blockchain, Cosmos SDK & Cosmos IBC; within the media ecosystem.

FreeFlix-Media-Hub (for asset owners)

tracking ownership of media assets; IBC based asset licensing/exchange

The freeflix-media-hub accommodates the stakeholder, Asset Owners (creators, studios and brands/advertisers). Asset Owners can license their media assets (tweet videos) to users of a different chain (coco-post-chain) for a pre-determined fee and a revenue share.

The freeflix-media-hub is powered by the token FFMT & a freeflix account can hold both FFMT tokens and COCO tokens.

CoCo-POST-Chain (for communities/agencies/platforms)

media distribution, exchange of assets through a Media Marketplace, IBC based advertising & revenue payout

Communities/Agencies/Platforms, usually are stakeholders in the media ecosystem that do NOT own content, but participate by identifying talent, licensing content or curating content from other sources or directly from users (UGC content).

For the purpose of Cosmos GOZ, the coco-post-chain powered by the token COCO, plays the role of an Agency that enables licensing of assets via an Asset Exchange or simply a Media Marketplace; while also providing an interface for community engagement with the ability to run a community managed live stream.

Community powered Linear Broadcast / Live Stream — how is it possible with tweets!?!?

Tweets are text but streaming means video right — but, what if a tweet is converted to a video?

Yes. We convert every Tweet that is registered as an NFT into a video (through the FreeFlix Studio system) and use them for streaming. This is done to generate video content while streaming copyright-free content (creators that received copyright strikes on YouTube, we feel you!).

The objective is to continuously stream tweets like the ones below. Here, Cosmos is the creator/asset owner and has an owned tweet playing/streaming. Sentinel, in this case, is the brand that’s advertising on top of Cosmos.

To advertise, the brand (Sentinel) pays a small fee to the Live Stream creator (FreeFlix Team) which is paid to the creator (Cosmos) based on a pre-defined revenue share — all of this happens on the coco-post-chain.

A sample Tweet NFT (Cosmos tweet) with the overlay of an Ad NFT (Sentinel)

What’s new with our zones?

IBC based NFT transfers? Yes. You got it right & more!

As mentioned above, freeflix-media-hub tracks asset ownership and the coco-post-chain tracks distribution and revenue payout. For that to happen, below implementations have been worked on.

  1. Hierarchy & dimension to Non-Fungible Tokens (NFT)—for those that are new to NFTs & how they work on Cosmos, read an introduction to Cosmos NFTs by Billy Rennekamp
  2. Support for multi packet type relay
  3. Round Trip IBC in a single transaction
  4. Updated codec to add support for custom message type & packet type

1) Hierarchy & dimension to NFTs

Currently, both zones have a custom NFT module to support the creation of NFTs that have a hierarchy and ability to extend and are structured as:

  1. primary NFTs (pNFTs)
  2. secondary NFTs (sNFTs) — inherits a properties of a pNFT
  3. dimensionalized NFTs (dNFTs) —used to extends a pNFT as required with additional dimensions of data or properties adding to the initial properties of the pNFT

Using the properties and relationship between NFTs, asset ownership, licensing, distribution and monetization is demonstrated.

On the freeflix-media-hub, 3 types of tokens exist:

  1. FFMT — fungible tokens that power the freeflix-media-hub
  2. Tweet NFT — a primary NFT or pNFT is a video asset generated with a Tweet URL. This pNFT can only be generated via a Tweet URL where the Twitter tweet ID is the asset.
  3. Ad NFT — also a non-tradable pNFT is a video asset created by a Twitter account (Brand/Advertiser) for the purpose of advertising within a Live Stream.

An account on the freeflix-media-hub can hold all the above tokens + tokens from the coco-post-chain (COCO tokens), considering a case where other chains are whitelisted by governance.

All tokens are native to the chain and even if a pNFT is transferred from one chain to another, it still remains as a pNFT of the source chain i.e. a Tweet NFT when moved to the coco-post-chain, still remains as a pNFT of the freeflix-media-hub.

On the coco-post-chain, 3 types of tokens exist:

  • COCO — fungible tokens that power the coco-post-chain
  • Live Stream NFT — a primary NFT or pNFT — During the days of Cosmos GOZ, a this Live Stream NFT is created & managed by the teams of FreeFlix Media on the FreeFlix Media YouTube Channel. This pNFT on coco-post-chain is a Live Stream NFT.
  • Tweet NFT— is a secondary or sNFT on the coco-post-chain — has parameters that are a sub-set of the pNFT and inherits all the properties of the pNFT on freeflix-media-hub.

This sNFT is a video asset, licensed on an exclusive basis, to an account on the coco-post-chain, for a pre-defined fee and a revenue share; as decided by the pNFT owner while minting/creating it (on the freeflix-media-hub)

  • Slot NFT — a dimensionalized NFT that extends a primary NFT or pNFT and in this case, extends the pNFT, Live Stream NFT. This is an extended dimension of meta-data for the pNFT and does not inherit the properties of the pNFT that it extends.

The dNFT in the coco-post-chain stores the data of content to be played/played in each slot along with the payout status.

2) Support for multi packet type transactions

IBC transactions of both zones support multi-packet type txs. To accommodate transactions that involved triggering transfers from one chain to another, multiple packet types had to be incorporated.

Flow for the licensing of a listed asset (on the CoCo Marketplace) from freeflix-media-hub to the coco-post-chain

Below is a walk-through video of a user creating a Tweet NFT (pNFT) on freeflix-media-hub after and licensing it to a user on coco-post-chain, thereby creating an Tweet NFT (sNFT) on the coco-post-chain.

Asset Licensing from freeflix-media-hub to the coco-post-chain

3) Round Trip IBC in a single transaction — IBC

Uni-directional IBC is now something GOZ participants are now familiar with. Bi-directional IBC connections have also been experimented with.

During the development of freeflix-media-hub and the coco-post-chain zones, there was a need to:

initiate with a tx on Chain B (coco) to

mint a pNFT on Chain A (freeflix) — via IBC
and update the newly
pNFT ID to

an sNFT on Chain B (coco) — via IBC

Flow for licensing of an unlisted asset (on the COCO marketplace) from the coco-post-chain to the freeflix-media-hub & back to the coco-post-chain

With the freeflix-media-hub & coco-post-chain, we have worked on this and below is a walk-through:

Round Trip IBC interaction from chain B (coco-post-chain) to chain A (freeflix-media-hub) & back

4) Updated codec to add support for custom message type & packet type

Cross chain communication is not just limited to a single module or a transaction type, but potentially the entire chain (or required modules). This meant that the base code did not support the messages that we defined, out of the box.

For that reason, the FreeFlix Media & Cosmic Compass teams have worked to implement module-specific codec types and to support custom message types (xNFTs, dNFT based distribution, etc.).

The code will be released after getting it ready for open-source distribution.

Join the IBC powered Live Stream

Interested in participating as a Creator or a Brand/Advertiser in the Cosmos GOZ Live Stream? Write to us on (or) direct message us on

A full-fledged GUI will be released for stakeholders to register accounts and participate.

The team will state further plans for taking the Community powered Live Streaming beyond Cosmos GOZ in upcoming blog posts.

Get in touch!

For more news reg. the development of media tooling by FreeFlix Media, please get in touch with us via or by writing to us at

Follow FreeFlix Media Labs on Twitter, Facebook, Instagram (FreeFlix Media Labs), Instagram (FreeFlix Live) and Medium. Do not forget to check out our platform for curated streams from YouTube — FreeFlix LIVE



OmniFlix Network
FreeFlix Media Labs

p2p network for creators, curators & sovereign communities to mint, manage, distribute & monetize media assets & communities —