KVORUM
compoundSource: Compound governor alpha · #19

Open Price Feed

executedAug 15, 2020, 04:11 PM UTCby810x8169…9806

01Summary

AISummary by Kvorumclaude-haiku-4-5

Proposal to replace Compound's price oracle with the Open Price Feed system (audited by OpenZeppelin), which uses Coinbase Oracle prices validated against Uniswap v2 TWAP (with 20% tolerance) for 12 supported assets. The system is permissionless and allows community-built price posters. Currently in production for several weeks.

Type
protocol addition

Key changes

  • Replace existing price oracle with Open Price Feed contract at 0x9B8Eb8b3d6e2e0Db36F41455185FEF7049a35CaE(high)
  • Implement dual price validation using Coinbase Oracle and Uniswap v2 TWAP with 20% tolerance threshold(high)
  • Enable permissionless price posting through decentralized reporter system(medium)
  • Initially support 12 assets: BAT, WBTC, COMP, DAI, ETH, KNC, LINK, REP, SAI, USDC, USDT, and ZRX(medium)

Notable concerns

  • System requires future governance proposal to add new tokens or reporters
  • Price oracle change is critical infrastructure affecting all collateral calculations and protocol operations
Contracts0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b0x9b8eb8b3d6e2e0db36f41455185fef7049a35cae0xc629c26dced4277419cde234012f8160a0278a79
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

419 words

Open Price Feed

This proposal changes the price oracle in Compound to use the Open Price Feed deployed at 0x9b8eb8b3d6e2e0db36f41455185fef7049a35cae. The Open Price Feed is an open-source project where a set of reporters sign price data which is posted on-chain for use by DeFi protocols. There is no privilege required to post prices, and we encourage the community to build additional posters to keep prices up-to-date. The Compound Protocol will initially use price data from Coinbase (via the Coinbase Oracle) as well as a time-weighted average price from Uniswap's on-chain markets to ensure price integrity.

The Open Price Feed has been audited by Open Zeppelin 1 2. The system initially supports prices for BAT, WBTC, COMP, DAI, ETH, KNC, LINK, REP, SAI, USDC, USDT and ZRX. The system is compatible with support for more tokens and different reporters, both of which would require a new Governance proposal.

The Open Price Feed system was announced almost a year ago. We envisioned the system as an easy way for different projects and exchanges to sign data without the burden of posting that data onto the Ethereum blockchain itself. Instead, the exchanges expose an HTTP endpoint with an Ethereum-signed message containing the price data. The goal is that every exchange can provide such data, which can be used by every DeFi project.

In the current incarnation of the Open Price Feed, it takes the prices from Coinbase's Oracle (which was designed in coordination with the Open Price Feed) and it tests that price against a time-weighted average price (TWAP) from Uniswap v2. If the price for a given asset from Coinbase is within 20% of the Uniswap TWAP for that asset, it is posted and immediately is available for use in the Protocol (e.g. for collateral calculations). The TWAP calculation is based on the Uniswap Oracle concept.

The Open Price Feed has been running in production for several weeks and has been tested on the Ropsten and Kovan test-nets. For comments and discussion, please visit comp.xyz.

References

03Mismatch analysis

AIMismatch analysis by Kvorumclaude-sonnet-5
Consistent

The proposal description states a single, clear intent: switch Compound's price oracle to the Open Price Feed contract at address 0x9b8eb8b3d6e2e0db36f41455185fef7049a35cae. The decoded calldata contains exactly one action, calling _setPriceOracle(address) on what is the Compound Comptroller contract, passing the same address (case differences aside, which is irrelevant for Ethereum addresses) as the new oracle. There is a single action, the target function matches the described intent (setting the price oracle), and the argument address matches the address named in the description precisely. No additional actions, parameter changes, transfers, or role grants are present that go beyond what is described. This is a clean, minimal, and fully consistent match between prose and calldata.

Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Review the decoded actions ↗

04Actions

1 total
#0_setPriceOracle(address)chain 0x1
Target
0x3d98…cd3b
Value
0 wei
Function
_setPriceOracle(address)
Arguments
{
  "0": "0x9B8Eb8b3d6e2e0Db36F41455185FEF7049a35CaE"
}
Calldata

05Tally

Summed from votes

Voters53
VP participating701.6K
Outcome (current)For
Current support100%

