If you would like some additional resources to help you get started with this challenge, then this section might be helpful.

Scrypto Learning Resources

Do not worry if you don’t know how to code with Scrypto as it is a very easy language to learn. Here are some resources to get you started with Scrypto for your submission:

- Go through the Scrypto 101 course here.

- Read the Radix documentation here.

- Look at Scrypto code examples here.

- Look through previous challenge submissions here.

- Join the Radix and Scrypto community on Discord to ask your questions!

You are now ready to begin your journey with Scrypto! Here is a tutorial that walks you through Scrypto's Hello World example. 

DOCUMENTATION AND EXAMPLES

Since DeFi Summer, we’ve seen developers valiantly test new ideas to push the boundaries of what could be possible. Developers wanted to take DeFi out of the basement and bring it to mainstream users who can benefit from having more control and access to their own finances that the fundamental properties of a DeFi protocol can deliver. However, innovation within DeFi has tapered as developers ran into brick walls by the tools that were available. Making more promising and novel products were difficult, because the more features and ideas that were being implemented, meant they were exploring uncharted territories with their design considerations. This means that there are a vast array of security concerns that have not yet been tested, potentially losing hundreds of millions of customer funds. Scrypto with the support of the Radix Engine makes security a peace of mind. 

To help spur your ideas, there’s been an area of interest within DeFi that’s emerging. Developers have been toying with the idea of using Non Fungible Tokens (NFT) to represent ownership of an underlying asset, called Financial NFTs. Here are two protocols tackling this:

Revest Protocol

Revest Protocol features using NFTs (formerly Financial NFTs) to secure and grant access to a vault that holds the underlying set of tokens. There are two conditions to have access to contents of the vault: 

  1. Having possession of the FNFT itself.

  2. One of the three possible locking mechanisms based on time, value, or the address of the caller. 

The FNFT itself can be freely transferred (traded), but the tokens contained within the vault remain locked. Additionally, while the FNFT can accrue value, the value of the FNFT does not affect the value of the underlying tokens contained within the vault.

Resonate Finance

Resonate Finance applies a similar concept around FNFTs. The FNFTs are used to secure and grant access to a vault that contains tokens. However, it also composes with Yearn Finance such that users can lock their tokens into a yield-bearing vault and receive upfront payment on the present value of the future yield they could have earned. The rights to the token’s future yield can then be sold at a discount to the expected value of the interest to another party. This approach unlocks liquidity for many token holders. For example, if a user has 100 USDC which they can earn a yield of 10% by depositing it into Yearn Finance. The user will have to wait a year before realizing their yield of about 110 USDC. This financial product allows the user to earn a fraction of that yield upfront while a counterparty can purchase the right to the remaining future yield. 

How Scrypto Wins

FNFTs with Scrypto are easy to build and implement. Having native vaults, NFTs, and security cuts the work of implementing these concepts by an order of magnitude. Because tokens and NFTs are native to the platform, we can attribute behaviors to these assets that make them more versatile and powerful. For instance, we can make tokens “recallable”, allowing the person who holds the FNFT to lend the underlying tokens contained within the vault to others and be able to enforce those tokens to be taken back when specified conditions are met (or broken). Scrypto can also easily configure the ability to have multiple FNFTs have access to the vault. These are only a small handful of possibilities that can be enabled due to Scrypto’s native assets and asset-oriented approach.