Your personal Token-Index

Try it out here: https://basketz.texky.com/

More technical overview: https://github.com/WrappedBasketz/WrappedBasketz

Users can create an NFT, called Basket, by transferring ERC20 tokens to contract and minting ERC721 holding balances of ERC20s internally. Only tokens with available Chainlink price feeds are allowed to exist inside of a basket, this is done as a security measure and also as a part of functionality. Contract is deployed on Matic network to allow cheap transactions, especially in the context of OTC trades on-chain.

After minting NFT users have the following options available, all working inside of a contract and resolved fully on-chain.

  1. Unwrap basket back to original ERC20s.
  2. Transfer basket to any other ETH address, after which the new owner has the ability to unwrap NFT or perform any other contract defined operations.
  3. Sell baskets for ETH, utilizing Chainlink price feeds to establish fair pricing. Users can also specify their premium over Chainlink returned price, effectively hedging against the demand for given composition of tokens.
  4. Perform atomic swap, Basket-to-Basket with any other user. There is no 3rd party involvement in a process and all is settled on-chain. This is possible because of built-in HTLC capability.

Contract Diagram

What is this protocol trying to achieve?

We want to allow users to create personal indexes of tokens with sufficient underlying liquidity for easy trading and swapping between. The main benefit for the users is instant entry and exit into multiple tokens inside of a one transaction. This not only saves gas costs but also allows for formation of better trading strategies and arbitrage driven by a demand for more than one tokens (ie. Basket composed only of DEX-related tokens).

What's next?

Given limited time and small team of two people, there are numerous improvements we wanted to introduce which may find its way into final (production) version of a protocol, e.g

  1. Use of TheGraph protocol for handling of events.
  2. Utilizing ERC721 metadata for additional features and financial calculations related to basket composition.
  3. Creation of a more liquid trading system, outside of currently proposed direct bidding.
  4. IPFS hosting for the whole protocol.
  5. Lending & Staking platform against user composed baskets.
  6. Fiat on-ramp to easily buy-in into multiple positions.

Built With

Share this project:

Updates