A retrospective of the Cadence Cup

Joshua Hannan
4 min readFeb 25, 2021

Hello! My name is Josh, and I am a smart contract engineer on the Flow Team at Dapper Labs.

If you’re new here, welcome! This is a blog about Cadence, Flow’s new state-of-the-art language for smart contracts. I recommend starting out with my first post about beginner materials before reading this.

I also have realized that I was a little overconfident when initially committing to writing the blog weekly, so from now on, I’ll only be posting a new blog once every two weeks. I apologize if I’ve crushed your dreams.


Every few posts, I am going to dedicate my post to highlighting an interesting project or contribution that I have seen from the community! The Cadence and Flow communities are global and growing, and I want to showcase all the cool projects that people are building.

For my first one, I actually want to highlight some projects that were written last year for the Cadence Cup, a three-round competition that challenged participants to build interesting smart contract prototypes that utilized unique features of Cadence for each round. Every round had a lot of great submissions, and they are all really good resources to learn about some of the different things you can do with Cadence.

Disclaimer: These projects were written using much earlier versions of Cadence than are available now, so they will not work with the latest version of Cadence in the playground. Even still, they are a great thing to study to see different coding styles. You could even challenge yourself by picking one of the projects and updating it so it works with the latest version of Cadence!

Week 1: NFT Minting

We challenged participants to build an NFT contract with a unique mechanism for minting. Check out these links for the challenge description and winners!

Week 2: Voting Mechanisms

There is a super basic voting smart contract in the Cadence tutorials, but we were curious to see what special voting systems our participants could come up with.

Week 3: Resources that own other Resources

One unique (and super cool!) feature of Cadence is that resources can own other resources. This enables features like NFT collections and Kitty Items like are shown in the Cadence tutorials, but there are WAY MORE possibilities! We wanted to see what cool ideas the participants could come up with for this fun feature.

I highly recommending checking out all of the submission that interest you!

Also, many of the participants are still active in the the Flow community, and some of them have even joined the Flow team as developers or community managers! I’m sure they’ll be happy to help answer any of your questions about their projects. 😃

And who knows? Maybe we’ll do another Cadence Cup in the near future! 😉

Competition would certainly be more fierce!


If you have any questions, the entire Flow team and community is here to support you! Please do not hesitate to reach out via our Discord server, the Flow Forum, or via an issue in the Flow Github repo.

Are there any other topics or interesting projects that you know would useful to newcomers or that you would like me to write a blog post about? Feel free to comment with your ideas and I might include them in a future post!

Flow Discord: https://discord.gg/flow

Flow Forum: https://forum.onflow.org

Flow Github: https://github.com/onflow/flow

See you next week! 👋



Joshua Hannan

Smart Contract Engineer at Dapper Labs, working with Cadence, the best language for smart contracts!