We came to the conclusion that a lot of NFT collectors have their favorite specific NFT, either it is in the same collection or from different collections. By the same token, collectors should also watch the listing of their favorite NFT in every marketplace, such a tedious job. Thus, EverSnipe provides an aggregation notification system through all available marketplaces in the NEAR ecosystem which user can watch their favorite NFTs, get listing information at the desired price, and AutoBuy the NFT at their desired price.
What it does
Eversnipe allows users to snipe to NFTs or Collections at the desired price and get notified once the NFT or Collection is listed below the desired price. Users can choose through which the notification will notify, right now we support Email Notifications and Push Notifications.
Eversnipe also allows users to AutoBuy NFTs on their desired listing price. All user has to do is snipe an NFT and deposit their desired price, once the NFT owner list the NFT equal to or below the snipe's desired price, our system will AutoBuy and transfer the NFT into your wallet in a matter of seconds.
How it works
- We use near-lake-framework as an indexer to watch transactions at every marketplace on NEAR
- Our queue will parse the transaction information to match listing information from various marketplaces because every marketplace has different listing methods and message arguments.
- Information that has been parsed will be inserted into our database along with the NFT metadata and its listing price.
- For users that snipe with the alert price that is greater than or equal to the listing price, they will be notified via Email Notification and Push Notification that their sniped NFT is listed under their desired price and we encourage you to check out the NFT as soon as possible before anyone gets it.
- Users that snipe with AutoBuy will be handled independently. They call our smart contract method and have to deposit their NEAR in the amount of the alert price they previously set. If the NFT was listed as less than or equal to their alert price, our backend worker will buy the token from the originated marketplace and send it to the user. If multiple users snipe the same token, the earlier snipe will get executed first.
How we built it
Our system consists of 4 main elements: Frontend, Backend, Indexer, and Smart Contract. Here is the breakdown for each element.
- Frontend: We are using Next.js and Tailwind as a framework to build our front-end website. NEAR Wallet Selector as our wallet connector and authentication system. And we integrate OneSignal library to be able to send push notifications on every device.
- Backend: Uses express.js as the web framework, MongoDB as our database, Redis to cache outbound data, Nodemailer to send emails to users, and AWS as our cloud service.
- Indexer: Our indexer was built using near-lake-framework as the indexer, Redis to insert the block data into the queue, and also express.js as our server.
- Smart Contract: We use near-SDK as our contract's standard. The contract has the functionality to store AutoBuy data, buy NFT from NFT marketplace contracts, and transfer the NFT to the user.
- It is pretty hard to get testnet Smart Contract information of every NFT marketplace in NEAR.
- Different web browser requires different treatment to be able to register push notification into the web service worker.
Accomplishments that we're proud of
- Our AutoBuy magic system works end-to-end in the matter of second
What we've learned
- It was very interesting to implement a new kind of technology such as near-lake-framework indexer as it fastened the process of building the indexer, compare to making it with a Rust near-indexer.
- During this Metabuild, we learned how to integrate Wallet Selector to support other wallets to be able to connect to our app.
- During this Metabuild, Learned how to build NEAR Smart Contract and uses cross contract call to the marketplace contract
What's next for EverSnipe
We would like to bring this project to the community and test it out on a larger scale after this Metabuild. And we also have several technical points for the next development of this project.
- Auto-sell NFTs from our order book.
- Support for chat app notifications e.g. Telegram, Whatsapp, etc.
- Support more marketplace in NEAR
- Snipe an undervalue rare NFT by comparing the price and rarity to other NFTs in the same collection
- Snipe to a Collection by watching the floor price
- Browser extension to do one-click-snipe on the NFT page in every marketplace
- Create our governance token. Holders get a higher chance to get the NFT when AutoBuy snipe has more than one snipe at the same NFT and same alert price.
- Snipe and AutoBuy Fungible Token at a specific price on every DeFi