A dynamic NFT whose image gets updated in real time to represent a Supefluid Stream position
Every time a new Superfluid Stream is created, a new NFT is minted. This NFT token can read the real-time data of the Stream and inject it into the NFT metadata to update the image and attributes. The image is an SVG composed of multiple SVG's that include the current balance and the logo of the service receiving the stream. Now users can collect their Superfluid positions directly in their wallet like any other NFT! Furthermore, when the balance goes below a safety threshold, we will notify the user using the EPNS service to avoid any unexpected Stream closure.
We made use of the Superfluid and EPNS SDK's. The NFT token metadata and image are updated dynamically and encoded via base64 URL strings. We have created two new smart contracts, a UI and a notification chron job to tie the system together. EPNS's notification service allows us to inform the user when their submission is at risk of being closed allowing them to top up their balance. We used direct calls to the Superfluids contracts to get around some limitations that existed in the SDK which allowed us to batch the position creation and NFT minting in a single blockchain transaction.