FindLabs Logo
Products
Services
Why Find Labs
Get in touch
FindLabs Logo
CryptoKitties

Making the Purrtal

Ethereum ⇔ Flow

Our dedicated services are developed to fulfill the whole product cycle. They range from discovery, branding, design over to development and continuous improvements in order to achieve the best outcome.

Introduction

The recent adoption of EVM (Ethereum Virtual Machine) support on the Flow network marks a significant milestone, opening a wealth of opportunities for both emerging and established projects. This integration facilitates the seamless transfer of EVM contracts to Flow, taking advantage of the network's cost-efficiency and swift transaction speeds. Such advancements are poised to attract a new wave of participants eager to explore Flow's enhanced capabilities.

At Find Labs, our exploration of this cutting-edge technology was well underway when we were approached by the team behind "CryptoKitties: ALL THE ZEN!". This project, a brainchild of the CryptoKitties legacy, leverages the widespread appeal of gamified Telegram projects like Hamster Kombat. These platforms engage users with simple, rewarding tasks designed to ensure sustained interaction and potential monetary gains. "CryptoKitties: ALL THE ZEN!" not only draws on the strong community ties established by CryptoKitties but also benefits from the expertise of game designer Alan Carr, whose extensive experience in gamification has been instrumental.

The launch of the "CryptoKitties: ALL THE ZEN!" project was spearheaded by the introduction of an NFT collection known as ‘eggs’. Positioned on Ethereum, these eggs serve as placeholders before their eventual ‘upgrade’ upon teleportation to EVM on Flow. It was imperative that the bridge between the two platforms supported bi-directional movement, allowing eggs on Flow to return to Ethereum. This capability is crucial not only for maintaining their historical value but also for tapping into Ethereum’s more liquid market, ensuring that the eggs' journey between blockchains is both functional and significant.

Challenge

Find Labs was tasked with developing an Ethereum to Flow "bridge." This advanced product required a series of smart contracts tailored to securely transfer assets across these two distinct blockchains. We needed to look at the new abilities of Flow since the Crescendo upgrade and draw upon our experience with bridges, previously honed through our collaboration with Doodles, to design a bridge with the following objectives:

  • Establish a bi-directional bridge allowing eggs to seamlessly teleport between Ethereum and EVM on Flow.
  • Enhance the metadata of each egg, incorporating additional attributes and updating the imagery to reflect its new status post-teleportation.
  • Develop a user-friendly and engaging frontend interface that simplifies the teleportation process for users.
  • Guarantee the security of the NFTs throughout all phases of the teleportation process.
  • Safeguard the secondary state of the egg metadata until the completion of the teleportation, ensuring that the state would not be known until initiated by the owner.

These goals aimed to provide not only a trusted technical solution but also a fantastic user experience that people want to engage with.

Exploration

Our journey into asset teleportation presented a range of mechanisms and prompted several pivotal questions.

Escrow vs. Burn and Re-Mint

On Ethereum, the concept of burning tokens isn't as straightforward as it may seem. Technically, tokens are never destroyed; instead, they are sent to a burn address, essentially an inaccessible wallet. This practice forces marketplaces to decide whether to display these effectively "burned" NFTs or to exclude them altogether. They must also determine whether these tokens should be counted in the circulating supply, often leading to discrepancies when compared to the actual contract on Etherscan.

This scenario complicates data accuracy, similar to determining whether an NFT is in escrow or if it has been permanently lost to an inaccessible wallet. While some of these issues are beyond our solution scope, they require careful consideration to make the most informed decisions possible.

For the eggs on Ethereum, escrow was the preferred method over burning, ensuring that tokens could be reclaimed if they were teleported back. On Flow, where NFTs are treated as resources, they can genuinely be burned and recreated, albeit with a different token ID. With EVM support on Flow mirroring Ethereum's behavior, we initially considered pre-minting tokens. However, to maintain consistency with on-chain Token IDs and streamline the process, we opted to mint and burn as necessary, planning to clearly communicate the status of active versus burned NFTs once supported by marketplaces like OpenSea.

