Inspiration

The idea came from projects like Decentraland, where nfts have a utility. In decentraland, virtual land is modelled as nfts. What if you could have a group of people governing the land? For example, the group could decide that only holders of nft shares have access to the land.

What it does

This projects allow you to:

  • Fractionalize nfts. The "shares" can be transferred, sold, bought, etc, like any token.
  • Create proposals that people can vote on if they have a share of the nft.
  • The proposals can include a transaction that is executed by the server account when the proposal passes.

One of the basic things you can do using proposals, is create a proposal that sells the nft and gives the "share-holders" a fraction of the sale price based on the amount of fractions they have.

Currently the application recognizes nfts in the litemint format. Since litemint cannot be used to mint nfts on the testnet, there is a button to mint a demo nft.

Implementation details

Server

The backend was built using nestjs and a simple key value store was used as the database. The server holds the nfts that are fractionalized. It is then responsible for the execution of a proposal transaction when the proposal passes.

Minting shares

When fractionalizing an nft, the nft is sent to a server while you get the shares.

Creating proposals

Proposals consist of the nft which the proposal is for, a textual description of what the proposal does and the xdr which is executed when the prosal is accepted. The proposal is executed by the server account.

Voting proposals

While this is not implemented, the idea is that you would "lock" your shares to be able to vote on a proposal. When a majority of people have voted for a proposal, anyone can execute the proposal, in which case the server will sign and submit the xdr.

Built With

Share this project:

Updates