Introduction
Shalom, Chavers. Recently I began working on a - potentially new - concept called “Subleasing”, you can think of it like renting or lending.
The idea came to me while researching web2 names and pricing, I noticed a lot of web2 names were going for 100s or 1000s of dollars per year. I noted the architectural differences between ENS and web2 domain registries/registrars.
Enter Karah
Karah - whose code can be found here - derives its name from the Hebrew word for “barter”. The contract allows a lessor (lender), to put up their ENS name for lease, the Karah contract becomes the functional owner but the lessor can reclaim at any time. The lessor creates a lease struct with a required token and amount per day, a lessee (borrower) can then subscribe to the lease and pay for a certain number of days wherein they may use the name - setting main name content, create subnames and modify their content. The lessee can terminate their lease before it ends and receive a refund for unused days.
Meanwhile, the lessor can reclaim the name at any time and refund the lessee their unused days. The lessor can claim revenue from spent lease days for current and past lease agreements.
Example Usecase
User-A (Abraham) owns tabernacle.eth, he’s not using it but is willing to sell outright for $1000. User-B (Batsheva) wants to create a little website for her Torah study group but can only afford to pay $100 per year. Batsheva notices that Abraham has put the name up for lease for ~$99 a year, she acts quickly and leases the name for (2) years. During which she either changes her mind or circumstances cause her to end her lease. Abraham within that time finds a buyer who agrees to buy the name for full price, thus his profit is $1000 + $130 (subtracting registration fees).
Tests
I have written extensive unit Tests in Remix VM that simulate multiple testers and time skipping in a number of common scenarios. There are yet more tests I would write in the future to properly evaluate fund segregation of different leases.
There are currently no deployments on testnet or mainnet
Conclusion
Often one must embark on spirit quests (side projects) to understand his assignment aright. I have written these contracts because I wanted to be the first - or one of the first - to do it. I’m not sure if anyone has done this before, though I didn’t look too hard as that would dampen my spirit and prevent me from building it. Thanks for reading!