NFT Sensei is an elite toolkit of trading bots, analytics and integrations used to make traders more efficient and profitable by processing vast amounts of on-chain data in realtime and integrating with low-level Ethereum APIs.
Web3, Strategy, Smart Contracts, AWS, Design
Web3, Strategy, Smart Contracts, AWS, Design
The NFT Sensei team are a group of experienced NFT traders who had a vision for a suite of tools that could help anyone make winning plays. Realtime rarity calculation, automated trading, mempool monitoring, OpenSea smart contract integrations and deep analytics for on-chain data were all features that could buy back traders precious minutes to minimise mistake and maximise profits. We helped them design and develop their application on the Ethereum blockchain.
In order to give traders a competitive edge, the Sensei suite needed to integrate deeply with the Ethereum blockchain and OpenSea smart contracts. To gain speed and gas cost advantages, we decided to monitor the mempool directly and use Flashbots to execute transactions. In addition, we used Amazon Web Services to host off-chain components of the application suite that were not critical for decentralisation or security and gave users cost or speed advantages by being off-chain.
Making on-chain data instantly accessible
To offer fast data lookup to our users we first needed to store and index on-chain data so that it could be retrieved quickly and easily. Data had to be fetched from both NFT and marketplace contracts as the sources of truth. We decided to use AWS Lambdas with event-based triggers to do this so we didn't have to manage ongoing costs of an Elastic Compute Cloud (EC2) instance or similar. Our Lambdas fetch data directly from the relevant Ethereum smart contracts and index it for application services to access. User data was stored in Amazon Relational Database Service (RDS) while indexed data was kept in ElastiCache.
Scaling user operations with minimal latency
Speed was critical for our users so the application UI was built with websockets to ensure that all data and updates were shown in real-time. This allows traders to see live updates to market data such as rarity rankings and prices. Many websocket connections to a single server presented a potential risk, so we decided to use Amazon API Gateway to load balance the connections to a fleet of EC2 containers that were managing user operations. The EC2 containers were deployed with Amazon Elastic Container Services (ECS) so that we could easily pre-configure each EC2 instance serving users even as the fleet automatically scaled up or down.