The Optimistic Oracle from @UMAprotocol provides optimistic settlement of any publicly verifiable data, from crypto prices to @SpaceX launch success rates to the outcome of a @mcuban bet. How could this be used by the emerging crop of investment DAOs? 🧵👇 docs.umaproject.org/getting-starte…
2/ One obvious answer is that you can get a price for anything. Some prices, like BTC basis, ETH VIX, DeFI Pulse TVL, and others require a lot of calculation. UMA excels at delivering complicated or long-tail prices. docs.umaproject.org/uma-tokenholde…
3/ You can stretch that functionality further, though! An investment DAO could have a set of approved trading strategies, and the data request could be a yes-or-no question about whether a proposed trade follows the rules. github.com/UMAprotocol/UM…
4/ The Optimistic Oracle tutorial demonstrates a simple use case that allows you to withdraw a USD-denominated amount of wETH from a contract based on the ETH/USD price. docs.umaproject.org/developers/opt…
5/ This could easily be extended to only allow withdrawals when ETH is above a certain USD price (enforcing a HODL strategy). Could it also enable a user to trade ETH for USDC on @Uniswap if ETH is above a certain price, after checking with the Optimistic Oracle? Yes, absolutely.
6/ Imagine an UMA price identifier called INVESTORDAO that points to a set of DAO-approved investment strategies on GitHub. Each strategy is assigned a name and has a set of inputs that are fed into a function that determines if a trade is valid.
7/ As a simple example, you could have a strategy called ETHPUMP which only allows a trade of ETH for USDC if 1 ETH is worth $10,000 or more.
8/ A DAO member attempts a trade, and the InvestorDAO contract asks the Optimistic Oracle, “Does this trade follow the rules of the ETHPUMP strategy?” The trader proposes an answer of “yes,” and if they are not disputed within the liveness window, the trade can go through.
9/ If ETH is less than $10,000, the trade can be disputed and will fail. The cool thing about this pattern is that the strategy can be arbitrarily complex. An advanced quantitative strategy with dozens of inputs and complex logic works just as well as “is ETH > $10,000.”
10/ Assuming the inputs and calculations can be verified independently, any DAO member—or any random Ethereum address—could optimistically execute trades that follow the DAO’s approved strategies, secured by the full market cap of the UMA protocol, no multi-sig needed.
11/ One pain point is waiting until the end of the liveness period to actually execute the trade, but you could have secure fast execution by having traders post a bond equal to the value of the trade, which is paid to the DAO if the trade didn’t follow an approved strategy.
12/ Assuming the trade was valid, the bond is refunded to the trader after the liveness window, which is usually around two hours. The DAO’s funds are used to execute the trade, and the trader may be offered a reward if the trade is profitable.
13/ InvestorDAO trader rewards could also be verified by the Optimistic Oracle! Take a simplistic reward scheme where a trader can claim 10% of the profit from a trade after thirty days. They can claim a reward from the InvestorDAO contract by passing in the trade’s tx hash.
14/ The InvestorDAO contract then asks the Optimistic Oracle how profitable the trade was, receives an answer, and allows the trader to claim an appropriate reward.
15/ I hope this gets you excited about the power and flexibility of the Optimistic Oracle! I can’t wait to see what other applications people come up with.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with John Shutt

John Shutt Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(