Two way trust

Ensuring the security of the original NFTs on Ethereum was paramount, safeguarding against accidental teleports to incompatible addresses or wallets not owned by the user. We implemented a verification process requiring users to prove ownership of both their Ethereum and EVM on Flow addresses before teleportation could occur. This step, although cumbersome, was deemed essential for enhancing trust and security.

When teleporting assets back to Ethereum, we decided that burning the corresponding token on Flow was the most prudent action. This approach helped maintain a clear distinction between active and inactive NFTs, avoiding complications with escrowed but inactive tokens.

Indexing

Our backend team's efforts to develop the necessary escrow contracts were complemented by our frontend team's deep dive into the existing OpenSea contract. Unfortunately, this setup only allowed read-only access to select data points and did not support retrieving comprehensive asset lists for individual users, a limitation we needed to address.

To bypass this issue, we created a preliminary indexer, extracting 3134 items into our Supabase instance. This enabled us to better understand and categorise the user base and asset characteristics, ultimately leading us to simplify the search and filtering functionalities, acknowledging that most holders possessed only a single egg.

To iterate and improve we evolved to a Typesense indexer, which allowed us near instant search and advanced filtering capabilities.

Design

Our design team explored various concepts, initially drawing inspiration from the original eggs' pixelated, space-themed graphics. We aimed to enhance the visual experience with 3D elements and a dynamic spiral card display. However, realising that most users possessed only a single egg led to a simplified and more user-friendly design approach.

Testing

To mitigate the high costs of deploying on Ethereum's mainnet, we utilised the Sepolia testnet to develop two contracts: one replicating the original eggs and another custom contract for minting transferred items on Flow. This strategy allowed for comprehensive testing and refinement of our ideas without financial strain and enabled us to conduct stealth testing under a pseudonymous project, ensuring thorough vetting of our solutions before full-scale implementation.

What Went Well

Preparation Phase

Our initial explorations were invaluable, enabling us to anticipate and mitigate potential pitfalls before full-scale production. This proactive approach helped align our design and backend teams effectively.

Respecting the Timeframe

While we initially envisioned intricate features, practical constraints necessitated focusing on essential functionalities. This prioritisation ensured that we met project timelines without compromising on the core deliverables.

Progressive Enhancement

We adopted a phased approach, prioritising essential features before gradually introducing aesthetic improvements. This strategy facilitated a seamless collaboration across teams, allowing for independent progress while steadily enhancing the product's overall quality.

What Went “Wrong”

Uncharted Waters

In our enthusiasm to innovate, we ventured beyond the project's original scope by adding extra meta fields to the assets, aiming to enhance their RPG-like attributes. However, this initiative backfired when the client opted to stick to the original plan, leading to additional work to realign with their specifications.

Clashing Domains

The integration of the Flow Wallet extension, which supports EVM, posed compatibility challenges with Ethereum wallet discovery, particularly with Metamask. We eventually resolved these issues by refining the wallet discovery process, though not without some tense moments.

There’s Never Enough Time

The optimistic timeframe initially set for the project proved unrealistic as we delved deeper into the details. The need for additional time became apparent as we encountered unforeseen challenges and complexities.

Outcome

Team Building

The project strengthened our team dynamics, fostering trust and independent working in order to move quickly. This environment encouraged more focused attention on critical project aspects.

EVM on Flow

This project deepened our understanding of the potential applications of EVM compatibility on Flow, opening new avenues for creative and technical exploration. We have lot’s of creative ideas coming out of this.

Brush Up Skills

Team members, both new and experienced, had the opportunity to refine their skills with EVM-based chains, learn new tools and techniques, and share knowledge, enriching our collective expertise.

Want to find out more?

twitter iconlinkedin icongithub icon

Talk to us

Interested in learning more on how our team can bring your vision to life? Leave us a message and a member from our team will reach out as soon as possible.

© 2025. Find BC International LLC. All rights reserved