Positional Protocol
Create NFT bids and listings that update dynamically, relative to the floor price
Problem Statement
Positional is a protocol for creating advanced NFT limit orders, where the price dynamically updates based on the collection floor. So for example, if you own a mid-tier rarity NFT, you could list it for 150% of the floor price, so that it automatically adjusts as the market moves up and down. Or if you wanted to buy into a collection, you could place a collection-wide bid at a 10% discount on the floor, that any owner could accept.
Solution
For floor prices, we use Reservoir (https://reservoirprotocol.github.io/), an NFT aggregator. For relaying data on-chain, we use the TrustUs oracle framework (https://github.com/ZeframLou/trustus). We then wrote a custom NFT exchange contract that allows users to create orders with relative prices (e.g. floor*150%), and then uses the oracle to calculate a final price when filling.The flow goes like this:Alice creates an order, with a price in basis points, relative to the floorShe signs it an submits it to the order bookThe UI displays the current price of the bid or listing, based on the floor priceWhen Bob wants to fill, he requests a signed message from the oracleThe message contains the current floor price, and a deadline when it expiresBob passes a) the order b) the oracle message and c) the fill asset to the exchange contractThe contract verifies everything and executes the swap at the dynamic price
Hackathon
ETHAmsterdam
2024
Contributors
- nachoiacovino
10 contributions
- georgeroman
5 contributions
- ptrwtts
5 contributions