06Voters

53 total
Filter:
VoterChoice% of totalRationale
660x6626…c35cFor125.1K17.82%—6y ago
810x8169…9806For101K14.40%—6y ago
540x54a3…e189For100K14.26%—6y ago
7E0x7e4a…19faFor100K14.25%—6y ago
E50xe5a5…beb9For65K9.26%—6y ago
1D0x1d29…5d1fFor50K7.13%—6y ago
870x879d…0f11For25.2K3.59%—6y ago
5D0x5d89…9e68For25K3.56%—6y ago
B00xb032…449bFor20.1K2.87%—6y ago
DAdakeshi.eth0xe3c9…6b21For20K2.85%—6y ago
E50xe5b5…4b03For15K2.14%—6y ago
0A0x0a09…b92eFor15K2.14%—6y ago
CF0xcfae…135aFor10.3K1.47%—6y ago
A80xa8c6…3985For10K1.43%—6y ago
580x582c…d468For9.8K1.39%—6y ago
TEtennisbowling.eth0xc3aa…f546For5K0.71%—6y ago
B80xb8a6…6406For5K0.71%—6y ago
FC0xfc07…4682For118.40.02%—6y ago
2B0x2b38…bf33For11.40.00%—6y ago
C00xc094…e41bFor10.70.00%—6y ago
5B0x5b91…a16fFor40.00%—6y ago
F40xf43d…ca80For3.50.00%—6y ago
C80xc893…0aafFor3.40.00%—6y ago
720x7234…a42aFor1.10.00%—6y ago
420x42d5…82faFor10.00%—6y ago
9B0x9bed…c564For10.00%—6y ago
EE0xee41…fe06For0.80.00%—6y ago
2A0x2a4e…f008For0.30.00%—6y ago
TOtoño.eth0x01a4…8eadFor0.30.00%—6y ago
E00xe095…7452For0.30.00%—6y ago
JTjthrack.eth0x44c6…aabdFor0.30.00%—6y ago
410x4196…bc60For0.10.00%—6y ago
940x9429…6f47For0.10.00%—6y ago
750x7578…b191For0.10.00%—6y ago
070x079f…457eFor0.10.00%—6y ago
790x79fa…03a6For0.10.00%—6y ago
7D0x7de0…a044For0.10.00%—6y ago
840x84e3…5a95For0.10.00%—6y ago
630x63ca…4490For0.10.00%—6y ago
430x43e7…1e84For0.10.00%—6y ago
940x941e…327dFor0.10.00%—6y ago
3A0x3a74…1379For0.10.00%—6y ago
C50xc5b6…a15aFor0.10.00%—6y ago
330x33a1…ba38For00.00%—6y ago
670x6729…73fdFor00.00%—6y ago
AE0xae83…d9deFor00.00%—6y ago
9F0x9f69…f791For00.00%—6y ago
6A0x6ab1…2a52For00.00%—6y ago
E80xe838…b11dFor00.00%—6y ago
DC0xdc66…98c9For00.00%—6y ago
Showing 50

07Forum

AIForum synthesis by Kvorumclaude-sonnet-5
sentiment · mixedthread · constructive

Arguments for

  • The Open Price Feed is an audited, open-source system that lets any party post signed price data without special privilege, cross-checked against a Uniswap TWAP for integrity.— hayesgm

Arguments against

None surfaced.

Unresolved concerns

  • What happens to price availability for collateral calculations when the Coinbase price diverges from the Uniswap TWAP by more than the 20% threshold, since the price simply goes stale rather than resolving.— jthrack, hayesgm
  • During the DAI price spike event, Coinbase reported DAI prices far above the Uniswap TWAP (up to ~$1.30 vs ~$1.00), causing most of the elevated prices to be rejected under the 20% band, raising questions about how the feed performs under stress conditions.— jthrack, MasterofNonce

Notable participants

  • hayesgmProposer who introduced the Open Price Feed proposal and answered technical questions about its price-divergence handling.
  • jthrackRaised questions about how the oracle handles divergence between Coinbase and Uniswap TWAP prices, including during the DAI depeg event.
  • MasterofNonceProvided factual details on how the oracle behaved during the DAI price spike, noting rejected high prices due to the 20% divergence cap.
Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Open the thread ↗