Inspiration

ThetaDrop Rarity began with the development of a rarity site for The Passaways. It was inspired by a rarity website made for the Secret Pineapple Society but was more focused on the user experience. It was intended that it not be a site that people would only visit occasionally to the check the rarity of an NFT, but a site they would use predominantly and only leave to do the actual purchasing. Feedback from members of the Theta community suggests that goal has been achieved.

There was originally no plan to extend that original site, but when the Imaginary Friends Co. launched their NFT collection we approached them about using the same framework for their rarity site and they were more than happy to collaborate. It was around that same time that we learned of the Theta Hackathon and it was then that the decision was made to make a major extension of the site to support as many generative collections as possible, and also offer some advanced features under a premium access model. Not long after making this decision we were contacted by the Mystic Gurus about providing a rarity site for their second drop and so OpenTheta support was added as well.

What it does

ThetaDrop Rarity’s core function is to provide rarity rankings for generative NFT collections in an easy to use interface.

With existing marketplaces, the decision to purchase an NFT is made first by identifying items for sale, then using third-party sites or tools to determine which NFTs might be more rare or valuable, which is a laborious process. And by the time a decision has been made the chosen NFT is likely no longer available.

ThetaDrop Rarity incorporates powerful, high quality tools for searching marketplaces and rarity rankings are an integral part of the information provided. It adds other useful data that can help purchase decisions including a full list of past sales, access to all minted NFTs whether or not they are on sale, all price changes an NFT has undergone, and the ability to save searches and receive alerts (either in real time in the browser, or via email or SMS) when new items matching those searches are found.

Although you cannot buy NFTs through ThetaDrop Rarity, we provide direct links to the buy page on ThetaDrop, and will do so for OpenTheta when they support it. Thus, once you’ve found the perfect NFT for your collection, purchasing it is straightforward. If the browser based alerts feature is used, you’re literally only two clicks and a few seconds away from purchasing any NFT that comes onto the market that matches your requirements.

How we built it

ThetaDrop Rarity is built from four primary components, each of which is made up of numerous smaller parts. Each component has a separate codebase with its own git repository.

The first component is the main website itself that manages user accounts, ThetaPass and email-based logins, deposits and withdrawals, subscriptions and other account related functions. In order to manage wallets and process transactions it is also running a Theta mainnet node with an RPC client.

The second component consists of the collection websites. Each collection is a separate website in its own right, but all use the same codebase with differences encapsulated into configuration files and templates.

The third component consists of the background scripts that keep a collection’s data up-to-date. This includes regularly checking the blockchain for newly minted NFTs, keeping a list of all items that are for sale and items that have been recently sold, and related housekeeping tasks such as calculating statistics and, of course, running the rarity ranking calculations. Each collection has its own set of scripts that are configured to the collection’s unique requirements, though the bulk of the code is shared.

The fourth component also runs in the background and pertains to the alerts feature and ensuring price data is as up-to-date as possible by more frequently checking recent listing changes. This component is also responsible for checking each change against the list of saved searches and raising alerts when new results are found.

APIs are used for communicating between the main website and the collection websites.

When users login or their premium access subscription is updated, the main website sends their details to each of the collection sites, which ensures that as the user navigates from one site to another their session will be recognised. This is important for the “view your own collection” feature (currently available for ThetaPass linked accounts only) and for enabling the premium features.

Email and SMS alerts are all sent from the main server, so whenever a new alert needs to be sent, the collection website sends the details of the alert to the main site which then generates the actual email or SMS alerts.

The websites themselves run on LAMP stacks hosted on AWS EC2 instances.

Challenges we ran into

There have been multiple challenges but the biggest was probably the ThetaPass integration. We were quite early to adopt it, and although the ThetaDrop team has been excellent, we might have been trying to move a bit fast for them at times.

We wanted to use ThetaPass not just to prove ownership, as other sites were doing, but as a full authentication solution, much like the “Login with Facebook” button that has become ubiquitous. Because signed in users are assigned a wallet on the Theta mainnet into which they can deposit and withdraw TFuel, it wasn’t enough to just have client side authentication – we needed to be able to verify credentials from the server and it took several weeks for the details on how to do that with ThetaPass to be made available. This did not leave much time to then implement the rest of the site before the Hackathon deadline! We’ve done it, but it’s been a very busy few weeks.

One of the benefits of the server side authentication is we can do server-side API calls to fetch NFT collections. The client-side library is currently limited to 100 items which is a problem for some of the bigger Passaways whales who hold upwards of 200 and 300 NFTs in their collections. By signing up with ThetaPass on the new ThetaDrop Rarity site we’ve been able to bypass that limitation and show a user’s full collection on the site, regardless of how large it is. This allows them to apply all the built-in filters and sorting facilities to their own collection, a particular important ability when you have several hundred items to sort through!

