Part of “Welcome to Troop!”
Troop, at its core, is pretty simple. Each hunt is a standalone smart contract that tracks user contributions. Once the necessary funds have been raised, a transaction is required to swap the funds for the NFT (the "Complete Purchase" step). Any user can call into the contract to access the combined contributions, but the transaction is only valid if, by the end, the smart contract is the owner of the target NFT. We've written a smart contract helper for OpenSea and a helper for the seller to manually redeem the NFT. In the future, we plan to support every prominent on-chain marketplace.
Once the smart contract has acquired the NFT, we use the Fractional protocol to deposit the NFT in a token vault. For every 1 ETH spent to acquire the NFT, we issue 1000 tokens. Tokens are made available proportional to the amount of the acquisition funds you contributed. For example, if you contributed 0.25 ETH to a hunt and the entire amount was used to acquire the NFT, you'll be able to claim 250 tokens. Because the NFT can drop in price during the hunt, it's possible that the amount spent to acquire the NFT was less than the amount raised by the hunt. In that case, the earliest contributors will be awarded tokens, and those who contributed above the acquisition price will receive partially tokens and partially ETH (if some of the contribution was used) or a refund of their entire ETH contribution (if none was used). Fractional owners can vote on a buyout price and use their tokens across the defi ecosystem. To learn more about the Fractional protocol, please visit their documentation.
Every hunt has a contribution cap, currently set at the original listing price. Without a cap, the seller of the NFT would be incentivized to contribute to the hunt while increasing the price of the NFT. Allowing this would dilute other contributors. Because each hunt can acquire the NFT at the original listing price or below, early contributors are guaranteed that they won't be diluted down in ownership.
If two or more contributors add funds at the same time or if the last contributor adds more than necessary, it's possible for the hunt's balance to exceed the contribution cap. Funds that exceed the cap cannot be used to acquire the NFT and will be available to be reclaimed by the original contributor once the NFT has been acquired or the hunt has expired.
Every hunt has an expiry date, after which anyone who contributed to the hunt can reclaim their entire contribution if the NFT has yet to be acquired. This means you can contribute to large hunts without worrying how long your funds may be locked in the hunt. In the cases where the hunt expires, no token is issued and the contributions can no longer be redeemed for the NFT.
Troop is a beta product and hasn't yet been officially audited. No warranty is provided and you’re using Troop at your own risk. Balancing security with resilience, we've added three methods to the contract during the beta period that allow our multisig to perform admin actions on the contract. With these methods, our multisig can immediately expire any hunt, issue arbitrary calls, and rescue the balance of the smart contract.
Use of these methods will be limited to extraordinary circumstances like if a bug or unforeseen issue leaves ETH, tokens, or an NFT at risk of loss. We will make all efforts to ensure that the funds are returned to their rightful owners.
Our multisig is two-of-three, with the three addresses belonging to hardware wallets owned by Michael Douglas, Bruno De Martino, and Gabriel Bianconi.
Our current plan is to remove these methods after the beta period, in the next upgrade to the protocol.