Inspiration

This is a simple exploration of what a defi student lending protocol might look like. Student loans are a relatively new type of loan in the defi space, so I wanted to think about what features might be present. After attending the Radix developer conference in Austin, Texas, I wanted to find a good reason to dive into Scrypto development. This hackathon inspired me to sit down with the documentation and learn more about Scrypto.

What it does

This project seeks to explore what a Student Loan protocol might look like on Radix. Drawing from Scrypto examples provided by the Radix team, this project is a simple lending protocol with 4 added features:

Interest rate dependent on expected income: Loan interest rate is determined by projected income based on the major chosen by the student. For example, we might expect an engineer to earn more after graduation than a Fine Arts major. The engineer major in this case will receive a higher interest rate. The interest rates used are just for example purposes.

Soulbound token: When a user is registered, a soulbound token is used by applying the following to a fungible resource: .restrict_withdraw( rule!(deny_all), LOCKED )

Just as in traditional student loans, this mechanism helps to emulate (for better or for worse) the fact that bankruptcy does not forgive student loans in the United States.

If the student is unemployed or cannot generate income, we can change the interest rate to 0% in a forbearance arrangement.

It uses the PTE SDK in order to be used as a simple dApp.

How we built it

I borrowed pieces from many different example projects available on Radix's Github profile to construct a simple student loan protocol with a basic front end.

The contract was written in Scrypto and the front end uses TypeScript / PTE SDK to call methods on this contract. The Chrome browser extension was also used in this project for testing.

Challenges we ran into

This was my first Scrypto project. I was inspired to learn more after attending the developer event in Austin, TX.

Built With

Share this project:

Updates