While the ThetaPass authentication is excellent, with the addition of OpenTheta collections we’ve had to add an email address signup option to support users who want access to the premium features we offer but who don’t have a ThetaDrop account. Adding email account support added a whole slew of other complicating factors including address verification, passwords, forgotten passwords, changing email addresses, etc. Not to mention that some of the functionality, such as the ability to view your own NFT collection on the site, requires ThetaPass.

Another challenge was supporting websites for the multiple generative collections that all have their differences, including differences in how the rarity calculations themselves need to be performed, while maintaining a common codebase. We have achieved that very well, with nearly all the code being generic, and all collection specific information limited to a config file, a few small template files, and a couple of backend classes that encapsulate collection specific logic.

It’s now possible to roll out a website for an entirely new collection about which we have zero prior knowledge in just a couple of hours and with minimal changes to the existing codebase, but it was quite a challenge getting to that point, especially as a couple of the websites were already live while most of this new development was taking place. Despite the extensive changes, those sites have had zero downtime as a result of it.

The fact that the Passaways website was already in existence and on a completely different domain posed another problem, as we couldn’t use a shared session cookie for that site. Signing in with ThetaPass is thus a convoluted process with about 15 distinct steps, including various redirects to and from various sites and several server-to-server API calls in the background to support the sign-in process. The user experience, however, is very smooth – they would have little idea about the amount of work going on in the background!

Yet another challenge is providing up-to-date information. We wanted this to be a site that users will go to first when searching for an NFT, so it needed to have fully up-to-date information. With so much data available, and it’s increasing as more collections come on line, keeping it up-to-date is a challenge and one that is only going to get more difficult in the future.

Accomplishments that we're proud of

Other than successfully developing the site we set out to, the biggest accomplishment is all the amazing feedback we’ve received from users of the site, and knowing that our hard work has made their NFT buying decisions easier, more enjoyable, and hopefully more profitable. Ultimately, customer satisfaction is the main thing that matters, and the fact that we have achieved that is something we’re extremely proud of. We’ll let a few of our site users tell you in their own words:

“Visit rarity website. It’s so much better” “This rarity site is really cool wow, links you directly to tdrop sale” “You have added unbelievable amount of value for all of us!” “Love it. Appreciate your work” “Dude, you’re a legend. I don’t think I have ever seen the sheer number of features you’ve added to a website.” “We appreciate you!” “Passawaysrarity.com is the best” “Rarity site is getting better everyday. Good work” “This looks sleek af” “I don’t even open thetadrop for Passaways. Your website is the default, and far better UI” “A huge thank you for our amazing rarity site!” “Great job with the site” “Your Rarity site is so important for me, because I don’t have to search through 300 nft’s. I click in your site and voila can directly put in for sale” “WOW dude” “Love the rarity site! Fantastic job” “Off to check the rarity site to see what’s popping right now”

We’re also very proud of the ThetaPass integration, and the fact that users can sign up to the site with ThetaPass and pay for premium access using TFuel. As we were building a solution for NFTs on the Theta blockchain it just made sense to build as much of the rest of the functionality around Theta as well. It wouldn’t have felt right if people were given the option of signing up using their Facebook or Google account and paying with a credit card or PayPal, when it is problems with those types of centralized services that decentralized networks are trying to solve! We accept that we may reduce our premium user base a little by only providing a TFuel payment option, but we think it’s a step in the right direction towards global adoption.

What we learned

Every step on this journey has been a learning experience. With over 20 years of web development experience already it has been a real treat to be able put all of that to work to build these sites, while at the same time learning about the exciting new world of blockchain and NFTs in general and the Theta network specifically. We’ve learned how to set up a Theta node and how to interact with it, how to extract data from blockchain transactions, how to read smart contract code, and a good deal about the internal workings of the ThetaDrop and OpenTheta NFT marketplaces. We’ve learned about Discord and how to set up servers and bots, and a host of other small things along the way. But most importantly we’ve learned what a great and supportive community we’re a part of and are thankful for the amazing welcome we’ve received.

What's next for ThetaDrop Rarity

We have many more things planned for the platform. We’ll be continuing to add new generative NFT drops and hopefully working more closely with both the ThetaDrop and OpenTheta development teams to facilitate data exchange between the platforms. We will be supporting our existing users as well with feature requests and additions. We are already in discussion with the teams behind the Passaways, Cyko Headz and the Mystic Gurus about adding additional features for their collections and/or sites, and this is just the beginning. We hope to establish closer relationships and substantial collaborations with many of the generative NFT projects on the Theta network, and with the marketplace platforms that enable them.

We also have many new features planned, including play to earn games featuring your NFTs, which will exploit your NFTs rarity ranking in the game, and AI based price models to help you set a price for your NFT (if you’re selling) or locate better valued NFTs (if you’re buying).

We’ll also continue to be actively involved in the Theta community and listen closely to what users want in order to give them the best possible experience, today and into the future.

Built With

+ 36 more
Share this project:

Updates