LuksoSwap 🏅

LuksoSwap explores the possibilities opened by Universal Profiles to swap NFTs between users on the Lukso blockchain in a seamless experience.

Challenges

Social & Community

Pool 66,000 LYX

We created a platform for the community where people can exchange their NFTs, an excellent tool to help the ecosystem grow.

Blue Sky

Pool 66,000 LYX

Project details

LuksoSwap is a decentralized application (dApp) built on the Lukso blockchain, featuring robust integration of the UniversalProfile wallet and leveraging the new Lukso Standards Proposal (LSP) standards. The application allows users to seamlessly pick NFTs from their own UniversalProfile, select NFTs from others profiles, and initiate secure and transparent deals. LuksoSwap facilitates user-friendly deal negotiation, ensuring that participants can view and agree upon deal terms, leading to a straightforward deal acceptance process. Powered by Lukso's LSP standards, the smart contracts orchestrate a smooth swap of NFT assets once a deal is accepted. Developed using Next.js for the application, ethers.js for blockchain interaction, and adhering to Lukso's LSP standards with ERC725.js, LuksoSwap offers a decentralized and standardized platform for users engaged in NFT trading on the Lukso blockchain.

At first, the UP connection is made possible with the Web3OnBoard solution that ensure a smooth an easy experience while keeping state of the connected wallet throughout all pages. Right after, the connected user can fetch other UPs on the Lukso Testnet blockchain with the Algolia API that we integrated using the actual API keys of Universal Profile wallet. With a clean and easy searching process, one can then select any account to create a Swap Deal. Once the target user is picked, we fetch the NFTs attached to the UP from the LSP5ReceivedAssets. Using the onchain possibilities of ERC725, we then distinguish LSP7 and LSP8 tokens and fetch the associated LSP4Metadata. We can then use testnet IPFS to display the NFTs images and offer an effortless deal experience to the users. One can select NFTs, move back and forth in the deal creation workflow to edit it and finally create the swap deal. The deal creation process is managed by our custom smart contract, that was made in the most flexible way and deployed with Thirdweb. Finally, the connected user can act and see on his pending and closed deals on a dedicated deals page that fetches the deals from the LuksoSwap smart contract.

In the end, there are endless possibilities that remains to be done on LuksoSwap and that could be implemented after this hackathon:

  • Ability to select several LSP7 tokens

  • Integrate the Figma models made by our UI/UX designer

  • Add $LYX token to the trade

  • Fetch appropriate LSP8 Metadata for a given tokenId (ERC725 isn't working well for that part and we would need to decodeData ourselves)

  • Add an expiring date to the Swap Deal

  • Deploy LuksoSwap on the Lukso Mainnet